21 bool operator() (
const Vector3f & a,
const Vector3f & b )
const
23 static_assert(
sizeof( Vector3f ) == 12 );
25 std::memcpy( ax, &a, 12 );
26 std::memcpy( bx, &b, 12 );
27 return std::memcmp( ax, bx, 12 ) == 0;
43 size_t numTris()
const {
return t_.size(); }
50 using VertInHMap = std::array<VertId*, 3>;
51 std::vector<VertInHMap> vertsInHMap_;
#define MRMESH_API
Definition MRMeshFwd.h:80
Definition MRIdentifyVertices.h:36
phmap::parallel_flat_hash_map< K, V, Hash, Eq > ParallelHashMap
Definition MRMeshFwd.h:608
void addTriangles(const std::vector< Triangle3f > &buffer)
identifies vertices from a chunk of triangles
Triangulation takeTriangulation()
obtains triangulation with vertex ids
Definition MRIdentifyVertices.h:45
bool operator()(const Vector3f &a, const Vector3f &b) const
Definition MRIdentifyVertices.h:21
void reserve(size_t numTris)
prepare identification of vertices from given this number of triangles
VertCoords takePoints()
obtains coordinates of unique points in the order of vertex ids
Definition MRIdentifyVertices.h:47
size_t numTris() const
returns the number of triangles added so far
Definition MRIdentifyVertices.h:43
Building topologies by triangles.
Definition MRIdentifyVertices.h:16
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
this makes bit-wise comparison of two Vector3f's thus making two NaNs equal
Definition MRIdentifyVertices.h:20