Blender V4.3
btInternalEdgeUtility.h
Go to the documentation of this file.
1
2#ifndef BT_INTERNAL_EDGE_UTILITY_H
3#define BT_INTERNAL_EDGE_UTILITY_H
4
7
9
12
14class btCollisionObject;
16class btManifoldPoint;
17class btIDebugDraw;
19
21{
23 BT_TRIANGLE_CONCAVE_DOUBLE_SIDED = 2, //double sided options are experimental, single sided is recommended
25};
26
28void btGenerateInternalEdgeInfo(btBvhTriangleMeshShape* trimeshShape, btTriangleInfoMap* triangleInfoMap);
29
31
34void btAdjustInternalEdgeContacts(btManifoldPoint& cp, const btCollisionObjectWrapper* trimeshColObj0Wrap, const btCollisionObjectWrapper* otherColObj1Wrap, int partId0, int index0, int normalAdjustFlags = 0);
35
38//#define BT_INTERNAL_EDGE_DEBUG_DRAW
39
40#ifdef BT_INTERNAL_EDGE_DEBUG_DRAW
41void btSetDebugDrawer(btIDebugDraw* debugDrawer);
42#endif //BT_INTERNAL_EDGE_DEBUG_DRAW
43
44#endif //BT_INTERNAL_EDGE_UTILITY_H
btBvhTriangleMeshShape(btStridingMeshInterface *meshInterface, bool useQuantizedAabbCompression, bool buildBvh=true)
btHeightfieldTerrainShape(int heightStickWidth, int heightStickLength, const void *heightfieldData, btScalar heightScale, btScalar minHeight, btScalar maxHeight, int upAxis, PHY_ScalarType heightDataType, bool flipQuadEdges)
preferred constructor
btInternalEdgeAdjustFlags
@ BT_TRIANGLE_CONVEX_DOUBLE_SIDED
@ BT_TRIANGLE_CONVEX_BACKFACE_MODE
@ BT_TRIANGLE_CONCAVE_DOUBLE_SIDED
void btGenerateInternalEdgeInfo(btBvhTriangleMeshShape *trimeshShape, btTriangleInfoMap *triangleInfoMap)
Call btGenerateInternalEdgeInfo to create triangle info, store in the shape 'userInfo'.
void btAdjustInternalEdgeContacts(btManifoldPoint &cp, const btCollisionObjectWrapper *trimeshColObj0Wrap, const btCollisionObjectWrapper *otherColObj1Wrap, int partId0, int index0, int normalAdjustFlags=0)
Changes a btManifoldPoint collision normal to the normal from the mesh.
The btTriangleInfoMap stores edge angle information for some triangles. You can compute this informat...