Bullet Collision Detection & Physics Library: btInternalEdgeUtility.h Source File

Bullet Collision Detection & Physics Library

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

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
5 #include "LinearMath/btHashMap.h"
6 #include "LinearMath/btVector3.h"
7
8 #include "BulletCollision/CollisionShapes/btTriangleInfoMap.h"
9
12
13 class btBvhTriangleMeshShape;
14 class btCollisionObject;
15 struct btCollisionObjectWrapper;
16 class btManifoldPoint;
17 class btIDebugDraw;
18
19
20
21 enum btInternalEdgeAdjustFlags
22 {
23 BT_TRIANGLE_CONVEX_BACKFACE_MODE = 1,
24 BT_TRIANGLE_CONCAVE_DOUBLE_SIDED = 2, //double sided options are experimental, single sided is recommended
25 BT_TRIANGLE_CONVEX_DOUBLE_SIDED = 4
26 };
27
28
30 void btGenerateInternalEdgeInfo (btBvhTriangleMeshShape*trimeshShape, btTriangleInfoMap* triangleInfoMap);
31
32
35 void btAdjustInternalEdgeContacts(btManifoldPoint& cp, const btCollisionObjectWrapper* trimeshColObj0Wrap,const btCollisionObjectWrapper* otherColObj1Wrap, int partId0, int index0, int normalAdjustFlags = 0);
36
39 //#define BT_INTERNAL_EDGE_DEBUG_DRAW
40
41 #ifdef BT_INTERNAL_EDGE_DEBUG_DRAW
42 void btSetDebugDrawer(btIDebugDraw* debugDrawer);
43 #endif //BT_INTERNAL_EDGE_DEBUG_DRAW
44
45
46 #endif //BT_INTERNAL_EDGE_UTILITY_H
47
btVector3.h
btGenerateInternalEdgeInfo
void btGenerateInternalEdgeInfo(btBvhTriangleMeshShape *trimeshShape, btTriangleInfoMap *triangleInfoMap)
Call btGenerateInternalEdgeInfo to create triangle info, store in the shape 'userInfo'.
Definition: btInternalEdgeUtility.cpp:315
btAdjustInternalEdgeContacts
void btAdjustInternalEdgeContacts(btManifoldPoint &cp, const btCollisionObjectWrapper *trimeshColObj0Wrap, const btCollisionObjectWrapper *otherColObj1Wrap, int partId0, int index0, int normalAdjustFlags=0)
Call the btFixMeshNormal to adjust the collision normal, using the triangle info map (generated using...
Definition: btInternalEdgeUtility.cpp:453
btInternalEdgeAdjustFlags
btInternalEdgeAdjustFlags
Definition: btInternalEdgeUtility.h:21
btManifoldPoint
ManifoldContactPoint collects and maintains persistent contactpoints.
Definition: btManifoldPoint.h:42
btTriangleInfoMap.h
btBvhTriangleMeshShape
The btBvhTriangleMeshShape is a static-triangle mesh shape, it can only be used for fixed/non-moving ...
Definition: btBvhTriangleMeshShape.h:34
btCollisionObject
btCollisionObject can be used to manage collision detection objects.
Definition: btCollisionObject.h:49
btIDebugDraw
The btIDebugDraw interface class allows hooking up a debug renderer to visually debug simulations...
Definition: btIDebugDraw.h:28
BT_TRIANGLE_CONVEX_BACKFACE_MODE
Definition: btInternalEdgeUtility.h:23
BT_TRIANGLE_CONCAVE_DOUBLE_SIDED
Definition: btInternalEdgeUtility.h:24
BT_TRIANGLE_CONVEX_DOUBLE_SIDED
Definition: btInternalEdgeUtility.h:25
btTriangleInfoMap
The btTriangleInfoMap stores edge angle information for some triangles. You can compute this informat...
Definition: btTriangleInfoMap.h:58
btHashMap.h
btCollisionObjectWrapper
Definition: btCollisionObjectWrapper.h:17