58 bool addSelfyTerminalVerts =
false );
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:80
MR_BIND_IGNORE auto end(const BitSet &)
Definition MRMesh/MRBitSet.h:310
MR_BIND_IGNORE MRMESH_API Expected< OneMeshContour > convertMeshTriPointsToMeshContour(const Mesh &mesh, const std::vector< MeshTriPoint > &surfaceLine, MeshTriPointsConnector connectorFn, std::vector< int > *pivotIndices=nullptr)
Makes continuous contour by mesh tri points, if first and last meshTriPoint is the same,...
MRMESH_API OneMeshContour convertSurfacePathWithEndsToMeshContour(const Mesh &mesh, const MeshTriPoint &start, const SurfacePath &surfacePath, const MeshTriPoint &end)
Converts SurfacePath to OneMeshContours.
MRMESH_API Expected< OneMeshContour > convertMeshTriPointsToClosedContour(const Mesh &mesh, const std::vector< MeshTriPoint > &surfaceLine, SearchPathSettings searchSettings={}, std::vector< int > *pivotIndices=nullptr)
Makes closed continuous contour by mesh tri points, note that first and last meshTriPoint should not ...
MRMESH_API OneMeshContours convertSurfacePathsToMeshContours(const Mesh &mesh, const std::vector< SurfacePath > &surfacePaths)
Converts SurfacePaths to OneMeshContours.
std::vector< OneMeshContour > OneMeshContours
Special data type for MR::cutMesh.
Definition MRMesh/MRIntersectionContour.h:10
Definition MRCameraOrientationPlugin.h:8
GeodesicPathApprox
the algorithm to compute approximately geodesic path
Definition MREnums.h:76
@ DijkstraAStar
compute edge-only path using A*-search algorithm
std::function< Expected< SurfacePath >(const MeshTriPoint &start, const MeshTriPoint &end, int startIndex, int endIndex)> MeshTriPointsConnector
Definition MROneMeshContours.h:70
MRMESH_API void subdivideLoneContours(Mesh &mesh, const OneMeshContours &contours, FaceHashMap *new2oldMap=nullptr)
MRMESH_API Contours3f extractMeshContours(const OneMeshContours &meshContours)
Contours3< float > Contours3f
Definition MRMesh/MRMeshFwd.h:383
tl::expected< T, E > Expected
Definition MRExpected.h:25
std::vector< MeshEdgePoint > SurfacePath
Definition MRMesh/MRMeshFwd.h:474
HashMap< FaceId, FaceId > FaceHashMap
Definition MRMesh/MRMeshFwd.h:596
std::vector< ContinuousContour > ContinuousContours
Definition MRMesh/MRIntersectionContour.h:13
std::function< Vector3i(const Vector3f &)> ConvertToIntVector
float-to-int coordinate converter
Definition MRMesh/MRPrecisePredicates3.h:53
std::array< Vector3f, 3 > MR_BIND_IGNORE
Definition MRMeshBuilderTypes.h:10
MRMESH_API void getOneMeshIntersectionContours(const Mesh &meshA, const Mesh &meshB, const ContinuousContours &contours, OneMeshContours *outA, OneMeshContours *outB, const CoordinateConverters &converters, const AffineXf3f *rigidB2A=nullptr, Contours3f *outPtsA=nullptr, bool addSelfyTerminalVerts=false)
if true, then open self-intersection contours will be prolonged to terminal vertices
MRMESH_API OneMeshContours getOneMeshSelfIntersectionContours(const Mesh &mesh, const ContinuousContours &contours, const CoordinateConverters &converters, const AffineXf3f *rigidB2A=nullptr)
this struct contains coordinate converters float-int-float
Definition MRMesh/MRPrecisePredicates3.h:58
Definition MRMesh/MRMeshTriPoint.h:23
Definition MRMesh/MRMesh.h:23
Definition MROneMeshContours.h:33
std::vector< OneMeshIntersection > intersections
Definition MROneMeshContours.h:34
bool closed
Definition MROneMeshContours.h:35
Definition MROneMeshContours.h:25
std::variant< FaceId, EdgeId, VertId > primitiveId
Definition MROneMeshContours.h:26
Vector3f coordinate
Definition MROneMeshContours.h:28
Geo path search settings.
Definition MROneMeshContours.h:84
GeodesicPathApprox geodesicPathApprox
the algorithm to compute approximately geodesic path
Definition MROneMeshContours.h:85
int maxReduceIters
the maximum number of iterations to reduce approximate path length and convert it in geodesic path
Definition MROneMeshContours.h:86
Definition MROneMeshContours.h:14
const AffineXf3f * rigidB2A
Definition MROneMeshContours.h:18
const ContinuousContours & contours
Definition MROneMeshContours.h:16
ConvertToIntVector converter
Definition MROneMeshContours.h:17
size_t meshAVertsNum
Definition MROneMeshContours.h:19
bool isOtherA
Definition MROneMeshContours.h:20
const Mesh & otherMesh
Definition MROneMeshContours.h:15