Added name fields to Collision Object and Shape.

Added name field to Typed Constraint.
Added accessor for gravity in dynamics world.
This commit is contained in:
johnmccutchan
2008-01-30 01:52:07 +00:00
parent 5c40e615bd
commit 8fff5c54e9
10 changed files with 52 additions and 2 deletions

View File

@@ -26,6 +26,7 @@ btCollisionObject::btCollisionObject()
m_deactivationTime(btScalar(0.)),
m_friction(btScalar(0.5)),
m_restitution(btScalar(0.)),
m_objectName (0),
m_userObjectPointer(0),
m_internalOwner(0),
m_hitFraction(btScalar(1.)),

View File

@@ -69,6 +69,9 @@ protected:
///m_internalOwner is reserved to point to Bullet's btRigidBody. Don't use this, use m_userObjectPointer instead.
void* m_internalOwner;
// setName, getName
char* m_objectName;
///time of impact calculation
btScalar m_hitFraction;
@@ -334,6 +337,18 @@ public:
m_userObjectPointer = userPointer;
}
char* getName () const
{
return m_objectName;
}
/// the user is responsible for the memory management of name
void setName (char* name)
{
m_objectName = name;
}
inline bool checkCollideWith(btCollisionObject* co)
{
if (m_checkCollideWith)

View File

@@ -27,10 +27,11 @@ class btCollisionShape
{
void* m_userPointer;
char* m_shapeName;
public:
btCollisionShape() : m_userPointer(0)
btCollisionShape() : m_userPointer(0), m_shapeName (0)
{
}
virtual ~btCollisionShape()
@@ -103,7 +104,16 @@ public:
return m_userPointer;
}
char* getShapeName () const
{
return m_shapeName;
}
/// the user is responsible for the memory management of name
void setShapeName (char* name)
{
m_shapeName = name;
}
};
#endif //COLLISION_SHAPE_H

View File

@@ -33,6 +33,7 @@ class btTypedConstraint
{
int m_userConstraintType;
int m_userConstraintId;
char* m_name;
btTypedConstraintType m_constraintType;
@@ -107,6 +108,16 @@ public:
{
return m_constraintType;
}
char* getName () const
{
return m_name;
}
void setName (char* name)
{
m_name = name;
}
};
#endif //TYPED_CONSTRAINT_H

View File

@@ -391,6 +391,11 @@ void btDiscreteDynamicsWorld::setGravity(const btVector3& gravity)
}
}
btVector3 btDiscreteDynamicsWorld::getGravity () const
{
return m_gravity;
}
void btDiscreteDynamicsWorld::removeRigidBody(btRigidBody* body)
{

View File

@@ -118,6 +118,7 @@ public:
virtual void setGravity(const btVector3& gravity);
virtual btVector3 getGravity () const;
virtual void addRigidBody(btRigidBody* body);

View File

@@ -61,6 +61,7 @@ class btDynamicsWorld : public btCollisionWorld
//once a rigidbody is added to the dynamics world, it will get this gravity assigned
//existing rigidbodies in the world get gravity assigned too, during this method
virtual void setGravity(const btVector3& gravity) = 0;
virtual btVector3 getGravity () const = 0;
virtual void addRigidBody(btRigidBody* body) = 0;

View File

@@ -449,7 +449,6 @@ public:
return m_constraintRefs.size();
}
int m_debugBodyId;
};

View File

@@ -121,6 +121,11 @@ void btSimpleDynamicsWorld::setGravity(const btVector3& gravity)
}
}
btVector3 btSimpleDynamicsWorld::getGravity () const
{
return m_gravity;
}
void btSimpleDynamicsWorld::removeRigidBody(btRigidBody* body)
{
removeCollisionObject(body);

View File

@@ -52,6 +52,8 @@ public:
virtual void setGravity(const btVector3& gravity);
virtual btVector3 getGravity () const;
virtual void addRigidBody(btRigidBody* body);
virtual void removeRigidBody(btRigidBody* body);