summaryrefslogtreecommitdiff
path: root/thirdparty/bullet/Bullet3Collision/NarrowPhaseCollision/shared/b3Collidable.h
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/bullet/Bullet3Collision/NarrowPhaseCollision/shared/b3Collidable.h')
-rw-r--r--thirdparty/bullet/Bullet3Collision/NarrowPhaseCollision/shared/b3Collidable.h76
1 files changed, 76 insertions, 0 deletions
diff --git a/thirdparty/bullet/Bullet3Collision/NarrowPhaseCollision/shared/b3Collidable.h b/thirdparty/bullet/Bullet3Collision/NarrowPhaseCollision/shared/b3Collidable.h
new file mode 100644
index 0000000000..77cdc7b7a9
--- /dev/null
+++ b/thirdparty/bullet/Bullet3Collision/NarrowPhaseCollision/shared/b3Collidable.h
@@ -0,0 +1,76 @@
+
+#ifndef B3_COLLIDABLE_H
+#define B3_COLLIDABLE_H
+
+
+#include "Bullet3Common/shared/b3Float4.h"
+#include "Bullet3Common/shared/b3Quat.h"
+
+enum b3ShapeTypes
+{
+ SHAPE_HEIGHT_FIELD=1,
+
+ SHAPE_CONVEX_HULL=3,
+ SHAPE_PLANE=4,
+ SHAPE_CONCAVE_TRIMESH=5,
+ SHAPE_COMPOUND_OF_CONVEX_HULLS=6,
+ SHAPE_SPHERE=7,
+ MAX_NUM_SHAPE_TYPES,
+};
+
+typedef struct b3Collidable b3Collidable_t;
+
+
+struct b3Collidable
+{
+ union {
+ int m_numChildShapes;
+ int m_bvhIndex;
+ };
+ union
+ {
+ float m_radius;
+ int m_compoundBvhIndex;
+ };
+
+ int m_shapeType;
+ union
+ {
+ int m_shapeIndex;
+ float m_height;
+ };
+};
+
+typedef struct b3GpuChildShape b3GpuChildShape_t;
+struct b3GpuChildShape
+{
+ b3Float4 m_childPosition;
+ b3Quat m_childOrientation;
+ union
+ {
+ int m_shapeIndex;//used for SHAPE_COMPOUND_OF_CONVEX_HULLS
+ int m_capsuleAxis;
+ };
+ union
+ {
+ float m_radius;//used for childshape of SHAPE_COMPOUND_OF_SPHERES or SHAPE_COMPOUND_OF_CAPSULES
+ int m_numChildShapes;//used for compound shape
+ };
+ union
+ {
+ float m_height;//used for childshape of SHAPE_COMPOUND_OF_CAPSULES
+ int m_collidableShapeIndex;
+ };
+ int m_shapeType;
+};
+
+struct b3CompoundOverlappingPair
+{
+ int m_bodyIndexA;
+ int m_bodyIndexB;
+// int m_pairType;
+ int m_childShapeIndexA;
+ int m_childShapeIndexB;
+};
+
+#endif //B3_COLLIDABLE_H