MeshLib
 
Loading...
Searching...
No Matches
MRMeshC/MRMeshCollidePrecise.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMeshFwd.h"
4#include "MRId.h"
5#include "MRMeshPart.h"
7#include "MRVector.h"
8
10
17
18MRMESHC_API bool mrEdgeTriEq( const MREdgeTri* a, const MREdgeTri* b );
19
21
23
26
29
32
39 const MRConvertToIntVector* conv,
40 const MRAffineXf3f* rigidB2A,
41 bool anyIntersection );
42
48 const MRAffineXf3f* rigidB2A );
49
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
struct MRPreciseCollisionResult MRPreciseCollisionResult
Definition MRMeshC/MRMeshCollidePrecise.h:22
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
MRMESHC_API void mrPreciseCollisionResultFree(MRPreciseCollisionResult *result)
deallocates the PreciseCollisionResult object
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
MR_EXTERN_C_BEGIN struct MREdgeTri MREdgeTri
edge from one mesh and triangle from another mesh
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
#define MR_EXTERN_C_BEGIN
Definition MRMeshC/MRMeshFwd.h:26
#define MR_EXTERN_C_END
Definition MRMeshC/MRMeshFwd.h:27
#define MRMESHC_API
Definition MRMeshC/MRMeshFwd.h:19
typedefMR_EXTERN_C_BEGIN struct MRConvertToIntVector MRConvertToIntVector
float-to-int coordinate converter
Definition MRMeshC/MRPrecisePredicates3.h:8
#define MR_VECTOR_DECL(Type)
Definition MRMeshC/MRVector.h:29
Definition MRDotNet/MRMeshCollidePrecise.h:8
affine transformation: y = A*x + b, where A in VxV, and b in V
Definition MRMeshC/MRAffineXf.h:10
this struct contains coordinate converters float-int-float
Definition MRMeshC/MRPrecisePredicates3.h:21
edge index
Definition MRMeshC/MRId.h:8
edge from one mesh and triangle from another mesh
Definition MRMeshC/MRMeshCollidePrecise.h:13
MREdgeId edge
Definition MRMeshC/MRMeshCollidePrecise.h:14
MRFaceId tri
Definition MRMeshC/MRMeshCollidePrecise.h:15
face index
Definition MRMeshC/MRId.h:12
stores reference on whole mesh (if region is NULL) or on its part (if region pointer is valid)
Definition MRMeshC/MRMeshPart.h:9