17 #ifndef BT_WORLD_IMPORTER_H 18 #define BT_WORLD_IMPORTER_H 30 struct ConstraintInput;
31 class btRigidBodyColladaInfo;
56 #ifdef BT_USE_DOUBLE_PRECISION 57 #define btRigidBodyData btRigidBodyDoubleData 59 #define btRigidBodyData btRigidBodyFloatData 60 #endif//BT_USE_DOUBLE_PRECISION 131 m_verboseMode = verboseMode;
141 m_importerFlags = importerFlags;
232 #endif //BT_WORLD_IMPORTER_H virtual btGeneric6DofSpringConstraint * createGeneric6DofSpringConstraint(btRigidBody &rbA, btRigidBody &rbB, const btTransform &frameInA, const btTransform &frameInB, bool useLinearReferenceFrameA)
virtual btGeneric6DofConstraint * createGeneric6DofConstraint(btRigidBody &rbA, btRigidBody &rbB, const btTransform &frameInA, const btTransform &frameInB, bool useLinearReferenceFrameA)
void convertConstraintBackwardsCompatible281(btTypedConstraintData *constraintData, btRigidBody *rbA, btRigidBody *rbB, int fileVersion)
btCollisionShape * convertCollisionShape(btCollisionShapeData *shapeData)
virtual btStridingMeshInterfaceData * createStridingMeshInterfaceData(btStridingMeshInterfaceData *interfaceData)
point to point constraint between two rigidbodies each with a pivotpoint that descibes the 'ballsocke...
virtual class btTriangleIndexVertexArray * createTriangleMeshContainer()
void convertRigidBodyDouble(btRigidBodyDoubleData *colObjData)
virtual btBvhTriangleMeshShape * createBvhTriangleMeshShape(btStridingMeshInterface *trimesh, btOptimizedBvh *bvh)
virtual btCollisionShape * createSphereShape(btScalar radius)
int getNumCollisionShapes() const
virtual btConeTwistConstraint * createConeTwistConstraint(btRigidBody &rbA, btRigidBody &rbB, const btTransform &rbAFrame, const btTransform &rbBFrame)
virtual btTriangleInfoMap * createTriangleInfoMap()
const char * getNameForPointer(const void *ptr) const
void convertRigidBodyFloat(btRigidBodyFloatData *colObjData)
virtual btCollisionShape * createCylinderShapeZ(btScalar radius, btScalar height)
btAlignedObjectArray< unsigned char * > m_charIndexArrays
btOptimizedBvh * getBvhByIndex(int index) const
int getImporterFlags() const
The btGeatConstraint will couple the angular velocity for two bodies around given local axis and rati...
The btMultiSphereShape represents the convex hull of a collection of spheres.
virtual btRigidBody * createRigidBody(bool isDynamic, btScalar mass, const btTransform &startTransform, btCollisionShape *shape, const char *bodyName)
btGeneric6DofConstraint between two rigidbodies each with a pivotpoint that descibes the axis locatio...
btWorldImporter(btDynamicsWorld *world)
int getNumTriangleInfoMaps() const
The btDynamicsWorld is the interface class for several dynamics implementation, basic, discrete, parallel, and continuous etc.
virtual class btConvexHullShape * createConvexHullShape()
The btCollisionShape class provides an interface for collision shapes that can be shared among btColl...
btHashMap< btHashString, btCollisionShape * > m_nameShapeMap
btAlignedObjectArray< short int * > m_shortIndexArrays
virtual btCollisionShape * createConvexTriangleMeshShape(btStridingMeshInterface *trimesh)
virtual btCollisionShape * createCapsuleShapeY(btScalar radius, btScalar height)
virtual btCollisionShape * createCylinderShapeX(btScalar radius, btScalar height)
btCollisionShape * getCollisionShapeByName(const char *name)
virtual btCollisionShape * createCylinderShapeY(btScalar radius, btScalar height)
btAlignedObjectArray< btOptimizedBvh * > m_allocatedBvhs
virtual btCollisionShape * createConeShapeX(btScalar radius, btScalar height)
This class manages a mesh supplied by the btStridingMeshInterface interface.
virtual btCollisionShape * createCapsuleShapeZ(btScalar radius, btScalar height)
hinge constraint between two rigidbodies each with a pivotpoint that descibes the axis location in lo...
virtual btCollisionShape * createPlaneShape(const btVector3 &planeNormal, btScalar planeConstant)
shapes
btAlignedObjectArray< btTriangleInfoMap * > m_allocatedTriangleInfoMaps
virtual void deleteAllData()
delete all memory collision shapes, rigid bodies, constraints etc.
btTypedConstraint * getConstraintByName(const char *name)
virtual class btCompoundShape * createCompoundShape()
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 ...
The btTriangleIndexVertexArray allows to access multiple triangle meshes, by indexing into existing t...
btHashMap< btHashPtr, btOptimizedBvh * > m_bvhMap
btAlignedObjectArray< btVector3DoubleData * > m_doubleVertexArrays
btAlignedObjectArray< btStridingMeshInterfaceData * > m_allocatedbtStridingMeshInterfaceDatas
btTypedConstraint * getConstraintByIndex(int index) const
virtual btGImpactMeshShape * createGimpactShape(btStridingMeshInterface *trimesh)
btHashMap< btHashString, btTypedConstraint * > m_nameConstraintMap
virtual btGearConstraint * createGearConstraint(btRigidBody &rbA, btRigidBody &rbB, const btVector3 &axisInA, const btVector3 &axisInB, btScalar ratio)
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 ...
int getNumConstraints() const
virtual btCollisionShape * createConeShapeZ(btScalar radius, btScalar height)
virtual btOptimizedBvh * createOptimizedBvh()
acceleration and connectivity structures
btHashMap< btHashPtr, btCollisionShape * > m_shapeMap
btHashMap< btHashPtr, btTriangleInfoMap * > m_timMap
char * duplicateName(const char *name)
btCollisionObject can be used to manage collision detection objects.
virtual btCollisionShape * createBoxShape(const btVector3 &halfExtents)
btAlignedObjectArray< btTypedConstraint * > m_allocatedConstraints
virtual class btScaledBvhTriangleMeshShape * createScaledTrangleMeshShape(btBvhTriangleMeshShape *meshShape, const btVector3 &localScalingbtBvhTriangleMeshShape)
virtual btGeneric6DofSpring2Constraint * createGeneric6DofSpring2Constraint(btRigidBody &rbA, btRigidBody &rbB, const btTransform &frameInA, const btTransform &frameInB, int rotateOrder)
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
btAlignedObjectArray< int * > m_indexArrays
void convertConstraintFloat(btTypedConstraintFloatData *constraintData, btRigidBody *rbA, btRigidBody *rbB, int fileVersion)
int getVerboseMode() const
virtual void setDynamicsWorldInfo(const btVector3 &gravity, const btContactSolverInfo &solverInfo)
those virtuals are called by load and can be overridden by the user
virtual btTriangleIndexVertexArray * createMeshInterface(btStridingMeshInterfaceData &meshData)
virtual btCollisionShape * createConeShapeY(btScalar radius, btScalar height)
btVector3 can be used to represent 3D points and vectors.
btTriangleInfoMap * getTriangleInfoMapByIndex(int index) const
virtual btPoint2PointConstraint * createPoint2PointConstraint(btRigidBody &rbA, btRigidBody &rbB, const btVector3 &pivotInA, const btVector3 &pivotInB)
constraints
btConeTwistConstraint can be used to simulate ragdoll joints (upper arm, leg etc) ...
The btStridingMeshInterface is the interface class for high performance generic access to triangle me...
btAlignedObjectArray< char * > m_allocatedNames
TypedConstraint is the baseclass for Bullet constraints and vehicles.
static btRigidBody & getFixedBody()
void setVerboseMode(int verboseMode)
btAlignedObjectArray< btCollisionShape * > m_allocatedCollisionShapes
virtual btHingeConstraint * createHingeConstraint(btRigidBody &rbA, btRigidBody &rbB, const btTransform &rbAFrame, const btTransform &rbBFrame, bool useReferenceFrameA=false)
The btScaledBvhTriangleMeshShape allows to instance a scaled version of an existing btBvhTriangleMesh...
btCollisionShape * getCollisionShapeByIndex(int index)
btRigidBody * getRigidBodyByName(const char *name)
btHashMap< btHashPtr, btCollisionObject * > m_bodyMap
virtual btSliderConstraint * createSliderConstraint(btRigidBody &rbA, btRigidBody &rbB, const btTransform &frameInA, const btTransform &frameInB, bool useLinearReferenceFrameA)
The btConvexHullShape implements an implicit convex hull of an array of vertices. ...
The btTriangleInfoMap stores edge angle information for some triangles. You can compute this informat...
int getNumRigidBodies() const
The btCompoundShape allows to store multiple other btCollisionShapes This allows for moving concave c...
btAlignedObjectArray< btTriangleIndexVertexArray * > m_allocatedTriangleIndexArrays
btAlignedObjectArray< btCollisionObject * > m_allocatedRigidBodies
virtual ~btWorldImporter()
btDynamicsWorld * m_dynamicsWorld
void setImporterFlags(int importerFlags)
btAlignedObjectArray< btVector3FloatData * > m_floatVertexArrays
btHashMap< btHashPtr, const char * > m_objectNameMap
virtual btCollisionShape * createCapsuleShapeX(btScalar radius, btScalar height)
Generic 6 DOF constraint that allows to set spring motors to any translational and rotational DOF...
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 ...
virtual class btMultiSphereShape * createMultiSphereShape(const btVector3 *positions, const btScalar *radi, int numSpheres)
btHashMap< btHashString, btRigidBody * > m_nameBodyMap
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...
void convertConstraintDouble(btTypedConstraintDoubleData *constraintData, btRigidBody *rbA, btRigidBody *rbB, int fileVersion)
btCollisionObject * getRigidBodyByIndex(int index) const