52 std::vector<VertDuplication>* dups =
nullptr, VertId lastValidVert = {} );
59 std::vector<VertDuplication> * dups =
nullptr,
78 const Triangulation & t, VertId maxVertId,
79 const std::vector<MeshPiece> & pieces,
90 FaceBitSet * createdFaces =
nullptr );
123 VertMap * optionalVertOldToNew =
nullptr );
#define MRMESH_API
Definition MRMeshFwd.h:82
Definition MRMeshTopology.h:30
std::vector<T>-like container that requires specific indexing type,
Definition MRVector.h:23
std::function< bool(float)> ProgressCallback
Definition MRMeshFwd.h:751
VertMap vmap
vert of part -> vert of whole mesh
Definition MRMeshBuilder.h:70
std::vector< MeshBuilder::VertDuplication > * optionalDuplications
Definition MRMeshBuilder.h:114
bool uniteOnlyBd
if true, only vertices from this region can be affected
Definition MRMeshBuilder.h:102
Mesh fromPointTriples(const std::vector< Triangle3f > &posTriples)
VertId dupVert
new vertex after duplication
Definition MRMeshBuilder.h:45
MeshTopology fromTriangles(const Triangulation &t, const BuildSettings &settings={}, ProgressCallback progressCb={})
VertBitSet * region
if true - try to duplicates non-manifold vertices instead of removing faces
Definition MRMeshBuilder.h:105
MeshTopology fromDisjointMeshPieces(const Triangulation &t, VertId maxVertId, const std::vector< MeshPiece > &pieces, const BuildSettings &settings={})
VertMap * optionalVertOldToNew
this can be used to map attributes to duplicated vertices
Definition MRMeshBuilder.h:111
bool duplicateNonManifold
is the mapping of vertices: before -> after
Definition MRMeshBuilder.h:108
float closeDist
< vertices located closer to each other than
Definition MRMeshBuilder.h:99
MeshTopology topology
Definition MRMeshBuilder.h:71
FaceMap fmap
face of part -> face of whole mesh
Definition MRMeshBuilder.h:69
size_t addTriangles(MeshTopology &res, const Triangulation &t, const BuildSettings &settings={})
MeshTopology fromFaceSoup(const std::vector< VertId > &verts, const Vector< VertSpan, FaceId > &faces, const BuildSettings &settings={}, ProgressCallback progressCb={})
construct mesh topology from face soup, where each face can have arbitrary degree (not only triangles...
MeshTopology fromTrianglesDuplicatingNonManifoldVertices(Triangulation &t, std::vector< VertDuplication > *dups=nullptr, const BuildSettings &settings={})
size_t duplicateNonManifoldVertices(Triangulation &t, FaceBitSet *region=nullptr, std::vector< VertDuplication > *dups=nullptr, VertId lastValidVert={})
FaceBitSet rem
remaining triangles of part, not in topology
Definition MRMeshBuilder.h:72
VertId srcVert
original vertex before duplication
Definition MRMeshBuilder.h:44
int uniteCloseVertices(Mesh &mesh, float closeDist, bool uniteOnlyBd=true, VertMap *optionalVertOldToNew=nullptr)
Building topologies by triangles.
Definition MRIdentifyVertices.h:16
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRMeshBuilderTypes.h:33
a part of a whole mesh to be constructed
Definition MRMeshBuilder.h:68
Definition MRMeshBuilder.h:97
Definition MRMeshBuilder.h:43