From a7be4c6346f780b452c59967bd1f2363953b71d6 Mon Sep 17 00:00:00 2001 From: Lynix Date: Mon, 20 Apr 2015 01:44:31 +0200 Subject: [PATCH] Physics/PhysObject: Fixed class Former-commit-id: bb5b3995e6cd8f349ad0a09258976bf163e65201 --- src/Nazara/Physics/PhysObject.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Nazara/Physics/PhysObject.cpp b/src/Nazara/Physics/PhysObject.cpp index 038a7062d..2b72272d4 100644 --- a/src/Nazara/Physics/PhysObject.cpp +++ b/src/Nazara/Physics/PhysObject.cpp @@ -10,7 +10,7 @@ #include NzPhysObject::NzPhysObject(NzPhysWorld* world, const NzMatrix4f& mat) : -NzPhysObject(world, NzNullGeom::New(world), mat) +NzPhysObject(world, NzNullGeom::New(), mat) { } @@ -26,7 +26,7 @@ m_mass(0.f) NazaraAssert(m_world, "Invalid world"); NazaraAssert(m_geom, "Invalid geometry"); - m_body = NewtonCreateDynamicBody(m_world->GetHandle(), m_geom->GetHandle(), m_matrix); + m_body = NewtonCreateDynamicBody(m_world->GetHandle(), m_geom->GetHandle(m_world), m_matrix); NewtonBodySetUserData(m_body, this); } @@ -42,13 +42,13 @@ m_mass(0.f) NazaraAssert(m_world, "Invalid world"); NazaraAssert(m_geom, "Invalid geometry"); - m_body = NewtonCreateDynamicBody(m_world->GetHandle(), m_geom->GetHandle(), m_matrix); + m_body = NewtonCreateDynamicBody(m_world->GetHandle(), m_geom->GetHandle(m_world), m_matrix); NewtonBodySetUserData(m_body, this); SetMass(object.m_mass); } NzPhysObject::NzPhysObject(NzPhysObject&& object) : -m_matrix(std::move(object)), +m_matrix(std::move(object.m_matrix)), m_forceAccumulator(std::move(object.m_forceAccumulator)), m_torqueAccumulator(std::move(object.m_torqueAccumulator)), m_body(object.m_body), @@ -220,7 +220,7 @@ void NzPhysObject::SetGeom(NzPhysGeomRef geom) if (geom) m_geom = geom; else - m_geom = NzNullGeom::New(m_world); + m_geom = NzNullGeom::New(); } void NzPhysObject::SetGravityFactor(float gravityFactor) @@ -271,6 +271,8 @@ void NzPhysObject::SetRotation(const NzQuaternionf& rotation) NzPhysObject& NzPhysObject::operator=(const NzPhysObject& object) { + NzPhysObject physObj(object); + return operator=(std::move(physObj)); } void NzPhysObject::UpdateBody() @@ -279,8 +281,6 @@ void NzPhysObject::UpdateBody() /*for (std::set::iterator it = m_listeners.begin(); it != m_listeners.end(); ++it) (*it)->PhysObjectOnUpdate(this);*/ - NzPhysObject physObj(object); - return operator=(std::move(physObj)); } NzPhysObject& NzPhysObject::operator=(NzPhysObject&& object)