#define MRMESH_API
Definition MRMeshFwd.h:85
Definition MRMeshTopology.h:30
Definition MR2DContoursTriangulation.h:102
std::vector<T>-like container that requires specific indexing type,
Definition MRVector.h:23
std::vector< IntersectionInfo > ContourIdMap
Definition MR2DContoursTriangulation.h:44
Mesh triangulateContours(const Contours2d &contours, const TriangulationParameters ¶ms={})
triangulate 2d contours only closed contours are allowed (first point of each contour should be the s...
std::vector< EdgeLoop > EdgeLoops
Definition MRMeshFwd.h:157
VertId lDest
Definition MR2DContoursTriangulation.h:30
std::vector< ContourIdMap > ContoursIdMap
Definition MR2DContoursTriangulation.h:45
ContourIdMap map
map[id-shift] = {lower intersection edge, upper intersection edge}
Definition MR2DContoursTriangulation.h:53
MR_BIND_IGNORE MeshTopology * triangulateDisjointContoursTopology(const Mesh &mesh, const EdgeLoops &loops, const Vector3f &normal, WholeEdgeMap &outPatchMap, ISweepLineCache &cache)
VertId lOrg
Definition MR2DContoursTriangulation.h:30
VertId uDest
Definition MR2DContoursTriangulation.h:32
bool isIntersection() const
Definition MR2DContoursTriangulation.h:41
WindingMode
Specify mode of detecting inside and outside parts of triangulation.
Definition MR2DContoursTriangulation.h:19
float uRatio
Definition MR2DContoursTriangulation.h:40
Contours2< double > Contours2d
Definition MRMeshFwd.h:385
BaseOutlineParameters baseParams
Definition MR2DContoursTriangulation.h:70
Contours2f getOutline(const Contours2f &contours, const OutlineParameters ¶ms={})
returns Contour representing outline if input contours
Mesh getOutlineMesh(const Contours2f &contours, IntersectionsMap *interMap=nullptr, const BaseOutlineParameters ¶ms={})
std::unique_ptr< ISweepLineCache > makeSweepLineCache()
creates a cache for the sweep-line triangulation
std::optional< HoleFillPlan > getMonotonePlan(const Mesh &mesh, const EdgeLoops &loops, const Vector3f &normal)
splits the near-planar region bounded by loops in monotone parts, without triangulating them this is ...
bool allowMerge
allow to merge vertices with same coordinates
Definition MR2DContoursTriangulation.h:58
float lRatio
Definition MR2DContoursTriangulation.h:37
virtual ~ISweepLineCache()=0
pure to make the class abstract: instances are created by makeSweepLineCache() only
ISweepLineCache(const ISweepLineCache &)=delete
Contours2< float > Contours2f
Definition MRMeshFwd.h:386
Vector< int, FaceId > * outFaceWinding
Definition MR2DContoursTriangulation.h:81
VertId uOrg
ids of upper intersection edge vertices
Definition MR2DContoursTriangulation.h:32
ISweepLineCache & operator=(const ISweepLineCache &)=delete
WindingMode innerType
what to mark as inner part
Definition MR2DContoursTriangulation.h:59
size_t shift
shift of index
Definition MR2DContoursTriangulation.h:51
ISweepLineCache()=default
std::array< Vector3f, 3 > MR_BIND_IGNORE
Definition MRMeshBuilderTypes.h:13
ContoursIdMap * indicesMap
optional output from result contour ids to input ones
Definition MR2DContoursTriangulation.h:69
IntersectionsMap * outInterMap
Definition MR2DContoursTriangulation.h:85
Vector3f normal(const MeshTopology &topology, const VertCoords &points, FaceId f)
computes triangular face normal from its vertices
Definition MRMeshMath.h:224
std::optional< Mesh > triangulateDisjointContours(const Contours2d &contours, ISweepLineCache *cache=nullptr)
triangulate 2d contours only closed contours are allowed (first point of each contour should be the s...
@ Positive
Definition MR2DContoursTriangulation.h:21
@ NonZero
Definition MR2DContoursTriangulation.h:20
@ Negative
Definition MR2DContoursTriangulation.h:22
Definition MR2DContoursTriangulation.h:15
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MR2DContoursTriangulation.h:57
Info about intersection point for mapping.
Definition MR2DContoursTriangulation.h:27
struct to map new vertices (only appear on intersections) of the outline to it's edges
Definition MR2DContoursTriangulation.h:49
Definition MR2DContoursTriangulation.h:68
Definition MR2DContoursTriangulation.h:78