Remove Body::mId attribute

This commit is contained in:
Daniel Chappuis 2019-07-04 20:24:09 +02:00
parent 204c9cd50d
commit 236a855c8d
15 changed files with 125 additions and 181 deletions

View File

@ -35,8 +35,8 @@ using namespace reactphysics3d;
/**
* @param id ID of the new body
*/
Body::Body(Entity entity, bodyindex id)
: mID(id), mEntity(entity), mIsAllowedToSleep(true), mIsActive(true),
Body::Body(Entity entity)
: mEntity(entity), mIsAllowedToSleep(true), mIsActive(true),
mIsSleeping(false), mSleepTime(0), mUserData(nullptr) {
#ifdef IS_LOGGING_ACTIVE
@ -55,7 +55,7 @@ void Body::setIsActive(bool isActive) {
setIsSleeping(isActive);
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(mID) + ": Set isActive=" +
"Body " + std::to_string(mEntity.id) + ": Set isActive=" +
(mIsActive ? "true" : "false"));
}
@ -82,7 +82,7 @@ void Body::setIsSleeping(bool isSleeping) {
mIsSleeping = isSleeping;
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(mID) + ": Set isSleeping=" +
"Body " + std::to_string(mEntity.id) + ": Set isSleeping=" +
(mIsSleeping ? "true" : "false"));
}
}
@ -97,7 +97,7 @@ void Body::setIsAllowedToSleep(bool isAllowedToSleep) {
if (!mIsAllowedToSleep) setIsSleeping(false);
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(mID) + ": Set isAllowedToSleep=" +
"Body " + std::to_string(mEntity.id) + ": Set isAllowedToSleep=" +
(mIsAllowedToSleep ? "true" : "false"));
}

View File

@ -50,10 +50,6 @@ class Body {
// -------------------- Attributes -------------------- //
/// ID of the body
// TODO : Remove this
bodyindex mID;
/// Identifier of the entity in the ECS
Entity mEntity;
@ -93,7 +89,7 @@ class Body {
// -------------------- Methods -------------------- //
/// Constructor
Body(Entity entity, bodyindex id);
Body(Entity entity);
/// Deleted copy-constructor
Body(const Body& body) = delete;
@ -104,9 +100,6 @@ class Body {
/// Destructor
virtual ~Body() = default;
/// Return the ID of the body
bodyindex getId() const;
/// Return the corresponding entity of the body
Entity getEntity() const;
@ -142,6 +135,7 @@ class Body {
// TODO : Check if those operators are still used
/*
/// Smaller than operator
bool operator<(const Body& body2) const;
@ -153,20 +147,13 @@ class Body {
/// Not equal operator
bool operator!=(const Body& body2) const;
*/
// -------------------- Friendship -------------------- //
friend class DynamicsWorld;
};
// Return the id of the body
/**
* @return The id of the body
*/
inline bodyindex Body::getId() const {
return mID;
}
// Return the corresponding entity of the body
/**
* @return The entity of the body
@ -224,6 +211,7 @@ inline void Body::setLogger(Logger* logger) {
#endif
/*
// Smaller than operator
inline bool Body::operator<(const Body& body2) const {
return (mID < body2.mID);
@ -243,7 +231,8 @@ inline bool Body::operator==(const Body& body2) const {
inline bool Body::operator!=(const Body& body2) const {
return (mID != body2.mID);
}
*/
}
#endif
#endif

View File

@ -39,8 +39,8 @@ using namespace reactphysics3d;
* @param world The physics world where the body is created
* @param id ID of the body
*/
CollisionBody::CollisionBody(CollisionWorld& world, Entity entity, bodyindex id)
: Body(entity, id), mType(BodyType::DYNAMIC), mWorld(world) {
CollisionBody::CollisionBody(CollisionWorld& world, Entity entity)
: Body(entity), mType(BodyType::DYNAMIC), mWorld(world) {
#ifdef IS_PROFILING_ACTIVE
mProfiler = nullptr;
@ -112,7 +112,7 @@ ProxyShape* CollisionBody::addCollisionShape(CollisionShape* collisionShape,
mWorld.mCollisionDetection.addProxyCollisionShape(proxyShape, aabb);
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(mID) + ": Proxy shape " + std::to_string(proxyShape->getBroadPhaseId()) + " added to body");
"Body " + std::to_string(mEntity.id) + ": Proxy shape " + std::to_string(proxyShape->getBroadPhaseId()) + " added to body");
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::ProxyShape,
"ProxyShape " + std::to_string(proxyShape->getBroadPhaseId()) + ": collisionShape=" +
@ -166,7 +166,7 @@ ProxyShape* CollisionBody::getProxyShape(uint proxyShapeIndex) {
void CollisionBody::removeCollisionShape(ProxyShape* proxyShape) {
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(mID) + ": Proxy shape " + std::to_string(proxyShape->getBroadPhaseId()) + " removed from body");
"Body " + std::to_string(mEntity.id) + ": Proxy shape " + std::to_string(proxyShape->getBroadPhaseId()) + " removed from body");
// Remove the proxy-shape from the broad-phase
if (proxyShape->getBroadPhaseId() != -1) {
@ -268,7 +268,7 @@ void CollisionBody::setIsActive(bool isActive) {
}
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(mID) + ": Set isActive=" +
"Body " + std::to_string(mEntity.id) + ": Set isActive=" +
(mIsActive ? "true" : "false"));
}
@ -392,7 +392,7 @@ void CollisionBody::setTransform(const Transform& transform) {
updateBroadPhaseState();
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(mID) + ": Set transform=" + transform.to_string());
"Body " + std::to_string(mEntity.id) + ": Set transform=" + transform.to_string());
}
// Set the variable to know whether or not the body is sleeping
@ -465,7 +465,7 @@ void CollisionBody::setType(BodyType type) {
}
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(mID) + ": Set type=" +
"Body " + std::to_string(mEntity.id) + ": Set type=" +
(mType == BodyType::STATIC ? "Static" : (mType == BodyType::DYNAMIC ? "Dynamic" : "Kinematic")));
}

View File

@ -101,7 +101,7 @@ class CollisionBody : public Body {
// -------------------- Methods -------------------- //
/// Constructor
CollisionBody(CollisionWorld& world, Entity entity, bodyindex id);
CollisionBody(CollisionWorld& world, Entity entity);
/// Destructor
virtual ~CollisionBody() override;

View File

@ -39,8 +39,8 @@ using namespace reactphysics3d;
* @param world The world where the body has been added
* @param id The ID of the body
*/
RigidBody::RigidBody(const Transform& transform, CollisionWorld& world, Entity entity, bodyindex id)
: CollisionBody(world, entity, id), mMaterial(world.mConfig), mJointsList(nullptr),
RigidBody::RigidBody(const Transform& transform, CollisionWorld& world, Entity entity)
: CollisionBody(world, entity), mMaterial(world.mConfig), mJointsList(nullptr),
mIsCenterOfMassSetByUser(false), mIsInertiaTensorSetByUser(false) {
// Compute the inverse mass
@ -197,7 +197,7 @@ void RigidBody::setInertiaTensorLocal(const Matrix3x3& inertiaTensorLocal) {
updateInertiaTensorInverseWorld();
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(mID) + ": Set inertiaTensorLocal=" + inertiaTensorLocal.to_string());
"Body " + std::to_string(mEntity.id) + ": Set inertiaTensorLocal=" + inertiaTensorLocal.to_string());
}
// Apply an external force to the body at its center of mass.
@ -260,7 +260,7 @@ void RigidBody::setInverseInertiaTensorLocal(const Matrix3x3& inverseInertiaTens
updateInertiaTensorInverseWorld();
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(mID) + ": Set inverseInertiaTensorLocal=" + inverseInertiaTensorLocal.to_string());
"Body " + std::to_string(mEntity.id) + ": Set inverseInertiaTensorLocal=" + inverseInertiaTensorLocal.to_string());
}
// Set the local center of mass of the body (in local-space coordinates)
@ -293,7 +293,7 @@ void RigidBody::setCenterOfMassLocal(const Vector3& centerOfMassLocal) {
mWorld.mDynamicsComponents.setLinearVelocity(mEntity, linearVelocity);
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(mID) + ": Set centerOfMassLocal=" + centerOfMassLocal.to_string());
"Body " + std::to_string(mEntity.id) + ": Set centerOfMassLocal=" + centerOfMassLocal.to_string());
}
// Set the mass of the rigid body
@ -315,7 +315,7 @@ void RigidBody::setMass(decimal mass) {
}
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(mID) + ": Set mass=" + std::to_string(mass));
"Body " + std::to_string(mEntity.id) + ": Set mass=" + std::to_string(mass));
}
// Remove a joint from the joints list
@ -429,7 +429,7 @@ ProxyShape* RigidBody::addCollisionShape(CollisionShape* collisionShape,
recomputeMassInformation();
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(mID) + ": Proxy shape " + std::to_string(proxyShape->getBroadPhaseId()) + " added to body");
"Body " + std::to_string(mEntity.id) + ": Proxy shape " + std::to_string(proxyShape->getBroadPhaseId()) + " added to body");
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::ProxyShape,
"ProxyShape " + std::to_string(proxyShape->getBroadPhaseId()) + ": collisionShape=" +
@ -463,7 +463,7 @@ void RigidBody::enableGravity(bool isEnabled) {
mWorld.mDynamicsComponents.setIsGravityEnabled(mEntity, isEnabled);
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(mID) + ": Set isGravityEnabled=" +
"Body " + std::to_string(mEntity.id) + ": Set isGravityEnabled=" +
(isEnabled ? "true" : "false"));
}
@ -477,7 +477,7 @@ void RigidBody::setLinearDamping(decimal linearDamping) {
mWorld.mDynamicsComponents.setLinearDamping(mEntity, linearDamping);
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(mID) + ": Set linearDamping=" + std::to_string(linearDamping));
"Body " + std::to_string(mEntity.id) + ": Set linearDamping=" + std::to_string(linearDamping));
}
// Set the angular damping factor. This is the ratio of the angular velocity
@ -490,7 +490,7 @@ void RigidBody::setAngularDamping(decimal angularDamping) {
mWorld.mDynamicsComponents.setAngularDamping(mEntity, angularDamping);
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(mID) + ": Set angularDamping=" + std::to_string(angularDamping));
"Body " + std::to_string(mEntity.id) + ": Set angularDamping=" + std::to_string(angularDamping));
}
/// Update the transform of the body after a change of the center of mass
@ -513,7 +513,7 @@ void RigidBody::setMaterial(const Material& material) {
mMaterial = material;
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(mID) + ": Set Material" + mMaterial.to_string());
"Body " + std::to_string(mEntity.id) + ": Set Material" + mMaterial.to_string());
}
// Set the linear velocity of the rigid body.
@ -534,7 +534,7 @@ void RigidBody::setLinearVelocity(const Vector3& linearVelocity) {
}
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(mID) + ": Set linearVelocity=" + linearVelocity.to_string());
"Body " + std::to_string(mEntity.id) + ": Set linearVelocity=" + linearVelocity.to_string());
}
// Set the angular velocity.
@ -557,7 +557,7 @@ void RigidBody::setAngularVelocity(const Vector3& angularVelocity) {
}
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(mID) + ": Set angularVelocity=" + angularVelocity.to_string());
"Body " + std::to_string(mEntity.id) + ": Set angularVelocity=" + angularVelocity.to_string());
}
// Set the current position and orientation

View File

@ -86,7 +86,7 @@ class RigidBody : public CollisionBody {
// -------------------- Methods -------------------- //
/// Constructor
RigidBody(const Transform& transform, CollisionWorld& world, Entity entity, bodyindex id);
RigidBody(const Transform& transform, CollisionWorld& world, Entity entity);
/// Destructor
virtual ~RigidBody() override;

View File

@ -244,7 +244,7 @@ void CollisionDetection::computeMiddlePhase(OverlappingPairMap& overlappingPairs
if (!isBody1Active && !isBody2Active) continue;
// Check if the bodies are in the set of bodies that cannot collide between each other
bodyindexpair bodiesIndex = OverlappingPair::computeBodiesIndexPair(body1, body2);
bodypair bodiesIndex = OverlappingPair::computeBodiesIndexPair(body1, body2);
if (mNoCollisionPairs.contains(bodiesIndex) > 0) continue;
bool isShape1Convex = shape1->getCollisionShape()->isConvex();

View File

@ -95,7 +95,7 @@ class CollisionDetection {
BroadPhaseSystem mBroadPhaseSystem;
/// Set of pair of bodies that cannot collide between each other
Set<bodyindexpair> mNoCollisionPairs;
Set<bodypair> mNoCollisionPairs;
/// Map a broad-phase id with the corresponding entity of the proxy-shape
Map<int, Entity> mMapBroadPhaseIdToProxyShapeEntity;

View File

@ -62,8 +62,8 @@ using int32 = std::int32_t;
using uint32 = std::uint32_t;
// TODO : Delete this
using bodyindex = luint;
using bodyindexpair = Pair<bodyindex, bodyindex>;
struct Entity;
using bodypair = Pair<Entity, Entity>;
// ------------------- Enumerations ------------------- //

View File

@ -41,9 +41,8 @@ CollisionWorld::CollisionWorld(const WorldSettings& worldSettings, Logger* logge
mBodyComponents(mMemoryManager.getBaseAllocator()), mTransformComponents(mMemoryManager.getBaseAllocator()),
mProxyShapesComponents(mMemoryManager.getBaseAllocator()), mDynamicsComponents(mMemoryManager.getBaseAllocator()),
mCollisionDetection(this, mProxyShapesComponents, mTransformComponents, mDynamicsComponents, mMemoryManager),
mBodies(mMemoryManager.getPoolAllocator()), mCurrentBodyId(0), mFreeBodiesIds(mMemoryManager.getPoolAllocator()),
mEventListener(nullptr), mName(worldSettings.worldName),
mIsProfilerCreatedByUser(profiler != nullptr),
mBodies(mMemoryManager.getPoolAllocator()), mEventListener(nullptr),
mName(worldSettings.worldName), mIsProfilerCreatedByUser(profiler != nullptr),
mIsLoggerCreatedByUser(logger != nullptr) {
// Automatically generate a name for the world
@ -148,18 +147,12 @@ CollisionBody* CollisionWorld::createCollisionBody(const Transform& transform) {
// Create a new entity for the body
Entity entity = mEntityManager.createEntity();
// Get the next available body ID
bodyindex bodyID = computeNextAvailableBodyId();
// Largest index cannot be used (it is used for invalid index)
assert(bodyID < std::numeric_limits<reactphysics3d::bodyindex>::max());
mTransformComponents.addComponent(entity, false, TransformComponents::TransformComponent(transform));
// Create the collision body
CollisionBody* collisionBody = new (mMemoryManager.allocate(MemoryManager::AllocationType::Pool,
sizeof(CollisionBody)))
CollisionBody(*this, entity, bodyID);
CollisionBody(*this, entity);
assert(collisionBody != nullptr);
@ -181,7 +174,7 @@ CollisionBody* CollisionWorld::createCollisionBody(const Transform& transform) {
#endif
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(bodyID) + ": New collision body created");
"Body " + std::to_string(entity.id) + ": New collision body created");
// Return the pointer to the rigid body
return collisionBody;
@ -194,14 +187,11 @@ CollisionBody* CollisionWorld::createCollisionBody(const Transform& transform) {
void CollisionWorld::destroyCollisionBody(CollisionBody* collisionBody) {
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(collisionBody->getId()) + ": collision body destroyed");
"Body " + std::to_string(collisionBody->getEntity().id) + ": collision body destroyed");
// Remove all the collision shapes of the body
collisionBody->removeAllCollisionShapes();
// Add the body ID to the list of free IDs
mFreeBodiesIds.add(collisionBody->getId());
mBodyComponents.removeComponent(collisionBody->getEntity());
mTransformComponents.removeComponent(collisionBody->getEntity());
mEntityManager.destroyEntity(collisionBody->getEntity());
@ -216,23 +206,6 @@ void CollisionWorld::destroyCollisionBody(CollisionBody* collisionBody) {
mMemoryManager.release(MemoryManager::AllocationType::Pool, collisionBody, sizeof(CollisionBody));
}
// Return the next available body ID
bodyindex CollisionWorld::computeNextAvailableBodyId() {
// Compute the body ID
bodyindex bodyID;
if (mFreeBodiesIds.size() != 0) {
bodyID = mFreeBodiesIds[mFreeBodiesIds.size() - 1];
mFreeBodiesIds.removeAt(mFreeBodiesIds.size() - 1);
}
else {
bodyID = mCurrentBodyId;
mCurrentBodyId++;
}
return bodyID;
}
// Notify the world if a body is disabled (sleeping or inactive) or not
void CollisionWorld::notifyBodyDisabled(Entity bodyEntity, bool isDisabled) {

View File

@ -94,12 +94,6 @@ class CollisionWorld {
/// All the bodies (rigid and soft) of the world
List<CollisionBody*> mBodies;
/// Current body id
bodyindex mCurrentBodyId;
/// List of free ids for rigid bodies
List<luint> mFreeBodiesIds;
/// Pointer to an event listener object
EventListener* mEventListener;
@ -129,9 +123,6 @@ class CollisionWorld {
// -------------------- Methods -------------------- //
/// Return the next available body id
bodyindex computeNextAvailableBodyId();
/// Notify the world if a body is disabled (slepping or inactive) or not
void notifyBodyDisabled(Entity entity, bool isDisabled);

View File

@ -375,18 +375,12 @@ RigidBody* DynamicsWorld::createRigidBody(const Transform& transform) {
// Create a new entity for the body
Entity entity = mEntityManager.createEntity();
// Compute the body ID
bodyindex bodyID = computeNextAvailableBodyId();
// Largest index cannot be used (it is used for invalid index)
assert(bodyID < std::numeric_limits<reactphysics3d::bodyindex>::max());
mTransformComponents.addComponent(entity, false, TransformComponents::TransformComponent(transform));
mDynamicsComponents.addComponent(entity, false, DynamicsComponents::DynamicsComponent(transform.getPosition()));
// Create the rigid body
RigidBody* rigidBody = new (mMemoryManager.allocate(MemoryManager::AllocationType::Pool,
sizeof(RigidBody))) RigidBody(transform, *this, entity, bodyID);
sizeof(RigidBody))) RigidBody(transform, *this, entity);
assert(rigidBody != nullptr);
BodyComponents::BodyComponent bodyComponent(rigidBody);
@ -405,7 +399,7 @@ RigidBody* DynamicsWorld::createRigidBody(const Transform& transform) {
#endif
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(bodyID) + ": New collision body created");
"Body " + std::to_string(entity.id) + ": New collision body created");
// Return the pointer to the rigid body
return rigidBody;
@ -418,14 +412,11 @@ RigidBody* DynamicsWorld::createRigidBody(const Transform& transform) {
void DynamicsWorld::destroyRigidBody(RigidBody* rigidBody) {
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(rigidBody->getId()) + ": rigid body destroyed");
"Body " + std::to_string(rigidBody->getEntity().id) + ": rigid body destroyed");
// Remove all the collision shapes of the body
rigidBody->removeAllCollisionShapes();
// Add the body ID to the list of free IDs
mFreeBodiesIds.add(rigidBody->getId());
// Destroy all the joints in which the rigid body to be destroyed is involved
JointListElement* element;
for (element = rigidBody->mJointsList; element != nullptr; element = element->next) {
@ -590,7 +581,7 @@ void DynamicsWorld::addJointToBody(Joint* joint) {
joint->mBody1->mJointsList = jointListElement1;
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(joint->mBody1->getId()) + ": Joint " + std::to_string(joint->getId()) +
"Body " + std::to_string(joint->mBody1->getEntity().id) + ": Joint " + std::to_string(joint->getId()) +
" added to body");
// Add the joint at the beginning of the linked list of joints of the second body
@ -601,7 +592,7 @@ void DynamicsWorld::addJointToBody(Joint* joint) {
joint->mBody2->mJointsList = jointListElement2;
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
"Body " + std::to_string(joint->mBody2->getId()) + ": Joint " + std::to_string(joint->getId()) +
"Body " + std::to_string(joint->mBody2->getEntity().id) + ": Joint " + std::to_string(joint->getId()) +
" added to body");
}

View File

@ -180,7 +180,7 @@ class OverlappingPair {
static OverlappingPairId computeID(int shape1BroadPhaseId, int shape2BroadPhaseId);
/// Return the pair of bodies index of the pair
static bodyindexpair computeBodiesIndexPair(CollisionBody* body1, CollisionBody* body2);
static bodypair computeBodiesIndexPair(CollisionBody* body1, CollisionBody* body2);
// -------------------- Friendship -------------------- //
@ -225,13 +225,13 @@ inline OverlappingPair::OverlappingPairId OverlappingPair::computeID(int shape1B
}
// Return the pair of bodies index
inline bodyindexpair OverlappingPair::computeBodiesIndexPair(CollisionBody* body1,
inline bodypair OverlappingPair::computeBodiesIndexPair(CollisionBody* body1,
CollisionBody* body2) {
// Construct the pair of body index
bodyindexpair indexPair = body1->getId() < body2->getId() ?
bodyindexpair(body1->getId(), body2->getId()) :
bodyindexpair(body2->getId(), body1->getId());
bodypair indexPair = body1->getEntity().id < body2->getEntity().id ?
bodypair(body1->getEntity(), body2->getEntity()) :
bodypair(body2->getEntity(), body1->getEntity());
assert(indexPair.first != indexPair.second);
return indexPair;
}

View File

@ -631,7 +631,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
bool swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
bool swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
Vector3 localBody1Point(3, 0, 0);
@ -655,7 +655,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -676,7 +676,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -697,7 +697,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -747,7 +747,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
bool swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
bool swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
Vector3 localBody1Point(3, 0, 0);
@ -771,7 +771,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -792,7 +792,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -813,7 +813,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -853,7 +853,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
localBody1Point = std::sqrt(4.5f) * Vector3(1, -1, 0);
@ -877,7 +877,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -898,7 +898,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -919,7 +919,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -959,7 +959,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
localBody1Point = std::sqrt(9.0f / 3.0f) * Vector3(1, -1, -1);
@ -983,7 +983,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -1004,7 +1004,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -1025,7 +1025,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -1075,7 +1075,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
bool swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
bool swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
Vector3 localBody1Point(0, -3, 0);
@ -1099,7 +1099,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -1120,7 +1120,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -1141,7 +1141,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -1181,7 +1181,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
localBody1Point = Vector3(3, 0, 0);
@ -1205,7 +1205,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -1226,7 +1226,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -1247,7 +1247,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -1297,7 +1297,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
bool swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
bool swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
Vector3 localBody1Point(3, 0, 0);
@ -1321,7 +1321,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -1342,7 +1342,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -1363,7 +1363,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -1403,7 +1403,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
localBody1Point = std::sqrt(4.5f) * Vector3(1, -1, 0);
@ -1427,7 +1427,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -1448,7 +1448,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -1469,7 +1469,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -1509,7 +1509,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
localBody1Point = std::sqrt(9.0f / 3.0f) * Vector3(1, -1, -1);
@ -1533,7 +1533,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -1554,7 +1554,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -1575,7 +1575,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -1625,7 +1625,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
bool swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
bool swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
Vector3 localBody1Point(0, -3, 0);
@ -1649,7 +1649,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -1670,7 +1670,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -1691,7 +1691,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mSphereBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mSphereBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -1741,7 +1741,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
// True if the bodies are swapped in the collision callback response
bool swappedBodiesCollisionData = collisionData->getBody1()->getId() != mBoxBody1->getId();
bool swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mBoxBody1->getEntity();
// Test contact points
Vector3 localBody1Point1(-3, -2, -2);
@ -1783,7 +1783,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mBoxBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mBoxBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
@ -1812,7 +1812,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mBoxBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mBoxBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
@ -1842,7 +1842,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mBoxBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mBoxBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
@ -1901,7 +1901,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
// True if the bodies are swapped in the collision callback response
bool swappedBodiesCollisionData = collisionData->getBody1()->getId() != mBoxBody1->getId();
bool swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mBoxBody1->getEntity();
// Test contact points
Vector3 localBody1Point1(-3, -2, -2);
@ -1943,7 +1943,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mBoxBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mBoxBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
@ -1972,7 +1972,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mBoxBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mBoxBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
@ -2002,7 +2002,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mBoxBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mBoxBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
@ -2061,7 +2061,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
// True if the bodies are swapped in the collision callback response
bool swappedBodiesCollisionData = collisionData->getBody1()->getId() != mConvexMeshBody1->getId();
bool swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mConvexMeshBody1->getEntity();
// Test contact points
Vector3 localBody1Point1(-3, -2, -2);
@ -2103,7 +2103,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mConvexMeshBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mConvexMeshBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
@ -2132,7 +2132,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mConvexMeshBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mConvexMeshBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
@ -2162,7 +2162,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mConvexMeshBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mConvexMeshBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
@ -2221,7 +2221,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
bool swappedBodiesCollisionData = collisionData->getBody1()->getId() != mBoxBody1->getId();
bool swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mBoxBody1->getEntity();
// Test contact points
Vector3 localBody1Point1(3, 1, 0);
@ -2244,7 +2244,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mBoxBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mBoxBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
@ -2265,7 +2265,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mBoxBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mBoxBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
@ -2286,7 +2286,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mBoxBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mBoxBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
@ -2336,7 +2336,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
bool swappedBodiesCollisionData = collisionData->getBody1()->getId() != mConvexMeshBody1->getId();
bool swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mConvexMeshBody1->getEntity();
// Test contact points
Vector3 localBody1Point1(3, 1, 0);
@ -2359,7 +2359,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mConvexMeshBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mConvexMeshBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
@ -2380,7 +2380,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mConvexMeshBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mConvexMeshBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
@ -2401,7 +2401,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mConvexMeshBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mConvexMeshBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
@ -2647,7 +2647,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
bool swappedBodiesCollisionData = collisionData->getBody1()->getId() != mCapsuleBody1->getId();
bool swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mCapsuleBody1->getEntity();
// Test contact points
Vector3 localBody1Point(2, 3, 0);
@ -2671,7 +2671,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mCapsuleBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mCapsuleBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -2692,7 +2692,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mCapsuleBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mCapsuleBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -2713,7 +2713,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mCapsuleBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mCapsuleBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -2753,7 +2753,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mCapsuleBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mCapsuleBody1->getEntity();
// Test contact points
localBody1Point = Vector3(0, 5, 0);
@ -2777,7 +2777,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mCapsuleBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mCapsuleBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -2798,7 +2798,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mCapsuleBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mCapsuleBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -2819,7 +2819,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mCapsuleBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mCapsuleBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -2869,7 +2869,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
bool swappedBodiesCollisionData = collisionData->getBody1()->getId() != mCapsuleBody1->getId();
bool swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mCapsuleBody1->getEntity();
// Test contact points
Vector3 localBody1Point(0, -5, 0);
@ -2893,7 +2893,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mCapsuleBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mCapsuleBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -2914,7 +2914,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mCapsuleBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mCapsuleBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
@ -2935,7 +2935,7 @@ class TestCollisionWorld : public Test {
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
// True if the bodies are swapped in the collision callback response
swappedBodiesCollisionData = collisionData->getBody1()->getId() != mCapsuleBody1->getId();
swappedBodiesCollisionData = collisionData->getBody1()->getEntity() != mCapsuleBody1->getEntity();
// Test contact points
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,

View File

@ -66,7 +66,7 @@ class WorldRaycastCallback : public RaycastCallback {
virtual decimal notifyRaycastHit(const RaycastInfo& info) override {
if (shapeToTest->getBody()->getId() == info.body->getId()) {
if (shapeToTest->getBody()->getEntity() == info.body->getEntity()) {
raycastInfo.body = info.body;
raycastInfo.hitFraction = info.hitFraction;
raycastInfo.proxyShape = info.proxyShape;