Allow the user to attach user data to a ProxyShape object

This commit is contained in:
Daniel Chappuis 2014-08-04 22:57:24 +02:00
parent 0fa88dccfa
commit 47b2eb457a
2 changed files with 20 additions and 1 deletions

View File

@ -8,7 +8,7 @@ using namespace reactphysics3d;
ProxyShape::ProxyShape(CollisionBody* body, CollisionShape* shape, const Transform& transform, ProxyShape::ProxyShape(CollisionBody* body, CollisionShape* shape, const Transform& transform,
decimal mass) decimal mass)
:mBody(body), mCollisionShape(shape), mLocalToBodyTransform(transform), mMass(mass), :mBody(body), mCollisionShape(shape), mLocalToBodyTransform(transform), mMass(mass),
mNext(NULL), mBroadPhaseID(-1), mCachedCollisionData(NULL) { mNext(NULL), mBroadPhaseID(-1), mCachedCollisionData(NULL), mUserData(NULL) {
} }

View File

@ -44,6 +44,9 @@ class ProxyShape {
/// Cached collision data /// Cached collision data
void* mCachedCollisionData; void* mCachedCollisionData;
/// Pointer to user data
void* mUserData;
// -------------------- Methods -------------------- // // -------------------- Methods -------------------- //
/// Private copy-constructor /// Private copy-constructor
@ -81,6 +84,12 @@ class ProxyShape {
/// Return the mass of the collision shape /// Return the mass of the collision shape
decimal getMass() const; decimal getMass() const;
/// Return a pointer to the user data attached to this body
void* getUserData() const;
/// Attach user data to this body
void setUserData(void* userData);
/// Return the local to parent body transform /// Return the local to parent body transform
const Transform& getLocalToBodyTransform() const; const Transform& getLocalToBodyTransform() const;
@ -121,6 +130,16 @@ inline decimal ProxyShape::getMass() const {
return mMass; return mMass;
} }
// Return a pointer to the user data attached to this body
inline void* ProxyShape::getUserData() const {
return mUserData;
}
// Attach user data to this body
inline void ProxyShape::setUserData(void* userData) {
mUserData = userData;
}
// Return the local to parent body transform // Return the local to parent body transform
inline const Transform& ProxyShape::getLocalToBodyTransform() const { inline const Transform& ProxyShape::getLocalToBodyTransform() const {
return mLocalToBodyTransform; return mLocalToBodyTransform;