SDK/PhysicsComponent2D: Don't override moment and mass center when setting geom

This commit is contained in:
Jérôme Leclercq 2020-09-05 14:21:55 +02:00
parent 499e53f706
commit a08daec53e
3 changed files with 5 additions and 5 deletions

View File

@ -35,7 +35,7 @@ namespace Ndk
void Recenter(const Nz::Vector2f& origin); void Recenter(const Nz::Vector2f& origin);
void SetGeom(Nz::Collider2DRef geom); void SetGeom(Nz::Collider2DRef geom, bool recomputeMoment = true, bool recomputeMassCenter = true);
void SetGeomOffset(const Nz::Vector2f& geomOffset); void SetGeomOffset(const Nz::Vector2f& geomOffset);
CollisionComponent2D& operator=(Nz::Collider2DRef geom); CollisionComponent2D& operator=(Nz::Collider2DRef geom);

View File

@ -53,11 +53,11 @@ namespace Ndk
* *
* \param geom Geometry used for collisions * \param geom Geometry used for collisions
*/ */
void CollisionComponent2D::SetGeom(Nz::Collider2DRef geom) void CollisionComponent2D::SetGeom(Nz::Collider2DRef geom, bool recomputeMoment, bool recomputeMassCenter)
{ {
m_geom = std::move(geom); m_geom = std::move(geom);
GetRigidBody()->SetGeom(m_geom); GetRigidBody()->SetGeom(m_geom, recomputeMoment, recomputeMassCenter);
} }
/*! /*!

View File

@ -77,7 +77,7 @@ namespace Ndk
if (IsComponent<CollisionComponent2D>(component)) if (IsComponent<CollisionComponent2D>(component))
{ {
NazaraAssert(m_object, "Invalid object"); NazaraAssert(m_object, "Invalid object");
m_object->SetGeom(static_cast<CollisionComponent2D&>(component).GetGeom()); m_object->SetGeom(static_cast<CollisionComponent2D&>(component).GetGeom(), false, false);
} }
} }
@ -94,7 +94,7 @@ namespace Ndk
if (IsComponent<CollisionComponent2D>(component)) if (IsComponent<CollisionComponent2D>(component))
{ {
NazaraAssert(m_object, "Invalid object"); NazaraAssert(m_object, "Invalid object");
m_object->SetGeom(Nz::NullCollider2D::New()); m_object->SetGeom(Nz::NullCollider2D::New(), false, false);
} }
} }