MeshLib C++ Docs
Loading...
Searching...
No Matches
MRMesh/MRIntersectionContour.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace MR
6{
7
8struct OneMeshContour;
9using OneMeshContours = std::vector<OneMeshContour>;
10
12{
13 bool isEdgeATriB{false};
14 bool operator==( const VariableEdgeTri& ) const = default;
15};
16
17using ContinuousContour = std::vector<VariableEdgeTri>;
18using ContinuousContours = std::vector<ContinuousContour>;
19
25
27MRMESH_API Contours3f extractIntersectionContours( const Mesh& meshA, const Mesh& meshB, const ContinuousContours& orientedContours,
28const CoordinateConverters& converters, const AffineXf3f* rigidB2A = nullptr );
29
32MRMESH_API std::vector<int> detectLoneContours( const ContinuousContours& contours );
33
39 OneMeshContours& faceContours, OneMeshContours& edgeContours );
40
43
44}
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:68
Definition MRMesh/MRMeshTopology.h:18
std::vector< OneMeshContour > OneMeshContours
Special data type for MR::cutMesh.
Definition MRMesh/MRContoursCut.h:48
std::vector< VariableEdgeTri > ContinuousContour
Definition MRMesh/MRIntersectionContour.h:17
MRMESH_API std::vector< int > detectLoneContours(const ContinuousContours &contours)
MRMESH_API 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 removeLoneContours(ContinuousContours &contours)
Removes contours that fully lay inside one triangle from the contours.
MRMESH_API ContinuousContours orderIntersectionContours(const MeshTopology &topologyA, const MeshTopology &topologyB, const PreciseCollisionResult &intersections)
std::vector< ContinuousContour > ContinuousContours
Definition MRMesh/MRIntersectionContour.h:18
Contours3< float > Contours3f
Definition MRMesh/MRMeshFwd.h:307
MRMESH_API void removeLoneDegeneratedContours(const MeshTopology &edgesTopology, OneMeshContours &faceContours, OneMeshContours &edgeContours)
this struct contains coordinate converters float-int-float
Definition MRMesh/MRPrecisePredicates3.h:52
edge from one mesh and triangle from another mesh
Definition MRMesh/MRMeshCollidePrecise.h:17
Definition MRMesh/MRMesh.h:23
Definition MRMesh/MRMeshCollidePrecise.h:30
Definition MRMesh/MRIntersectionContour.h:12
bool operator==(const VariableEdgeTri &) const =default
bool isEdgeATriB
Definition MRMesh/MRIntersectionContour.h:13