Blender V2.61 - r43446
|
00001 00002 #ifndef BT_INTERNAL_EDGE_UTILITY_H 00003 #define BT_INTERNAL_EDGE_UTILITY_H 00004 00005 #include "LinearMath/btHashMap.h" 00006 #include "LinearMath/btVector3.h" 00007 00008 #include "BulletCollision/CollisionShapes/btTriangleInfoMap.h" 00009 00012 00013 class btBvhTriangleMeshShape; 00014 class btCollisionObject; 00015 class btManifoldPoint; 00016 class btIDebugDraw; 00017 00018 00019 00020 enum btInternalEdgeAdjustFlags 00021 { 00022 BT_TRIANGLE_CONVEX_BACKFACE_MODE = 1, 00023 BT_TRIANGLE_CONCAVE_DOUBLE_SIDED = 2, //double sided options are experimental, single sided is recommended 00024 BT_TRIANGLE_CONVEX_DOUBLE_SIDED = 4 00025 }; 00026 00027 00029 void btGenerateInternalEdgeInfo (btBvhTriangleMeshShape*trimeshShape, btTriangleInfoMap* triangleInfoMap); 00030 00031 00034 void btAdjustInternalEdgeContacts(btManifoldPoint& cp, const btCollisionObject* trimeshColObj0,const btCollisionObject* otherColObj1, int partId0, int index0, int normalAdjustFlags = 0); 00035 00038 //#define BT_INTERNAL_EDGE_DEBUG_DRAW 00039 00040 #ifdef BT_INTERNAL_EDGE_DEBUG_DRAW 00041 void btSetDebugDrawer(btIDebugDraw* debugDrawer); 00042 #endif //BT_INTERNAL_EDGE_DEBUG_DRAW 00043 00044 00045 #endif //BT_INTERNAL_EDGE_UTILITY_H 00046