|
Bullet Collision Detection & Physics Library
|
Go to the documentation of this file.
18 #include "../BulletFileLoader/btBulletFile.h"
27 #ifdef USE_INTERNAL_EDGE_UTILITY
29 #endif //USE_INTERNAL_EDGE_UTILITY
51 if (preSwapFilenameOut)
54 bulletFile2->
writeFile(preSwapFilenameOut);
136 if (shape&& shapeData->
m_name)
247 if (shapePtr && *shapePtr)
258 #ifdef USE_INTERNAL_EDGE_UTILITY
267 #endif //USE_INTERNAL_EDGE_UTILITY
271 printf(
"error: no shape found\n");
278 if (shapePtr && *shapePtr)
287 #ifdef USE_INTERNAL_EDGE_UTILITY
296 #endif //USE_INTERNAL_EDGE_UTILITY
300 printf(
"error: no shape found\n");
334 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.
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...
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 ...
btHashMap< btHashPtr, btCollisionShape * > m_shapeMap
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
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)
@ CF_CUSTOM_MATERIAL_CALLBACK
btTransformFloatData m_worldTransform
btHashMap< btHashPtr, const char * > m_objectNameMap
void convertRigidBodyFloat(btRigidBodyFloatData *colObjData)
btHashMap< btHashString, btCollisionShape * > m_nameShapeMap
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
btHashMap< btHashPtr, btOptimizedBvh * > m_bvhMap
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)
@ TRIANGLE_MESH_SHAPE_PROXYTYPE
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)
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
btHashMap< btHashPtr, btCollisionObject * > m_bodyMap
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