Remove Body::mId attribute
This commit is contained in:
parent
204c9cd50d
commit
236a855c8d
|
@ -35,8 +35,8 @@ using namespace reactphysics3d;
|
||||||
/**
|
/**
|
||||||
* @param id ID of the new body
|
* @param id ID of the new body
|
||||||
*/
|
*/
|
||||||
Body::Body(Entity entity, bodyindex id)
|
Body::Body(Entity entity)
|
||||||
: mID(id), mEntity(entity), mIsAllowedToSleep(true), mIsActive(true),
|
: mEntity(entity), mIsAllowedToSleep(true), mIsActive(true),
|
||||||
mIsSleeping(false), mSleepTime(0), mUserData(nullptr) {
|
mIsSleeping(false), mSleepTime(0), mUserData(nullptr) {
|
||||||
|
|
||||||
#ifdef IS_LOGGING_ACTIVE
|
#ifdef IS_LOGGING_ACTIVE
|
||||||
|
@ -55,7 +55,7 @@ void Body::setIsActive(bool isActive) {
|
||||||
setIsSleeping(isActive);
|
setIsSleeping(isActive);
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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"));
|
(mIsActive ? "true" : "false"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ void Body::setIsSleeping(bool isSleeping) {
|
||||||
mIsSleeping = isSleeping;
|
mIsSleeping = isSleeping;
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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"));
|
(mIsSleeping ? "true" : "false"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -97,7 +97,7 @@ void Body::setIsAllowedToSleep(bool isAllowedToSleep) {
|
||||||
if (!mIsAllowedToSleep) setIsSleeping(false);
|
if (!mIsAllowedToSleep) setIsSleeping(false);
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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"));
|
(mIsAllowedToSleep ? "true" : "false"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,10 +50,6 @@ class Body {
|
||||||
|
|
||||||
// -------------------- Attributes -------------------- //
|
// -------------------- Attributes -------------------- //
|
||||||
|
|
||||||
/// ID of the body
|
|
||||||
// TODO : Remove this
|
|
||||||
bodyindex mID;
|
|
||||||
|
|
||||||
/// Identifier of the entity in the ECS
|
/// Identifier of the entity in the ECS
|
||||||
Entity mEntity;
|
Entity mEntity;
|
||||||
|
|
||||||
|
@ -93,7 +89,7 @@ class Body {
|
||||||
// -------------------- Methods -------------------- //
|
// -------------------- Methods -------------------- //
|
||||||
|
|
||||||
/// Constructor
|
/// Constructor
|
||||||
Body(Entity entity, bodyindex id);
|
Body(Entity entity);
|
||||||
|
|
||||||
/// Deleted copy-constructor
|
/// Deleted copy-constructor
|
||||||
Body(const Body& body) = delete;
|
Body(const Body& body) = delete;
|
||||||
|
@ -104,9 +100,6 @@ class Body {
|
||||||
/// Destructor
|
/// Destructor
|
||||||
virtual ~Body() = default;
|
virtual ~Body() = default;
|
||||||
|
|
||||||
/// Return the ID of the body
|
|
||||||
bodyindex getId() const;
|
|
||||||
|
|
||||||
/// Return the corresponding entity of the body
|
/// Return the corresponding entity of the body
|
||||||
Entity getEntity() const;
|
Entity getEntity() const;
|
||||||
|
|
||||||
|
@ -142,6 +135,7 @@ class Body {
|
||||||
|
|
||||||
// TODO : Check if those operators are still used
|
// TODO : Check if those operators are still used
|
||||||
|
|
||||||
|
/*
|
||||||
/// Smaller than operator
|
/// Smaller than operator
|
||||||
bool operator<(const Body& body2) const;
|
bool operator<(const Body& body2) const;
|
||||||
|
|
||||||
|
@ -153,20 +147,13 @@ class Body {
|
||||||
|
|
||||||
/// Not equal operator
|
/// Not equal operator
|
||||||
bool operator!=(const Body& body2) const;
|
bool operator!=(const Body& body2) const;
|
||||||
|
*/
|
||||||
|
|
||||||
// -------------------- Friendship -------------------- //
|
// -------------------- Friendship -------------------- //
|
||||||
|
|
||||||
friend class DynamicsWorld;
|
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 corresponding entity of the body
|
||||||
/**
|
/**
|
||||||
* @return The entity of the body
|
* @return The entity of the body
|
||||||
|
@ -224,6 +211,7 @@ inline void Body::setLogger(Logger* logger) {
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
// Smaller than operator
|
// Smaller than operator
|
||||||
inline bool Body::operator<(const Body& body2) const {
|
inline bool Body::operator<(const Body& body2) const {
|
||||||
return (mID < body2.mID);
|
return (mID < body2.mID);
|
||||||
|
@ -243,6 +231,7 @@ inline bool Body::operator==(const Body& body2) const {
|
||||||
inline bool Body::operator!=(const Body& body2) const {
|
inline bool Body::operator!=(const Body& body2) const {
|
||||||
return (mID != body2.mID);
|
return (mID != body2.mID);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,8 +39,8 @@ using namespace reactphysics3d;
|
||||||
* @param world The physics world where the body is created
|
* @param world The physics world where the body is created
|
||||||
* @param id ID of the body
|
* @param id ID of the body
|
||||||
*/
|
*/
|
||||||
CollisionBody::CollisionBody(CollisionWorld& world, Entity entity, bodyindex id)
|
CollisionBody::CollisionBody(CollisionWorld& world, Entity entity)
|
||||||
: Body(entity, id), mType(BodyType::DYNAMIC), mWorld(world) {
|
: Body(entity), mType(BodyType::DYNAMIC), mWorld(world) {
|
||||||
|
|
||||||
#ifdef IS_PROFILING_ACTIVE
|
#ifdef IS_PROFILING_ACTIVE
|
||||||
mProfiler = nullptr;
|
mProfiler = nullptr;
|
||||||
|
@ -112,7 +112,7 @@ ProxyShape* CollisionBody::addCollisionShape(CollisionShape* collisionShape,
|
||||||
mWorld.mCollisionDetection.addProxyCollisionShape(proxyShape, aabb);
|
mWorld.mCollisionDetection.addProxyCollisionShape(proxyShape, aabb);
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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,
|
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::ProxyShape,
|
||||||
"ProxyShape " + std::to_string(proxyShape->getBroadPhaseId()) + ": collisionShape=" +
|
"ProxyShape " + std::to_string(proxyShape->getBroadPhaseId()) + ": collisionShape=" +
|
||||||
|
@ -166,7 +166,7 @@ ProxyShape* CollisionBody::getProxyShape(uint proxyShapeIndex) {
|
||||||
void CollisionBody::removeCollisionShape(ProxyShape* proxyShape) {
|
void CollisionBody::removeCollisionShape(ProxyShape* proxyShape) {
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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
|
// Remove the proxy-shape from the broad-phase
|
||||||
if (proxyShape->getBroadPhaseId() != -1) {
|
if (proxyShape->getBroadPhaseId() != -1) {
|
||||||
|
@ -268,7 +268,7 @@ void CollisionBody::setIsActive(bool isActive) {
|
||||||
}
|
}
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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"));
|
(mIsActive ? "true" : "false"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -392,7 +392,7 @@ void CollisionBody::setTransform(const Transform& transform) {
|
||||||
updateBroadPhaseState();
|
updateBroadPhaseState();
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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
|
// 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,
|
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")));
|
(mType == BodyType::STATIC ? "Static" : (mType == BodyType::DYNAMIC ? "Dynamic" : "Kinematic")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -101,7 +101,7 @@ class CollisionBody : public Body {
|
||||||
// -------------------- Methods -------------------- //
|
// -------------------- Methods -------------------- //
|
||||||
|
|
||||||
/// Constructor
|
/// Constructor
|
||||||
CollisionBody(CollisionWorld& world, Entity entity, bodyindex id);
|
CollisionBody(CollisionWorld& world, Entity entity);
|
||||||
|
|
||||||
/// Destructor
|
/// Destructor
|
||||||
virtual ~CollisionBody() override;
|
virtual ~CollisionBody() override;
|
||||||
|
|
|
@ -39,8 +39,8 @@ using namespace reactphysics3d;
|
||||||
* @param world The world where the body has been added
|
* @param world The world where the body has been added
|
||||||
* @param id The ID of the body
|
* @param id The ID of the body
|
||||||
*/
|
*/
|
||||||
RigidBody::RigidBody(const Transform& transform, CollisionWorld& world, Entity entity, bodyindex id)
|
RigidBody::RigidBody(const Transform& transform, CollisionWorld& world, Entity entity)
|
||||||
: CollisionBody(world, entity, id), mMaterial(world.mConfig), mJointsList(nullptr),
|
: CollisionBody(world, entity), mMaterial(world.mConfig), mJointsList(nullptr),
|
||||||
mIsCenterOfMassSetByUser(false), mIsInertiaTensorSetByUser(false) {
|
mIsCenterOfMassSetByUser(false), mIsInertiaTensorSetByUser(false) {
|
||||||
|
|
||||||
// Compute the inverse mass
|
// Compute the inverse mass
|
||||||
|
@ -197,7 +197,7 @@ void RigidBody::setInertiaTensorLocal(const Matrix3x3& inertiaTensorLocal) {
|
||||||
updateInertiaTensorInverseWorld();
|
updateInertiaTensorInverseWorld();
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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.
|
// Apply an external force to the body at its center of mass.
|
||||||
|
@ -260,7 +260,7 @@ void RigidBody::setInverseInertiaTensorLocal(const Matrix3x3& inverseInertiaTens
|
||||||
updateInertiaTensorInverseWorld();
|
updateInertiaTensorInverseWorld();
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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)
|
// 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);
|
mWorld.mDynamicsComponents.setLinearVelocity(mEntity, linearVelocity);
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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
|
// 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,
|
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
|
// Remove a joint from the joints list
|
||||||
|
@ -429,7 +429,7 @@ ProxyShape* RigidBody::addCollisionShape(CollisionShape* collisionShape,
|
||||||
recomputeMassInformation();
|
recomputeMassInformation();
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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,
|
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::ProxyShape,
|
||||||
"ProxyShape " + std::to_string(proxyShape->getBroadPhaseId()) + ": collisionShape=" +
|
"ProxyShape " + std::to_string(proxyShape->getBroadPhaseId()) + ": collisionShape=" +
|
||||||
|
@ -463,7 +463,7 @@ void RigidBody::enableGravity(bool isEnabled) {
|
||||||
mWorld.mDynamicsComponents.setIsGravityEnabled(mEntity, isEnabled);
|
mWorld.mDynamicsComponents.setIsGravityEnabled(mEntity, isEnabled);
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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"));
|
(isEnabled ? "true" : "false"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -477,7 +477,7 @@ void RigidBody::setLinearDamping(decimal linearDamping) {
|
||||||
mWorld.mDynamicsComponents.setLinearDamping(mEntity, linearDamping);
|
mWorld.mDynamicsComponents.setLinearDamping(mEntity, linearDamping);
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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
|
// 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);
|
mWorld.mDynamicsComponents.setAngularDamping(mEntity, angularDamping);
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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
|
/// 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;
|
mMaterial = material;
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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.
|
// 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,
|
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.
|
// Set the angular velocity.
|
||||||
|
@ -557,7 +557,7 @@ void RigidBody::setAngularVelocity(const Vector3& angularVelocity) {
|
||||||
}
|
}
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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
|
// Set the current position and orientation
|
||||||
|
|
|
@ -86,7 +86,7 @@ class RigidBody : public CollisionBody {
|
||||||
// -------------------- Methods -------------------- //
|
// -------------------- Methods -------------------- //
|
||||||
|
|
||||||
/// Constructor
|
/// Constructor
|
||||||
RigidBody(const Transform& transform, CollisionWorld& world, Entity entity, bodyindex id);
|
RigidBody(const Transform& transform, CollisionWorld& world, Entity entity);
|
||||||
|
|
||||||
/// Destructor
|
/// Destructor
|
||||||
virtual ~RigidBody() override;
|
virtual ~RigidBody() override;
|
||||||
|
|
|
@ -244,7 +244,7 @@ void CollisionDetection::computeMiddlePhase(OverlappingPairMap& overlappingPairs
|
||||||
if (!isBody1Active && !isBody2Active) continue;
|
if (!isBody1Active && !isBody2Active) continue;
|
||||||
|
|
||||||
// Check if the bodies are in the set of bodies that cannot collide between each other
|
// 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;
|
if (mNoCollisionPairs.contains(bodiesIndex) > 0) continue;
|
||||||
|
|
||||||
bool isShape1Convex = shape1->getCollisionShape()->isConvex();
|
bool isShape1Convex = shape1->getCollisionShape()->isConvex();
|
||||||
|
|
|
@ -95,7 +95,7 @@ class CollisionDetection {
|
||||||
BroadPhaseSystem mBroadPhaseSystem;
|
BroadPhaseSystem mBroadPhaseSystem;
|
||||||
|
|
||||||
/// Set of pair of bodies that cannot collide between each other
|
/// 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 a broad-phase id with the corresponding entity of the proxy-shape
|
||||||
Map<int, Entity> mMapBroadPhaseIdToProxyShapeEntity;
|
Map<int, Entity> mMapBroadPhaseIdToProxyShapeEntity;
|
||||||
|
|
|
@ -62,8 +62,8 @@ using int32 = std::int32_t;
|
||||||
using uint32 = std::uint32_t;
|
using uint32 = std::uint32_t;
|
||||||
|
|
||||||
// TODO : Delete this
|
// TODO : Delete this
|
||||||
using bodyindex = luint;
|
struct Entity;
|
||||||
using bodyindexpair = Pair<bodyindex, bodyindex>;
|
using bodypair = Pair<Entity, Entity>;
|
||||||
|
|
||||||
// ------------------- Enumerations ------------------- //
|
// ------------------- Enumerations ------------------- //
|
||||||
|
|
||||||
|
|
|
@ -41,9 +41,8 @@ CollisionWorld::CollisionWorld(const WorldSettings& worldSettings, Logger* logge
|
||||||
mBodyComponents(mMemoryManager.getBaseAllocator()), mTransformComponents(mMemoryManager.getBaseAllocator()),
|
mBodyComponents(mMemoryManager.getBaseAllocator()), mTransformComponents(mMemoryManager.getBaseAllocator()),
|
||||||
mProxyShapesComponents(mMemoryManager.getBaseAllocator()), mDynamicsComponents(mMemoryManager.getBaseAllocator()),
|
mProxyShapesComponents(mMemoryManager.getBaseAllocator()), mDynamicsComponents(mMemoryManager.getBaseAllocator()),
|
||||||
mCollisionDetection(this, mProxyShapesComponents, mTransformComponents, mDynamicsComponents, mMemoryManager),
|
mCollisionDetection(this, mProxyShapesComponents, mTransformComponents, mDynamicsComponents, mMemoryManager),
|
||||||
mBodies(mMemoryManager.getPoolAllocator()), mCurrentBodyId(0), mFreeBodiesIds(mMemoryManager.getPoolAllocator()),
|
mBodies(mMemoryManager.getPoolAllocator()), mEventListener(nullptr),
|
||||||
mEventListener(nullptr), mName(worldSettings.worldName),
|
mName(worldSettings.worldName), mIsProfilerCreatedByUser(profiler != nullptr),
|
||||||
mIsProfilerCreatedByUser(profiler != nullptr),
|
|
||||||
mIsLoggerCreatedByUser(logger != nullptr) {
|
mIsLoggerCreatedByUser(logger != nullptr) {
|
||||||
|
|
||||||
// Automatically generate a name for the world
|
// Automatically generate a name for the world
|
||||||
|
@ -148,18 +147,12 @@ CollisionBody* CollisionWorld::createCollisionBody(const Transform& transform) {
|
||||||
// Create a new entity for the body
|
// Create a new entity for the body
|
||||||
Entity entity = mEntityManager.createEntity();
|
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));
|
mTransformComponents.addComponent(entity, false, TransformComponents::TransformComponent(transform));
|
||||||
|
|
||||||
// Create the collision body
|
// Create the collision body
|
||||||
CollisionBody* collisionBody = new (mMemoryManager.allocate(MemoryManager::AllocationType::Pool,
|
CollisionBody* collisionBody = new (mMemoryManager.allocate(MemoryManager::AllocationType::Pool,
|
||||||
sizeof(CollisionBody)))
|
sizeof(CollisionBody)))
|
||||||
CollisionBody(*this, entity, bodyID);
|
CollisionBody(*this, entity);
|
||||||
|
|
||||||
assert(collisionBody != nullptr);
|
assert(collisionBody != nullptr);
|
||||||
|
|
||||||
|
@ -181,7 +174,7 @@ CollisionBody* CollisionWorld::createCollisionBody(const Transform& transform) {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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 the pointer to the rigid body
|
||||||
return collisionBody;
|
return collisionBody;
|
||||||
|
@ -194,14 +187,11 @@ CollisionBody* CollisionWorld::createCollisionBody(const Transform& transform) {
|
||||||
void CollisionWorld::destroyCollisionBody(CollisionBody* collisionBody) {
|
void CollisionWorld::destroyCollisionBody(CollisionBody* collisionBody) {
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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
|
// Remove all the collision shapes of the body
|
||||||
collisionBody->removeAllCollisionShapes();
|
collisionBody->removeAllCollisionShapes();
|
||||||
|
|
||||||
// Add the body ID to the list of free IDs
|
|
||||||
mFreeBodiesIds.add(collisionBody->getId());
|
|
||||||
|
|
||||||
mBodyComponents.removeComponent(collisionBody->getEntity());
|
mBodyComponents.removeComponent(collisionBody->getEntity());
|
||||||
mTransformComponents.removeComponent(collisionBody->getEntity());
|
mTransformComponents.removeComponent(collisionBody->getEntity());
|
||||||
mEntityManager.destroyEntity(collisionBody->getEntity());
|
mEntityManager.destroyEntity(collisionBody->getEntity());
|
||||||
|
@ -216,23 +206,6 @@ void CollisionWorld::destroyCollisionBody(CollisionBody* collisionBody) {
|
||||||
mMemoryManager.release(MemoryManager::AllocationType::Pool, collisionBody, sizeof(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
|
// Notify the world if a body is disabled (sleeping or inactive) or not
|
||||||
void CollisionWorld::notifyBodyDisabled(Entity bodyEntity, bool isDisabled) {
|
void CollisionWorld::notifyBodyDisabled(Entity bodyEntity, bool isDisabled) {
|
||||||
|
|
||||||
|
|
|
@ -94,12 +94,6 @@ class CollisionWorld {
|
||||||
/// All the bodies (rigid and soft) of the world
|
/// All the bodies (rigid and soft) of the world
|
||||||
List<CollisionBody*> mBodies;
|
List<CollisionBody*> mBodies;
|
||||||
|
|
||||||
/// Current body id
|
|
||||||
bodyindex mCurrentBodyId;
|
|
||||||
|
|
||||||
/// List of free ids for rigid bodies
|
|
||||||
List<luint> mFreeBodiesIds;
|
|
||||||
|
|
||||||
/// Pointer to an event listener object
|
/// Pointer to an event listener object
|
||||||
EventListener* mEventListener;
|
EventListener* mEventListener;
|
||||||
|
|
||||||
|
@ -129,9 +123,6 @@ class CollisionWorld {
|
||||||
|
|
||||||
// -------------------- Methods -------------------- //
|
// -------------------- Methods -------------------- //
|
||||||
|
|
||||||
/// Return the next available body id
|
|
||||||
bodyindex computeNextAvailableBodyId();
|
|
||||||
|
|
||||||
/// Notify the world if a body is disabled (slepping or inactive) or not
|
/// Notify the world if a body is disabled (slepping or inactive) or not
|
||||||
void notifyBodyDisabled(Entity entity, bool isDisabled);
|
void notifyBodyDisabled(Entity entity, bool isDisabled);
|
||||||
|
|
||||||
|
|
|
@ -375,18 +375,12 @@ RigidBody* DynamicsWorld::createRigidBody(const Transform& transform) {
|
||||||
// Create a new entity for the body
|
// Create a new entity for the body
|
||||||
Entity entity = mEntityManager.createEntity();
|
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));
|
mTransformComponents.addComponent(entity, false, TransformComponents::TransformComponent(transform));
|
||||||
mDynamicsComponents.addComponent(entity, false, DynamicsComponents::DynamicsComponent(transform.getPosition()));
|
mDynamicsComponents.addComponent(entity, false, DynamicsComponents::DynamicsComponent(transform.getPosition()));
|
||||||
|
|
||||||
// Create the rigid body
|
// Create the rigid body
|
||||||
RigidBody* rigidBody = new (mMemoryManager.allocate(MemoryManager::AllocationType::Pool,
|
RigidBody* rigidBody = new (mMemoryManager.allocate(MemoryManager::AllocationType::Pool,
|
||||||
sizeof(RigidBody))) RigidBody(transform, *this, entity, bodyID);
|
sizeof(RigidBody))) RigidBody(transform, *this, entity);
|
||||||
assert(rigidBody != nullptr);
|
assert(rigidBody != nullptr);
|
||||||
|
|
||||||
BodyComponents::BodyComponent bodyComponent(rigidBody);
|
BodyComponents::BodyComponent bodyComponent(rigidBody);
|
||||||
|
@ -405,7 +399,7 @@ RigidBody* DynamicsWorld::createRigidBody(const Transform& transform) {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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 the pointer to the rigid body
|
||||||
return rigidBody;
|
return rigidBody;
|
||||||
|
@ -418,14 +412,11 @@ RigidBody* DynamicsWorld::createRigidBody(const Transform& transform) {
|
||||||
void DynamicsWorld::destroyRigidBody(RigidBody* rigidBody) {
|
void DynamicsWorld::destroyRigidBody(RigidBody* rigidBody) {
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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
|
// Remove all the collision shapes of the body
|
||||||
rigidBody->removeAllCollisionShapes();
|
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
|
// Destroy all the joints in which the rigid body to be destroyed is involved
|
||||||
JointListElement* element;
|
JointListElement* element;
|
||||||
for (element = rigidBody->mJointsList; element != nullptr; element = element->next) {
|
for (element = rigidBody->mJointsList; element != nullptr; element = element->next) {
|
||||||
|
@ -590,7 +581,7 @@ void DynamicsWorld::addJointToBody(Joint* joint) {
|
||||||
joint->mBody1->mJointsList = jointListElement1;
|
joint->mBody1->mJointsList = jointListElement1;
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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");
|
" added to body");
|
||||||
|
|
||||||
// Add the joint at the beginning of the linked list of joints of the second 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;
|
joint->mBody2->mJointsList = jointListElement2;
|
||||||
|
|
||||||
RP3D_LOG(mLogger, Logger::Level::Information, Logger::Category::Body,
|
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");
|
" added to body");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -180,7 +180,7 @@ class OverlappingPair {
|
||||||
static OverlappingPairId computeID(int shape1BroadPhaseId, int shape2BroadPhaseId);
|
static OverlappingPairId computeID(int shape1BroadPhaseId, int shape2BroadPhaseId);
|
||||||
|
|
||||||
/// Return the pair of bodies index of the pair
|
/// Return the pair of bodies index of the pair
|
||||||
static bodyindexpair computeBodiesIndexPair(CollisionBody* body1, CollisionBody* body2);
|
static bodypair computeBodiesIndexPair(CollisionBody* body1, CollisionBody* body2);
|
||||||
|
|
||||||
// -------------------- Friendship -------------------- //
|
// -------------------- Friendship -------------------- //
|
||||||
|
|
||||||
|
@ -225,13 +225,13 @@ inline OverlappingPair::OverlappingPairId OverlappingPair::computeID(int shape1B
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return the pair of bodies index
|
// Return the pair of bodies index
|
||||||
inline bodyindexpair OverlappingPair::computeBodiesIndexPair(CollisionBody* body1,
|
inline bodypair OverlappingPair::computeBodiesIndexPair(CollisionBody* body1,
|
||||||
CollisionBody* body2) {
|
CollisionBody* body2) {
|
||||||
|
|
||||||
// Construct the pair of body index
|
// Construct the pair of body index
|
||||||
bodyindexpair indexPair = body1->getId() < body2->getId() ?
|
bodypair indexPair = body1->getEntity().id < body2->getEntity().id ?
|
||||||
bodyindexpair(body1->getId(), body2->getId()) :
|
bodypair(body1->getEntity(), body2->getEntity()) :
|
||||||
bodyindexpair(body2->getId(), body1->getId());
|
bodypair(body2->getEntity(), body1->getEntity());
|
||||||
assert(indexPair.first != indexPair.second);
|
assert(indexPair.first != indexPair.second);
|
||||||
return indexPair;
|
return indexPair;
|
||||||
}
|
}
|
||||||
|
|
|
@ -631,7 +631,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
Vector3 localBody1Point(3, 0, 0);
|
Vector3 localBody1Point(3, 0, 0);
|
||||||
|
@ -655,7 +655,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -676,7 +676,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -697,7 +697,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -747,7 +747,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
Vector3 localBody1Point(3, 0, 0);
|
Vector3 localBody1Point(3, 0, 0);
|
||||||
|
@ -771,7 +771,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -792,7 +792,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -813,7 +813,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -853,7 +853,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
localBody1Point = std::sqrt(4.5f) * Vector3(1, -1, 0);
|
localBody1Point = std::sqrt(4.5f) * Vector3(1, -1, 0);
|
||||||
|
@ -877,7 +877,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -898,7 +898,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -919,7 +919,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -959,7 +959,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
localBody1Point = std::sqrt(9.0f / 3.0f) * Vector3(1, -1, -1);
|
localBody1Point = std::sqrt(9.0f / 3.0f) * Vector3(1, -1, -1);
|
||||||
|
@ -983,7 +983,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -1004,7 +1004,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -1025,7 +1025,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -1075,7 +1075,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
Vector3 localBody1Point(0, -3, 0);
|
Vector3 localBody1Point(0, -3, 0);
|
||||||
|
@ -1099,7 +1099,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -1120,7 +1120,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -1141,7 +1141,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -1181,7 +1181,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
localBody1Point = Vector3(3, 0, 0);
|
localBody1Point = Vector3(3, 0, 0);
|
||||||
|
@ -1205,7 +1205,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -1226,7 +1226,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -1247,7 +1247,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -1297,7 +1297,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
Vector3 localBody1Point(3, 0, 0);
|
Vector3 localBody1Point(3, 0, 0);
|
||||||
|
@ -1321,7 +1321,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -1342,7 +1342,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -1363,7 +1363,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -1403,7 +1403,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
localBody1Point = std::sqrt(4.5f) * Vector3(1, -1, 0);
|
localBody1Point = std::sqrt(4.5f) * Vector3(1, -1, 0);
|
||||||
|
@ -1427,7 +1427,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -1448,7 +1448,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -1469,7 +1469,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -1509,7 +1509,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
localBody1Point = std::sqrt(9.0f / 3.0f) * Vector3(1, -1, -1);
|
localBody1Point = std::sqrt(9.0f / 3.0f) * Vector3(1, -1, -1);
|
||||||
|
@ -1533,7 +1533,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -1554,7 +1554,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -1575,7 +1575,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -1625,7 +1625,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
Vector3 localBody1Point(0, -3, 0);
|
Vector3 localBody1Point(0, -3, 0);
|
||||||
|
@ -1649,7 +1649,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -1670,7 +1670,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -1691,7 +1691,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -1741,7 +1741,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
Vector3 localBody1Point1(-3, -2, -2);
|
Vector3 localBody1Point1(-3, -2, -2);
|
||||||
|
@ -1783,7 +1783,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
||||||
|
@ -1812,7 +1812,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
||||||
|
@ -1842,7 +1842,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
||||||
|
@ -1901,7 +1901,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
Vector3 localBody1Point1(-3, -2, -2);
|
Vector3 localBody1Point1(-3, -2, -2);
|
||||||
|
@ -1943,7 +1943,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
||||||
|
@ -1972,7 +1972,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
||||||
|
@ -2002,7 +2002,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
||||||
|
@ -2061,7 +2061,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
Vector3 localBody1Point1(-3, -2, -2);
|
Vector3 localBody1Point1(-3, -2, -2);
|
||||||
|
@ -2103,7 +2103,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
||||||
|
@ -2132,7 +2132,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
||||||
|
@ -2162,7 +2162,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 4);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
||||||
|
@ -2221,7 +2221,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
Vector3 localBody1Point1(3, 1, 0);
|
Vector3 localBody1Point1(3, 1, 0);
|
||||||
|
@ -2244,7 +2244,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
||||||
|
@ -2265,7 +2265,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
||||||
|
@ -2286,7 +2286,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
||||||
|
@ -2336,7 +2336,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
Vector3 localBody1Point1(3, 1, 0);
|
Vector3 localBody1Point1(3, 1, 0);
|
||||||
|
@ -2359,7 +2359,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
||||||
|
@ -2380,7 +2380,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
||||||
|
@ -2401,7 +2401,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point1 : localBody1Point1,
|
||||||
|
@ -2647,7 +2647,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
Vector3 localBody1Point(2, 3, 0);
|
Vector3 localBody1Point(2, 3, 0);
|
||||||
|
@ -2671,7 +2671,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -2692,7 +2692,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -2713,7 +2713,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -2753,7 +2753,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
localBody1Point = Vector3(0, 5, 0);
|
localBody1Point = Vector3(0, 5, 0);
|
||||||
|
@ -2777,7 +2777,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -2798,7 +2798,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -2819,7 +2819,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -2869,7 +2869,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
Vector3 localBody1Point(0, -5, 0);
|
Vector3 localBody1Point(0, -5, 0);
|
||||||
|
@ -2893,7 +2893,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -2914,7 +2914,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
@ -2935,7 +2935,7 @@ class TestCollisionWorld : public Test {
|
||||||
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
rp3d_test(collisionData->getTotalNbContactPoints() == 1);
|
||||||
|
|
||||||
// True if the bodies are swapped in the collision callback response
|
// 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
|
// Test contact points
|
||||||
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
rp3d_test(collisionData->hasContactPointSimilarTo(swappedBodiesCollisionData ? localBody2Point : localBody1Point,
|
||||||
|
|
|
@ -66,7 +66,7 @@ class WorldRaycastCallback : public RaycastCallback {
|
||||||
|
|
||||||
virtual decimal notifyRaycastHit(const RaycastInfo& info) override {
|
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.body = info.body;
|
||||||
raycastInfo.hitFraction = info.hitFraction;
|
raycastInfo.hitFraction = info.hitFraction;
|
||||||
raycastInfo.proxyShape = info.proxyShape;
|
raycastInfo.proxyShape = info.proxyShape;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user