diff --git a/include/Nazara/Physics3D/PhysWorld3D.hpp b/include/Nazara/Physics3D/PhysWorld3D.hpp index 76d4c09b4..cae9e4178 100644 --- a/include/Nazara/Physics3D/PhysWorld3D.hpp +++ b/include/Nazara/Physics3D/PhysWorld3D.hpp @@ -37,7 +37,7 @@ namespace Nz int CreateMaterial(Nz::String name = Nz::String()); - void ForEachBodyInAABB(const Nz::Boxf& box, BodyIterator iterator); + void ForEachBodyInAABB(const Nz::Boxf& box, const BodyIterator& iterator); Vector3f GetGravity() const; NewtonWorld* GetHandle() const; diff --git a/src/Nazara/Physics3D/PhysWorld3D.cpp b/src/Nazara/Physics3D/PhysWorld3D.cpp index 2a01a27e0..cc7ab7208 100644 --- a/src/Nazara/Physics3D/PhysWorld3D.cpp +++ b/src/Nazara/Physics3D/PhysWorld3D.cpp @@ -37,16 +37,16 @@ namespace Nz return materialId; } - void PhysWorld3D::ForEachBodyInAABB(const Nz::Boxf& box, BodyIterator iterator) + void PhysWorld3D::ForEachBodyInAABB(const Nz::Boxf& box, const BodyIterator& iterator) { auto NewtonCallback = [](const NewtonBody* const body, void* const userdata) -> int { - BodyIterator& iterator = *static_cast(userdata); + const BodyIterator& iterator = *static_cast(userdata); RigidBody3D* nzBody = static_cast(NewtonBodyGetUserData(body)); return iterator(*nzBody); }; - NewtonWorldForEachBodyInAABBDo(m_world, box.GetMinimum(), box.GetMaximum(), NewtonCallback, &iterator); + NewtonWorldForEachBodyInAABBDo(m_world, box.GetMinimum(), box.GetMaximum(), NewtonCallback, const_cast(static_cast(&iterator))); } Vector3f PhysWorld3D::GetGravity() const