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
13class btBvhTriangleMeshShape;
14class btCollisionObject;
15struct btCollisionObjectWrapper;
16class btManifoldPoint;
17class btIDebugDraw;
18class btHeightfieldTerrainShape;
19
20 enum btInternalEdgeAdjustFlags
21{
22 BT_TRIANGLE_CONVEX_BACKFACE_MODE = 1,
23 BT_TRIANGLE_CONCAVE_DOUBLE_SIDED = 2, //double sided options are experimental, single sided is recommended
24 BT_TRIANGLE_CONVEX_DOUBLE_SIDED = 4
25};
26
28void btGenerateInternalEdgeInfo(btBvhTriangleMeshShape* trimeshShape, btTriangleInfoMap* triangleInfoMap);
29
30void btGenerateInternalEdgeInfo(btHeightfieldTerrainShape* trimeshShape, btTriangleInfoMap* triangleInfoMap);
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
btHashMap.h
btInternalEdgeAdjustFlags
btInternalEdgeAdjustFlags
Definition: btInternalEdgeUtility.h:21
BT_TRIANGLE_CONVEX_DOUBLE_SIDED
@ BT_TRIANGLE_CONVEX_DOUBLE_SIDED
Definition: btInternalEdgeUtility.h:24
BT_TRIANGLE_CONVEX_BACKFACE_MODE
@ BT_TRIANGLE_CONVEX_BACKFACE_MODE
Definition: btInternalEdgeUtility.h:22
BT_TRIANGLE_CONCAVE_DOUBLE_SIDED
@ BT_TRIANGLE_CONCAVE_DOUBLE_SIDED
Definition: btInternalEdgeUtility.h:23
btGenerateInternalEdgeInfo
void btGenerateInternalEdgeInfo(btBvhTriangleMeshShape *trimeshShape, btTriangleInfoMap *triangleInfoMap)
Call btGenerateInternalEdgeInfo to create triangle info, store in the shape 'userInfo'.
Definition: btInternalEdgeUtility.cpp:331
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:486
btTriangleInfoMap.h
btVector3.h
btBvhTriangleMeshShape
The btBvhTriangleMeshShape is a static-triangle mesh shape, it can only be used for fixed/non-moving ...
Definition: btBvhTriangleMeshShape.h:36
btCollisionObject
btCollisionObject can be used to manage collision detection objects.
Definition: btCollisionObject.h:51
btHeightfieldTerrainShape
btHeightfieldTerrainShape simulates a 2D heightfield terrain
Definition: btHeightfieldTerrainShape.h:72
btIDebugDraw
The btIDebugDraw interface class allows hooking up a debug renderer to visually debug simulations.
Definition: btIDebugDraw.h:27
btManifoldPoint
ManifoldContactPoint collects and maintains persistent contactpoints.
Definition: btManifoldPoint.h:52
btCollisionObjectWrapper
Definition: btCollisionObjectWrapper.h:18
btTriangleInfoMap
The btTriangleInfoMap stores edge angle information for some triangles. You can compute this informat...
Definition: btTriangleInfoMap.h:54