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)
btTransformFloatData m_worldTransform
static const btRigidBody * upcast(const btCollisionObject *colObj)
to keep collision detection and dynamics separate we don't store a rigidbody pointer but a rigidbody ...
btVector3DoubleData m_gravity
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 ...
void convertConstraintBackwardsCompatible281(btTypedConstraintData *constraintData, btRigidBody *rbA, btRigidBody *rbB, int fileVersion)
btCollisionShape * convertCollisionShape(btCollisionShapeData *shapeData)
void convertRigidBodyDouble(btRigidBodyDoubleData *colObjData)
void deSerializeDouble(const struct btVector3DoubleData &dataIn)
const btTriangleInfoMap * getTriangleInfoMap() const
void convertRigidBodyFloat(btRigidBodyFloatData *colObjData)
btAlignedObjectArray< bStructHandle * > m_constraints
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 ...
The btDynamicsWorld is the interface class for several dynamics implementation, basic, discrete, parallel, and continuous etc.
The btCollisionShape class provides an interface for collision shapes that can be shared among btColl...
btAlignedObjectArray< bStructHandle * > m_collisionObjects
btHashMap< btHashString, btCollisionShape * > m_nameShapeMap
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-...
int getCollisionFlags() const
void dumpChunks(bDNA *dna)
btVector3FloatData m_gravity
void setRestitution(btScalar rest)
btContactSolverInfoFloatData m_solverInfo
The btBvhTriangleMeshShape is a static-triangle mesh shape, it can only be used for fixed/non-moving ...
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 ...
btHashMap< btHashPtr, btOptimizedBvh * > m_bvhMap
int size() const
return the number of elements in the array
virtual void parse(int verboseMode)
void setFriction(btScalar frict)
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 ...
virtual void deSerializeDouble(struct btQuantizedBvhDoubleData &quantizedBvhDoubleData)
virtual btOptimizedBvh * createOptimizedBvh()
acceleration and connectivity structures
virtual ~btBulletWorldImporter()
btHashMap< btHashPtr, btCollisionShape * > m_shapeMap
char * duplicateName(const char *name)
btCollisionObject can be used to manage collision detection objects.
#define btTypedConstraintData2
void insert(const Key &key, const Value &value)
The btRigidBody is the main class for rigid body objects.
The btOptimizedBvh extends the btQuantizedBvh to create AABB tree for triangle meshes, through the btStridingMeshInterface.
virtual btCollisionObject * createCollisionObject(const btTransform &startTransform, btCollisionShape *shape, const char *bodyName)
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 ...
this structure is not used, except for loading pre-2.82 .bullet files
void convertConstraintFloat(btTypedConstraintFloatData *constraintData, btRigidBody *rbA, btRigidBody *rbB, int fileVersion)
void writeFile(const char *fileName)
virtual void setDynamicsWorldInfo(const btVector3 &gravity, const btContactSolverInfo &solverInfo)
those virtuals are called by load and can be overridden by the user
btContactSolverInfoDoubleData m_solverInfo
btVector3 can be used to represent 3D points and vectors.
const Value * find(const Key &key) const
virtual bool convertAllObjects(bParse::btBulletFile *file)
void setCollisionFlags(int flags)
btTransformDoubleData m_worldTransform
btAlignedObjectArray< bStructHandle * > m_bvhs
virtual void deSerializeFloat(struct btQuantizedBvhFloatData &quantizedBvhFloatData)
static btRigidBody & getFixedBody()
btAlignedObjectArray< bStructHandle * > m_collisionShapes
btHashMap< btHashPtr, btCollisionObject * > m_bodyMap
bool loadFileFromMemory(char *memoryBuffer, int len)
the memoryBuffer might be modified (for example if endian swaps are necessary)
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 ...
btAlignedObjectArray< bStructHandle * > m_dynamicsWorldInfo
void deSerializeFloat(const struct btVector3FloatData &dataIn)
btBulletWorldImporter(btDynamicsWorld *world=0)
btHashMap< btHashPtr, const char * > m_objectNameMap
btAlignedObjectArray< bStructHandle * > m_rigidBodies
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 ...
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 ...
void convertConstraintDouble(btTypedConstraintDoubleData *constraintData, btRigidBody *rbA, btRigidBody *rbB, int fileVersion)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...