Changeset View
Changeset View
Standalone View
Standalone View
extern/bullet2/src/BulletCollision/CollisionShapes/btConvex2dShape.h
| Show All 11 Lines | |||||
| 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. | 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. | ||||
| 3. This notice may not be removed or altered from any source distribution. | 3. This notice may not be removed or altered from any source distribution. | ||||
| */ | */ | ||||
| #ifndef BT_CONVEX_2D_SHAPE_H | #ifndef BT_CONVEX_2D_SHAPE_H | ||||
| #define BT_CONVEX_2D_SHAPE_H | #define BT_CONVEX_2D_SHAPE_H | ||||
| #include "BulletCollision/CollisionShapes/btConvexShape.h" | #include "BulletCollision/CollisionShapes/btConvexShape.h" | ||||
| #include "BulletCollision/BroadphaseCollision/btBroadphaseProxy.h" // for the types | #include "BulletCollision/BroadphaseCollision/btBroadphaseProxy.h" // for the types | ||||
| ///The btConvex2dShape allows to use arbitrary convex shapes as 2d convex shapes, with the Z component assumed to be 0. | ///The btConvex2dShape allows to use arbitrary convex shapes as 2d convex shapes, with the Z component assumed to be 0. | ||||
| ///For 2d boxes, the btBox2dShape is recommended. | ///For 2d boxes, the btBox2dShape is recommended. | ||||
| ATTRIBUTE_ALIGNED16(class) btConvex2dShape : public btConvexShape | ATTRIBUTE_ALIGNED16(class) | ||||
| btConvex2dShape : public btConvexShape | |||||
| { | { | ||||
| btConvexShape* m_childConvexShape; | btConvexShape* m_childConvexShape; | ||||
| public: | public: | ||||
| BT_DECLARE_ALIGNED_ALLOCATOR(); | BT_DECLARE_ALIGNED_ALLOCATOR(); | ||||
| btConvex2dShape( btConvexShape* convexChildShape); | btConvex2dShape(btConvexShape * convexChildShape); | ||||
| virtual ~btConvex2dShape(); | virtual ~btConvex2dShape(); | ||||
| virtual btVector3 localGetSupportingVertexWithoutMargin(const btVector3& vec)const; | virtual btVector3 localGetSupportingVertexWithoutMargin(const btVector3& vec) const; | ||||
| virtual btVector3 localGetSupportingVertex(const btVector3& vec)const; | virtual btVector3 localGetSupportingVertex(const btVector3& vec) const; | ||||
| virtual void batchedUnitVectorGetSupportingVertexWithoutMargin(const btVector3* vectors,btVector3* supportVerticesOut,int numVectors) const; | virtual void batchedUnitVectorGetSupportingVertexWithoutMargin(const btVector3* vectors, btVector3* supportVerticesOut, int numVectors) const; | ||||
| virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) const; | virtual void calculateLocalInertia(btScalar mass, btVector3 & inertia) const; | ||||
| btConvexShape* getChildShape() | btConvexShape* getChildShape() | ||||
| { | { | ||||
| return m_childConvexShape; | return m_childConvexShape; | ||||
| } | } | ||||
| const btConvexShape* getChildShape() const | const btConvexShape* getChildShape() const | ||||
| { | { | ||||
| return m_childConvexShape; | return m_childConvexShape; | ||||
| } | } | ||||
| virtual const char* getName()const | virtual const char* getName() const | ||||
| { | { | ||||
| return "Convex2dShape"; | return "Convex2dShape"; | ||||
| } | } | ||||
| /////////////////////////// | /////////////////////////// | ||||
| ///getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version | ///getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version | ||||
| void getAabb(const btTransform& t,btVector3& aabbMin,btVector3& aabbMax) const; | void getAabb(const btTransform& t, btVector3& aabbMin, btVector3& aabbMax) const; | ||||
| virtual void getAabbSlow(const btTransform& t,btVector3& aabbMin,btVector3& aabbMax) const; | virtual void getAabbSlow(const btTransform& t, btVector3& aabbMin, btVector3& aabbMax) const; | ||||
| virtual void setLocalScaling(const btVector3& scaling) ; | virtual void setLocalScaling(const btVector3& scaling); | ||||
| virtual const btVector3& getLocalScaling() const ; | virtual const btVector3& getLocalScaling() const; | ||||
| virtual void setMargin(btScalar margin); | virtual void setMargin(btScalar margin); | ||||
| virtual btScalar getMargin() const; | virtual btScalar getMargin() const; | ||||
| virtual int getNumPreferredPenetrationDirections() const; | virtual int getNumPreferredPenetrationDirections() const; | ||||
| virtual void getPreferredPenetrationDirection(int index, btVector3& penetrationVector) const; | virtual void getPreferredPenetrationDirection(int index, btVector3& penetrationVector) const; | ||||
| }; | }; | ||||
| #endif //BT_CONVEX_2D_SHAPE_H | #endif //BT_CONVEX_2D_SHAPE_H | ||||