Blender V2.61 - r43446

btInternalEdgeUtility.h

Go to the documentation of this file.
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