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;
41 MRMESH_API
void addTriangles(
const std::vector<Triangle3f> & buffer );
43 size_t numTris()
const {
return t_.size(); }
50 using VertInHMap = std::array<VertId*, 3>;
51 std::vector<VertInHMap> vertsInHMap_;
52 using HMap = ParallelHashMap<Vector3f, VertId, phmap::priv::hash_default_hash<Vector3f>,
equalVector3f>;
Definition MRIdentifyVertices.h:36
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:45
bool operator()(const Vector3f &a, const Vector3f &b) const
Definition MRIdentifyVertices.h:21
VertCoords takePoints()
obtains coordinates of unique points in the order of vertex ids
Definition MRIdentifyVertices.h:47
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:43
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