diff options
Diffstat (limited to 'extern/bullet/Bullet/CollisionShapes/ConvexTriangleCallback.h')
-rw-r--r-- | extern/bullet/Bullet/CollisionShapes/ConvexTriangleCallback.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/extern/bullet/Bullet/CollisionShapes/ConvexTriangleCallback.h b/extern/bullet/Bullet/CollisionShapes/ConvexTriangleCallback.h new file mode 100644 index 00000000000..8e0e446a549 --- /dev/null +++ b/extern/bullet/Bullet/CollisionShapes/ConvexTriangleCallback.h @@ -0,0 +1,49 @@ +#ifndef CONVEX_TRIANGLE_CALLBACK_H +#define CONVEX_TRIANGLE_CALLBACK_H + +#include "TriangleCallback.h" +class ConvexShape; +class PersistentManifold; +#include "SimdTransform.h" +///ConvexTriangleCallback processes the narrowphase convex-triangle collision detection +class ConvexTriangleCallback: public TriangleCallback +{ + SimdVector3 m_aabbMin; + SimdVector3 m_aabbMax ; + + SimdTransform m_triangleMeshTransform; + SimdTransform m_convexTransform; + +// bool m_useContinuous; + float m_collisionMarginTriangle; + +public: +int m_triangleCount; + + ConvexShape* m_convexShape; + + PersistentManifold* m_manifoldPtr; + + ConvexTriangleCallback(PersistentManifold* manifold,ConvexShape* convexShape,const SimdTransform&convexTransform,const SimdTransform& triangleMeshTransform); + + void Update(float collisionMarginTriangle); + + virtual ~ConvexTriangleCallback(); + + virtual void ProcessTriangle(SimdVector3* triangle); + + void ClearCache(); + + inline const SimdVector3& GetAabbMin() const + { + return m_aabbMin; + } + inline const SimdVector3& GetAabbMax() const + { + return m_aabbMax; + } + +}; + + +#endif //CONVEX_TRIANGLE_CALLBACK_H
\ No newline at end of file |