#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... | |
Typedefs | |
typedef MR_EXTERN_C_BEGIN struct MREdgeTri | MREdgeTri |
edge from one mesh and triangle from another mesh | |
typedef struct MRPreciseCollisionResult | MRPreciseCollisionResult |
Functions | |
MRMESHC_API bool | mrEdgeTriEq (const MREdgeTri *a, const MREdgeTri *b) |
MRMESHC_API const MRVectorEdgeTri | mrPreciseCollisionResultEdgesAtrisB (const MRPreciseCollisionResult *result) |
each edge is directed to have its origin inside and its destination outside of the other mesh | |
MRMESHC_API const MRVectorEdgeTri | mrPreciseCollisionResultEdgesBtrisA (const MRPreciseCollisionResult *result) |
each edge is directed to have its origin inside and its destination outside of the other mesh | |
MRMESHC_API void | mrPreciseCollisionResultFree (MRPreciseCollisionResult *result) |
deallocates the PreciseCollisionResult object | |
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 | |
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 MR_EXTERN_C_BEGIN struct MREdgeTri MREdgeTri |
edge from one mesh and triangle from another mesh
typedef struct MRPreciseCollisionResult MRPreciseCollisionResult |
MRMESHC_API bool mrEdgeTriEq | ( | const MREdgeTri * | a, |
const MREdgeTri * | b ) |
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
rigidB2A | rigid transformation from B-mesh space to A mesh space, NULL considered as identity transformation |
anyIntersection | if true then the function returns as fast as it finds any intersection |
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
rigidB2A | rigid transformation from B-mesh space to A mesh space, nullptr considered as identity transformation |
MRMESHC_API const MRVectorEdgeTri mrPreciseCollisionResultEdgesAtrisB | ( | const MRPreciseCollisionResult * | result | ) |
each edge is directed to have its origin inside and its destination outside of the other mesh
MRMESHC_API const MRVectorEdgeTri mrPreciseCollisionResultEdgesBtrisA | ( | const MRPreciseCollisionResult * | result | ) |
each edge is directed to have its origin inside and its destination outside of the other mesh
MRMESHC_API void mrPreciseCollisionResultFree | ( | MRPreciseCollisionResult * | result | ) |
deallocates the PreciseCollisionResult object