diff --git a/bindings/Sofa/src/SofaPython3/Sofa/Core/Binding_BaseCamera.cpp b/bindings/Sofa/src/SofaPython3/Sofa/Core/Binding_BaseCamera.cpp index 4ba3b0db..da130b55 100644 --- a/bindings/Sofa/src/SofaPython3/Sofa/Core/Binding_BaseCamera.cpp +++ b/bindings/Sofa/src/SofaPython3/Sofa/Core/Binding_BaseCamera.cpp @@ -102,7 +102,17 @@ void moduleAddBaseCamera(py::module &m) vec2 = sofa::type::Vec3(py::cast(p2[0]),py::cast(p2[1]),py::cast(p2[2])); self->rotateCameraAroundPoint(vec1, vec2); }); - + + c.def("rotateWorldAroundPoint", [](BaseCamera *self, py::list p1, py::list p2, py::list p3) { + sofa::type::Quat vec1; + sofa::type::Vec3 vec2; + sofa::type::Quat vec3; + vec1 = sofa::type::Quat(py::cast(p1[0]),py::cast(p1[1]),py::cast(p1[2]),py::cast(p1[3])); + vec2 = sofa::type::Vec3(py::cast(p2[0]),py::cast(p2[1]),py::cast(p2[2])); + vec3 = sofa::type::Quat(py::cast(p3[0]),py::cast(p3[1]),py::cast(p3[2]),py::cast(p3[3])); + self->rotateWorldAroundPoint(vec1, vec2, vec3); + }); + c.def("getOrientationFromLookAt", [](BaseCamera *self, py::list p1, py::list p2) { sofa::type::Vec3 vec1; sofa::type::Vec3 vec2;