20 const AffineXf3f * rigidB2A =
nullptr,
bool firstIntersectionOnly =
false );
24 const AffineXf3f* rigidB2A =
nullptr );
28 std::vector<FaceFace>* outCollidingPairs,
29 ProgressCallback cb = {},
30 const Face2RegionMap* regionMap =
nullptr,
31 bool touchIsIntersection = false );
35 const Face2RegionMap * regionMap =
nullptr,
36 bool touchIsIntersection = false );
40 const Face2RegionMap* regionMap =
nullptr,
41 bool touchIsIntersection = false );
47[[nodiscard]] MRMESH_API
bool isInside(
const MeshPart & a,
const MeshPart & b,
const AffineXf3f * rigidB2A =
nullptr );
54[[nodiscard]] MRMESH_API
bool isNonIntersectingInside(
const MeshPart & a,
const MeshPart & b,
const AffineXf3f * rigidB2A =
nullptr );
61[[nodiscard]] MRMESH_API
bool isNonIntersectingInside(
const Mesh& a, FaceId partFace,
const MeshPart& b,
const AffineXf3f* rigidB2A =
nullptr );
MRMESH_API bool isNonIntersectingInside(const MeshPart &a, const MeshPart &b, const AffineXf3f *rigidB2A=nullptr)
checks that arbitrary mesh part A is inside of closed mesh part B The version of isInside without col...
MRMESH_API bool isInside(const MeshPart &a, const MeshPart &b, const AffineXf3f *rigidB2A=nullptr)
checks that arbitrary mesh part A is inside of closed mesh part B
MRMESH_API std::pair< FaceBitSet, FaceBitSet > findCollidingTriangleBitsets(const MeshPart &a, const MeshPart &b, const AffineXf3f *rigidB2A=nullptr)
the same as findCollidingTriangles, but returns one bite set per mesh with colliding triangles
MRMESH_API Expected< bool > findSelfCollidingTriangles(const MeshPart &mp, std::vector< FaceFace > *outCollidingPairs, ProgressCallback cb={}, const Face2RegionMap *regionMap=nullptr, bool touchIsIntersection=false)
finds all pairs (or the fact of any self-collision) of colliding triangles from one mesh or a region
MRMESH_API std::vector< FaceFace > findCollidingTriangles(const MeshPart &a, const MeshPart &b, const AffineXf3f *rigidB2A=nullptr, bool firstIntersectionOnly=false)
finds all pairs of colliding triangles from two meshes or two mesh regions
MRMESH_API Expected< FaceBitSet > findSelfCollidingTrianglesBS(const MeshPart &mp, ProgressCallback cb={}, const Face2RegionMap *regionMap=nullptr, bool touchIsIntersection=false)
the same findSelfCollidingTriangles but returns the union of all self-intersecting faces
tl::expected< T, E > Expected
Definition MRExpected.h:31
only for bindings generation
Definition MRCameraOrientationPlugin.h:8