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
const btTriangleInfoMap * getTriangleInfoMap() const
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)
void convertRigidBodyFloat(btRigidBodyFloatData *colObjData)
btAlignedObjectArray< bStructHandle * > m_constraints
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
const Value * find(const Key &key) const
The btDynamicsWorld is the interface class for several dynamics implementation, basic,...
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-...
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
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,...
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)
int getCollisionFlags() const
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.
int size() const
return the number of elements in the array
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...