[dali_2.3.21] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-physics / third-party / bullet3 / src / BulletCollision / CollisionShapes / btSdfCollisionShape.h
1 #ifndef BT_SDF_COLLISION_SHAPE_H
2 #define BT_SDF_COLLISION_SHAPE_H
3
4 #include "btConcaveShape.h"
5
6 class btSdfCollisionShape : public btConcaveShape
7 {
8         struct btSdfCollisionShapeInternalData* m_data;
9
10 public:
11         btSdfCollisionShape();
12         virtual ~btSdfCollisionShape();
13
14         bool initializeSDF(const char* sdfData, int sizeInBytes);
15
16         virtual void getAabb(const btTransform& t, btVector3& aabbMin, btVector3& aabbMax) const;
17         virtual void setLocalScaling(const btVector3& scaling);
18         virtual const btVector3& getLocalScaling() const;
19         virtual void calculateLocalInertia(btScalar mass, btVector3& inertia) const;
20         virtual const char* getName() const;
21         virtual void setMargin(btScalar margin);
22         virtual btScalar getMargin() const;
23
24         virtual void processAllTriangles(btTriangleCallback* callback, const btVector3& aabbMin, const btVector3& aabbMax) const;
25
26         bool queryPoint(const btVector3& ptInSDF, btScalar& distOut, btVector3& normal);
27 };
28
29 #endif  //BT_SDF_COLLISION_SHAPE_H