Back to index

supertuxkart  0.5+dfsg1
Defines | Functions
btConvexShape.h File Reference
#include "btCollisionShape.h"
#include "LinearMath/btVector3.h"
#include "LinearMath/btTransform.h"
#include "LinearMath/btMatrix3x3.h"
#include "btCollisionMargin.h"
#include "LinearMath/btAlignedAllocator.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define MAX_PREFERRED_PENETRATION_DIRECTIONS   10

Functions

 ATTRIBUTE_ALIGNED16 (class) btConvexShape
 btConvexShape is an abstract shape interface. It describes general convex shapes using the localGetSupportingVertex interface used in combination with GJK or btConvexCast

Define Documentation

Definition at line 29 of file btConvexShape.h.


Function Documentation

ATTRIBUTE_ALIGNED16 ( class  )

btConvexShape is an abstract shape interface. It describes general convex shapes using the localGetSupportingVertex interface used in combination with GJK or btConvexCast

getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version

Definition at line 34 of file btConvexShape.h.

                                         : public btCollisionShape
{


public:

       BT_DECLARE_ALIGNED_ALLOCATOR();

       virtual ~btConvexShape()
       {

       }


       virtual btVector3    localGetSupportingVertex(const btVector3& vec)const =0;
#ifndef __SPU__
       virtual btVector3    localGetSupportingVertexWithoutMargin(const btVector3& vec) const= 0;
       
       //notice that the vectors should be unit length
       virtual void  batchedUnitVectorGetSupportingVertexWithoutMargin(const btVector3* vectors,btVector3* supportVerticesOut,int numVectors) const= 0;
#endif //#ifndef __SPU__


       void getAabb(const btTransform& t,btVector3& aabbMin,btVector3& aabbMax) const =0;

       virtual void getAabbSlow(const btTransform& t,btVector3& aabbMin,btVector3& aabbMax) const =0;

       virtual void  setLocalScaling(const btVector3& scaling) =0;
       virtual const btVector3& getLocalScaling() const =0;

       virtual void  setMargin(btScalar margin)=0;

       virtual btScalar     getMargin() const=0;

       virtual int          getNumPreferredPenetrationDirections() const=0;
       
       virtual void  getPreferredPenetrationDirection(int index, btVector3& penetrationVector) const=0;

};