From 704e2f50a09843217fb2f74811647a4c093ea9e7 Mon Sep 17 00:00:00 2001 From: Psomers3 <37300408+psomers3@users.noreply.github.com> Date: Mon, 27 Sep 2021 14:51:43 +0200 Subject: [PATCH 1/2] [BaseCamera] binding for rotateWorldAroundPoint() --- .../src/SofaPython3/Sofa/Core/Binding_BaseCamera.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/bindings/Sofa/src/SofaPython3/Sofa/Core/Binding_BaseCamera.cpp b/bindings/Sofa/src/SofaPython3/Sofa/Core/Binding_BaseCamera.cpp index 4ba3b0db..f198a3d2 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::defaulttype::Quat vec1; + sofa::defaulttype::Vec3 vec2; + sofa::defaulttype::Quat vec3; + vec1 = sofa::defaulttype::Quat(py::cast(p1[0]),py::cast(p1[1]),py::cast(p1[2]),py::cast(p1[3])); + vec2 = sofa::defaulttype::Vec3(py::cast(p2[0]),py::cast(p2[1]),py::cast(p2[2])); + vec3 = sofa::defaulttype::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; From 3a80e3e5b5c704afa82c8bad49719936e1da8098 Mon Sep 17 00:00:00 2001 From: Psomers3 <37300408+psomers3@users.noreply.github.com> Date: Mon, 27 Sep 2021 15:02:49 +0200 Subject: [PATCH 2/2] updated commit for type instead of defaulttype --- .../src/SofaPython3/Sofa/Core/Binding_BaseCamera.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bindings/Sofa/src/SofaPython3/Sofa/Core/Binding_BaseCamera.cpp b/bindings/Sofa/src/SofaPython3/Sofa/Core/Binding_BaseCamera.cpp index f198a3d2..da130b55 100644 --- a/bindings/Sofa/src/SofaPython3/Sofa/Core/Binding_BaseCamera.cpp +++ b/bindings/Sofa/src/SofaPython3/Sofa/Core/Binding_BaseCamera.cpp @@ -104,12 +104,12 @@ void moduleAddBaseCamera(py::module &m) }); c.def("rotateWorldAroundPoint", [](BaseCamera *self, py::list p1, py::list p2, py::list p3) { - sofa::defaulttype::Quat vec1; - sofa::defaulttype::Vec3 vec2; - sofa::defaulttype::Quat vec3; - vec1 = sofa::defaulttype::Quat(py::cast(p1[0]),py::cast(p1[1]),py::cast(p1[2]),py::cast(p1[3])); - vec2 = sofa::defaulttype::Vec3(py::cast(p2[0]),py::cast(p2[1]),py::cast(p2[2])); - vec3 = sofa::defaulttype::Quat(py::cast(p3[0]),py::cast(p3[1]),py::cast(p3[2]),py::cast(p3[3])); + 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); });