diff options
Diffstat (limited to 'thirdparty/bullet/Bullet3Collision/NarrowPhaseCollision/shared/b3Collidable.h')
-rw-r--r-- | thirdparty/bullet/Bullet3Collision/NarrowPhaseCollision/shared/b3Collidable.h | 76 |
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 |