diff --git a/bindings/Sofa/src/SofaPython3/Sofa/Core/Binding_BaseCamera.cpp b/bindings/Sofa/src/SofaPython3/Sofa/Core/Binding_BaseCamera.cpp index 8ebc8b8a..375d742d 100644 --- a/bindings/Sofa/src/SofaPython3/Sofa/Core/Binding_BaseCamera.cpp +++ b/bindings/Sofa/src/SofaPython3/Sofa/Core/Binding_BaseCamera.cpp @@ -129,6 +129,16 @@ void moduleAddBaseCamera(py::module &m) return(self->getPositionFromOrientation(vec1, vec2, vec3)); }); + c.def("getLookAtFromOrientation", [](BaseCamera *self, py::list p1, py::float_ p2, py::list p3) { + sofa::defaulttype::Vec3 vec1; + double vec2; + sofa::defaulttype::Quat vec3; + vec1 = sofa::defaulttype::Vec3(py::cast(p1[0]),py::cast(p1[1]),py::cast(p1[2])); + vec2 = py::cast(p2); + vec3 = sofa::defaulttype::Quat(py::cast(p3[0]),py::cast(p3[1]),py::cast(p3[2]),py::cast(p3[3])); + return(self->getLookAtFromOrientation(vec1, vec2, vec3)); + }); + c.def("setCameraType", [](BaseCamera *self, int p1) { self->setCameraType(p1); }); @@ -141,6 +151,17 @@ void moduleAddBaseCamera(py::module &m) self->setCameraType(0); }); + c.def("worldToScreenPoint", [](BaseCamera *self, py::list pos) { + sofa::defaulttype::Vec3 vec1; + vec1 = sofa::defaulttype::Vec3(py::cast(pos[0]), py::cast(pos[1]), py::cast(pos[2])); + return(self->worldToScreenPoint(vec1)); + }); + + c.def("screenToWorldPoint", [](BaseCamera *self, py::list pos) { + sofa::defaulttype::Vec3 vec1; + vec1 = sofa::defaulttype::Vec3(py::cast(pos[0]), py::cast(pos[1]), py::cast(pos[2])); + return(self->screenToWorldPoint(vec1)); + }); } } /// namespace sofapython3