18 bool operator() (
const Vector3f & a,
const Vector3f & b )
const
20 static_assert(
sizeof( Vector3f ) == 12 );
22 std::memcpy( ax, &a, 12 );
23 std::memcpy( bx, &b, 12 );
24 return std::memcmp( ax, bx, 12 ) == 0;
40 size_t numTris()
const {
return t_.size(); }
47 using VertInHMap = std::array<VertId*, 3>;
48 std::vector<VertInHMap> vertsInHMap_;
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:46
Definition MRIdentifyVertices.h:33
MRMESH_API void addTriangles(const std::vector< Triangle3f > &buffer)
identifies vertices from a chunk of triangles
Triangulation takeTriangulation()
obtains triangulation with vertex ids
Definition MRIdentifyVertices.h:42
VertCoords takePoints()
obtains coordinates of unique points in the order of vertex ids
Definition MRIdentifyVertices.h:44
MRMESH_API void reserve(size_t numTris)
prepare identification of vertices from given this number of triangles
size_t numTris() const
returns the number of triangles added so far
Definition MRIdentifyVertices.h:40
Definition MRCameraOrientationPlugin.h:8
phmap::parallel_flat_hash_map< K, V, Hash, Eq > ParallelHashMap
Definition MRMesh/MRMeshFwd.h:462
this makes bit-wise comparison of two Vector3f's thus making two NaNs equal
Definition MRIdentifyVertices.h:17
bool operator()(const Vector3f &a, const Vector3f &b) const
Definition MRIdentifyVertices.h:18