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