Bullet Collision Detection & Physics Library
|
Go to the documentation of this file.
17 #include "../BulletFileLoader/btBulletFile.h"
25 #ifdef USE_INTERNAL_EDGE_UTILITY
27 #endif //USE_INTERNAL_EDGE_UTILITY
47 if (preSwapFilenameOut)
50 bulletFile2->
writeFile(preSwapFilenameOut);
93 for (i = 0; i < bulletFile2->
m_bvhs.
size(); i++)
120 if (shape && shapeData->
m_name)
226 if (shapePtr && *shapePtr)
237 #ifdef USE_INTERNAL_EDGE_UTILITY
246 #endif //USE_INTERNAL_EDGE_UTILITY
251 printf(
"error: no shape found\n");
258 if (shapePtr && *shapePtr)
267 #ifdef USE_INTERNAL_EDGE_UTILITY
276 #endif //USE_INTERNAL_EDGE_UTILITY
281 printf(
"error: no shape found\n");
313 if (isDoublePrecisionData)
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
btCollisionObject can be used to manage collision detection objects.
The btRigidBody is the main class for rigid body objects.
btHashMap< btHashPtr, btCollisionObject * > m_bodyMap
The btOptimizedBvh extends the btQuantizedBvh to create AABB tree for triangle meshes,...
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
btHashMap< btHashPtr, const char * > m_objectNameMap
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
void dumpChunks(bDNA *dna)
void convertRigidBodyDouble(btRigidBodyDoubleData *colObjData)
bool loadFileFromMemory(char *memoryBuffer, int len)
the memoryBuffer might be modified (for example if endian swaps are necessary)
btAlignedObjectArray< bStructHandle * > m_bvhs
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
The btBvhTriangleMeshShape is a static-triangle mesh shape, it can only be used for fixed/non-moving ...
bool loadFile(const char *fileName, const char *preSwapFilenameOut=0)
if you pass a valid preSwapFilenameOut, it will save a new file with a different endianness this pre-...
btContactSolverInfoFloatData m_solverInfo
btTransformDoubleData m_worldTransform
The btDynamicsWorld is the interface class for several dynamics implementation, basic,...
btAlignedObjectArray< bStructHandle * > m_rigidBodies
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
void writeFile(const char *fileName)
btAlignedObjectArray< bStructHandle * > m_dynamicsWorldInfo
btHashMap< btHashString, btCollisionShape * > m_nameShapeMap
static btRigidBody & getFixedBody()
void convertConstraintFloat(btTypedConstraintFloatData *constraintData, btRigidBody *rbA, btRigidBody *rbB, int fileVersion)
btAlignedObjectArray< bStructHandle * > m_collisionShapes
char * duplicateName(const char *name)
The btCollisionShape class provides an interface for collision shapes that can be shared among btColl...
void setRestitution(btScalar rest)
btTransformFloatData m_worldTransform
void convertRigidBodyFloat(btRigidBodyFloatData *colObjData)
void setFriction(btScalar frict)
btBulletWorldImporter(btDynamicsWorld *world=0)
virtual void deSerializeDouble(struct btQuantizedBvhDoubleData &quantizedBvhDoubleData)
int getCollisionFlags() const
btVector3 can be used to represent 3D points and vectors.
void convertConstraintDouble(btTypedConstraintDoubleData *constraintData, btRigidBody *rbA, btRigidBody *rbB, int fileVersion)
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
virtual void deSerializeFloat(struct btQuantizedBvhFloatData &quantizedBvhFloatData)
btContactSolverInfoDoubleData m_solverInfo
const Value * find(const Key &key) const
btVector3DoubleData m_gravity
virtual btCollisionObject * createCollisionObject(const btTransform &startTransform, btCollisionShape *shape, const char *bodyName)
btHashMap< btHashPtr, btCollisionShape * > m_shapeMap
void setCollisionFlags(int flags)
this structure is not used, except for loading pre-2.82 .bullet files
void insert(const Key &key, const Value &value)
btHashMap< btHashPtr, btOptimizedBvh * > m_bvhMap
virtual btOptimizedBvh * createOptimizedBvh()
acceleration and connectivity structures
void deSerializeDouble(const struct btVector3DoubleData &dataIn)
void convertConstraintBackwardsCompatible281(btTypedConstraintData *constraintData, btRigidBody *rbA, btRigidBody *rbB, int fileVersion)
btAlignedObjectArray< bStructHandle * > m_constraints
virtual void parse(int verboseMode)
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
btCollisionShape * convertCollisionShape(btCollisionShapeData *shapeData)
virtual ~btBulletWorldImporter()
#define btTypedConstraintData2
void deSerializeFloat(const struct btVector3FloatData &dataIn)
virtual bool convertAllObjects(bParse::btBulletFile *file)
const btTriangleInfoMap * getTriangleInfoMap() const
btAlignedObjectArray< bStructHandle * > m_collisionObjects
virtual void setDynamicsWorldInfo(const btVector3 &gravity, const btContactSolverInfo &solverInfo)
those virtuals are called by load and can be overridden by the user
btVector3FloatData m_gravity
static const btRigidBody * upcast(const btCollisionObject *colObj)
to keep collision detection and dynamics separate we don't store a rigidbody pointer but a rigidbody ...
int size() const
return the number of elements in the array