MeshLib C++ Docs
Loading...
Searching...
No Matches
MRMeshCollidePrecise.h File Reference
#include "MRMeshFwd.h"
#include "MRId.h"
#include "MRMeshPart.h"
#include "MRPrecisePredicates3.h"
#include "MRVector.h"

Go to the source code of this file.

Classes

struct  MREdgeTri
 edge from one mesh and triangle from another mesh More...
 
struct  MRFlaggedTri
 
struct  MRVarEdgeTri
 

Typedefs

typedef MR_EXTERN_C_BEGIN struct MREdgeTri MREdgeTri
 edge from one mesh and triangle from another mesh
 
typedef struct MRFlaggedTri MRFlaggedTri
 
typedef struct MRVarEdgeTri MRVarEdgeTri
 
typedef MRVectorVarEdgeTri MRPreciseCollisionResult
 each edge is directed to have its origin inside and its destination outside of the other mesh
 

Functions

MRMESHC_API bool mrEdgeTriEq (const MREdgeTri *a, const MREdgeTri *b)
 
MRMESHC_API MRPreciseCollisionResultmrFindCollidingEdgeTrisPrecise (const MRMeshPart *a, const MRMeshPart *b, const MRConvertToIntVector *conv, const MRAffineXf3f *rigidB2A, bool anyIntersection)
 finds all pairs of colliding edges from one mesh and triangle from another mesh
 
MRMESHC_API MRCoordinateConverters mrGetVectorConverters (const MRMeshPart *a, const MRMeshPart *b, const MRAffineXf3f *rigidB2A)
 creates simple converters from Vector3f to Vector3i and back in mesh parts area range
 

Typedef Documentation

◆ MREdgeTri

typedef MR_EXTERN_C_BEGIN struct MREdgeTri MREdgeTri

edge from one mesh and triangle from another mesh

◆ MRFlaggedTri

typedef struct MRFlaggedTri MRFlaggedTri

◆ MRPreciseCollisionResult

typedef MRVectorVarEdgeTri MRPreciseCollisionResult

each edge is directed to have its origin inside and its destination outside of the other mesh

◆ MRVarEdgeTri

typedef struct MRVarEdgeTri MRVarEdgeTri

Function Documentation

◆ mrEdgeTriEq()

MRMESHC_API bool mrEdgeTriEq ( const MREdgeTri * a,
const MREdgeTri * b )

◆ mrFindCollidingEdgeTrisPrecise()

MRMESHC_API MRPreciseCollisionResult * mrFindCollidingEdgeTrisPrecise ( const MRMeshPart * a,
const MRMeshPart * b,
const MRConvertToIntVector * conv,
const MRAffineXf3f * rigidB2A,
bool anyIntersection )

finds all pairs of colliding edges from one mesh and triangle from another mesh

Parameters
rigidB2Arigid transformation from B-mesh space to A mesh space, NULL considered as identity transformation
anyIntersectionif true then the function returns as fast as it finds any intersection

◆ mrGetVectorConverters()

MRMESHC_API MRCoordinateConverters mrGetVectorConverters ( const MRMeshPart * a,
const MRMeshPart * b,
const MRAffineXf3f * rigidB2A )

creates simple converters from Vector3f to Vector3i and back in mesh parts area range

Parameters
rigidB2Arigid transformation from B-mesh space to A mesh space, nullptr considered as identity transformation