MeshLib Documentation
Loading...
Searching...
No Matches
MRMeshCollidePrecise.h File Reference
#include "MRId.h"
#include "MRMeshPart.h"
#include "MRPrecisePredicates3.h"
#include <functional>

Go to the source code of this file.

Classes

struct  MR::EdgeTri
 edge from one mesh and triangle from another mesh More...
 
struct  MR::PreciseCollisionResult
 

Namespaces

namespace  MR
 

Functions

bool MR::operator== (const EdgeTri &a, const EdgeTri &b)
 
MRMESH_API PreciseCollisionResult MR::findCollidingEdgeTrisPrecise (const MeshPart &a, const MeshPart &b, ConvertToIntVector conv, const AffineXf3f *rigidB2A=nullptr, bool anyIntersection=false)
 finds all pairs of colliding edges from one mesh and triangle from another mesh
 
MRMESH_API std::vector< EdgeTriMR::findCollidingEdgeTrisPrecise (const Mesh &a, const std::vector< EdgeId > &edgesA, const Mesh &b, const std::vector< FaceId > &facesB, ConvertToIntVector conv, const AffineXf3f *rigidB2A=nullptr)
 finds all intersections between every given edge from A and given triangles from B
 
MRMESH_API std::vector< EdgeTriMR::findCollidingEdgeTrisPrecise (const Mesh &a, const std::vector< FaceId > &facesA, const Mesh &b, const std::vector< EdgeId > &edgesB, ConvertToIntVector conv, const AffineXf3f *rigidB2A=nullptr)
 finds all intersections between every given triangle from A and given edge from B
 
MRMESH_API CoordinateConverters MR::getVectorConverters (const MeshPart &a, const MeshPart &b, const AffineXf3f *rigidB2A=nullptr)
 creates simple converters from Vector3f to Vector3i and back in mesh parts area range