20using HoleVertIds = std::vector<VertId>;
21using HolesVertIds = std::vector<HoleVertIds>;
42 bool isIntersection()
const {
return lDest.valid(); }
45using ContourIdMap = std::vector<IntersectionInfo>;
46using ContoursIdMap = std::vector<ContourIdMap>;
49struct IntersectionsMap
57struct BaseOutlineParameters
60 WindingMode innerType{ WindingMode::Negative };
68struct OutlineParameters
70 ContoursIdMap* indicesMap{
nullptr };
71 BaseOutlineParameters baseParams;
#define MRMESH_API
Definition MRMeshFwd.h:80
Definition MRMesh/MRMeshTopology.h:19
Definition MRMesh/MRMesh.h:23
Definition MR2DContoursTriangulation.h:58
new unsafe ref bool allowMerge
Definition MR2DContoursTriangulation.h:28
new unsafe ref MR.VertId uDest
new unsafe ref MR.VertId uOrg
new unsafe ref MR.VertId lDest
new unsafe ref MR.VertId lOrg
Definition MR2DContoursTriangulation.h:50
new unsafe MR.Std.Vector_MRPlanarTriangulationIntersectionInfo map
new unsafe ref ulong shift
Definition MR2DContoursTriangulation.h:69
MRMESH_API Contours2f getOutline(const Contours2f &contours, const OutlineParameters ¶ms={})
returns Contour representing outline if input contours
MRMESH_API std::optional< Mesh > triangulateDisjointContours(const Contours2d &contours, const HolesVertIds *holeVertsIds=nullptr, std::vector< EdgePath > *outBoundaries=nullptr)
triangulate 2d contours only closed contours are allowed (first point of each contour should be the s...
MRMESH_API HolesVertIds findHoleVertIdsByHoleEdges(const MeshTopology &tp, const std::vector< EdgePath > &holePaths)
return vertices of holes that correspond internal contours representation of PlanarTriangulation
MRMESH_API Mesh triangulateContours(const Contours2d &contours, const HolesVertIds *holeVertsIds=nullptr)
triangulate 2d contours only closed contours are allowed (first point of each contour should be the s...
MRMESH_API Mesh getOutlineMesh(const Contours2f &contours, IntersectionsMap *interMap=nullptr, const BaseOutlineParameters ¶ms={})
Definition MRCameraOrientationPlugin.h:8