MeshLib C++ Docs
Loading...
Searching...
No Matches
MRMesh/MRIntersectionContour.h
Go to the documentation of this file.
1#pragma once
2
4#include "MRPch/MRBindingMacros.h"
5
6namespace MR
7{
8
9struct OneMeshContour;
10using OneMeshContours = std::vector<OneMeshContour>;
11
12using ContinuousContour = std::vector<VarEdgeTri>;
13using ContinuousContours = std::vector<ContinuousContour>;
14
29
46MRMESH_API ContinuousContours orderSelfIntersectionContours( const MeshTopology& topology, const std::vector<EdgeTri>& intersections );
47
49[[deprecated( "Use getOneMeshIntersectionContours")]] MRMESH_API MR_BIND_IGNORE Contours3f extractIntersectionContours( const Mesh& meshA, const Mesh& meshB, const ContinuousContours& orientedContours,
50const CoordinateConverters& converters, const AffineXf3f* rigidB2A = nullptr );
51
53MRMESH_API bool isClosed( const ContinuousContour& contour );
54
58MRMESH_API std::vector<int> detectLoneContours( const ContinuousContours& contours, bool ignoreOpen = false );
59
65 OneMeshContours& faceContours, OneMeshContours& edgeContours );
66
69MRMESH_API void removeLoneContours( ContinuousContours& contours, bool ignoreOpen = false );
70
71}
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:80
Definition MRMesh/MRMeshTopology.h:19
std::vector< VarEdgeTri > PreciseCollisionResult
Definition MRMesh/MRMeshCollidePrecise.h:64
std::vector< OneMeshContour > OneMeshContours
Special data type for MR::cutMesh.
Definition MRMesh/MRIntersectionContour.h:10
Definition MRCameraOrientationPlugin.h:8
MRMESH_API void removeLoneContours(ContinuousContours &contours, bool ignoreOpen=false)
MRMESH_API std::vector< int > detectLoneContours(const ContinuousContours &contours, bool ignoreOpen=false)
MRMESH_API bool isClosed(const ContinuousContour &contour)
returns true if contour is closed
Contours3< float > Contours3f
Definition MRMesh/MRMeshFwd.h:383
std::vector< VarEdgeTri > ContinuousContour
Definition MRMesh/MRIntersectionContour.h:12
MRMESH_API ContinuousContours orderSelfIntersectionContours(const MeshTopology &topology, const std::vector< EdgeTri > &intersections)
MRMESH_API ContinuousContours orderIntersectionContours(const MeshTopology &topologyA, const MeshTopology &topologyB, const PreciseCollisionResult &intersections)
std::vector< ContinuousContour > ContinuousContours
Definition MRMesh/MRIntersectionContour.h:13
std::array< Vector3f, 3 > MR_BIND_IGNORE
Definition MRMeshBuilderTypes.h:10
MRMESH_API MR_BIND_IGNORE Contours3f extractIntersectionContours(const Mesh &meshA, const Mesh &meshB, const ContinuousContours &orientedContours, const CoordinateConverters &converters, const AffineXf3f *rigidB2A=nullptr)
extracts coordinates from two meshes intersection contours
MRMESH_API void removeLoneDegeneratedContours(const MeshTopology &edgesTopology, OneMeshContours &faceContours, OneMeshContours &edgeContours)
this struct contains coordinate converters float-int-float
Definition MRMesh/MRPrecisePredicates3.h:58
Definition MRMesh/MRMesh.h:23