MeshLib C++ Docs
Loading...
Searching...
No Matches
MR2DContoursTriangulation.h File Reference
#include "MRMeshFwd.h"
#include "MRId.h"
#include "MRHoleFillPlan.h"
#include <memory>
#include <optional>

Go to the source code of this file.

Classes

struct  MR::PlanarTriangulation::IntersectionInfo
 Info about intersection point for mapping. More...
struct  MR::PlanarTriangulation::IntersectionsMap
 struct to map new vertices (only appear on intersections) of the outline to it's edges More...
struct  MR::PlanarTriangulation::BaseOutlineParameters
struct  MR::PlanarTriangulation::OutlineParameters
struct  MR::PlanarTriangulation::TriangulationParameters
class  MR::PlanarTriangulation::ISweepLineCache

Namespaces

namespace  MR
 only for bindings generation
namespace  MR::PlanarTriangulation

Typedefs

using MR::PlanarTriangulation::ContourIdMap = std::vector<IntersectionInfo>
using MR::PlanarTriangulation::ContoursIdMap = std::vector<ContourIdMap>

Enumerations

enum class  MR::PlanarTriangulation::WindingMode { MR::PlanarTriangulation::WindingMode::NonZero , MR::PlanarTriangulation::WindingMode::Positive , MR::PlanarTriangulation::WindingMode::Negative }
 Specify mode of detecting inside and outside parts of triangulation. More...

Functions

Mesh MR::PlanarTriangulation::getOutlineMesh (const Contours2f &contours, IntersectionsMap *interMap=nullptr, const BaseOutlineParameters &params={})
Mesh MR::PlanarTriangulation::getOutlineMesh (const Contours2d &contours, IntersectionsMap *interMap=nullptr, const BaseOutlineParameters &params={})
Contours2f MR::PlanarTriangulation::getOutline (const Contours2f &contours, const OutlineParameters &params={})
 returns Contour representing outline if input contours
Contours2f MR::PlanarTriangulation::getOutline (const Contours2d &contours, const OutlineParameters &params={})
Mesh MR::PlanarTriangulation::triangulateContours (const Contours2d &contours, const TriangulationParameters &params={})
 triangulate 2d contours only closed contours are allowed (first point of each contour should be the same as last point of the contour)
Mesh MR::PlanarTriangulation::triangulateContours (const Contours2f &contours, const TriangulationParameters &params={})
std::unique_ptr< ISweepLineCacheMR::PlanarTriangulation::makeSweepLineCache ()
 creates a cache for the sweep-line triangulation
std::optional< MeshMR::PlanarTriangulation::triangulateDisjointContours (const Contours2d &contours, ISweepLineCache *cache=nullptr)
 triangulate 2d contours only closed contours are allowed (first point of each contour should be the same as last point of the contour)
std::optional< MeshMR::PlanarTriangulation::triangulateDisjointContours (const Contours2f &contours, ISweepLineCache *cache=nullptr)
std::optional< MeshMR::PlanarTriangulation::triangulateDisjointContours (const Mesh &mesh, const EdgeLoops &loops, const Vector3f &normal, WholeEdgeMap *outPatchMap=nullptr, ISweepLineCache *cache=nullptr)
 triangulate hole boundary loops of mesh in the mesh's own 3d space, orienting faces around normal combinatorics run on the dominant-axis projection of normal; output vertices keep the exact mesh coordinates (no projection round-trip), and loops sharing a mesh vertex are merged by identity.
MR_BIND_IGNORE MeshTopologyMR::PlanarTriangulation::triangulateDisjointContoursTopology (const Mesh &mesh, const EdgeLoops &loops, const Vector3f &normal, WholeEdgeMap &outPatchMap, ISweepLineCache &cache)
std::optional< HoleFillPlanMR::PlanarTriangulation::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 the sweep-line triangulation stopped right after monotonation