diff --git a/src/Gui/View3DViewerPy.cpp b/src/Gui/View3DViewerPy.cpp index 17ed6dc24f..472d2fd68d 100644 --- a/src/Gui/View3DViewerPy.cpp +++ b/src/Gui/View3DViewerPy.cpp @@ -75,6 +75,10 @@ void View3DInventorViewerPy::init_type() "getPickRadius(): returns radius of confusion in pixels for picking objects on screen (selection)."); add_varargs_method("setPickRadius", &View3DInventorViewerPy::setPickRadius, "setPickRadius(new_radius): sets radius of confusion in pixels for picking objects on screen (selection)."); + add_varargs_method("setRedirectToSceneGraph", &View3DInventorViewerPy::setRedirectToSceneGraph, + "setRedirectToSceneGraph(bool): enables or disables to redirect events directly to the scene graph."); + add_varargs_method("isRedirectedToSceneGraph", &View3DInventorViewerPy::isRedirectedToSceneGraph, + "isRedirectedToSceneGraph() -> bool: check whether event redirection is enabled."); add_varargs_method("setEnabledNaviCube", &View3DInventorViewerPy::setEnabledNaviCube, "setEnabledNaviCube(bool): enables or disables the navi cube of the viewer."); add_varargs_method("isEnabledNaviCube", &View3DInventorViewerPy::isEnabledNaviCube, @@ -359,6 +363,23 @@ Py::Object View3DInventorViewerPy::setPickRadius(const Py::Tuple& args) } } +Py::Object View3DInventorViewerPy::setRedirectToSceneGraph(const Py::Tuple& args) +{ + PyObject* m=Py_False; + if (!PyArg_ParseTuple(args.ptr(), "O!", &PyBool_Type, &m)) + throw Py::Exception(); + _viewer->setRedirectToSceneGraph(PyObject_IsTrue(m) ? true : false); + return Py::None(); +} + +Py::Object View3DInventorViewerPy::isRedirectedToSceneGraph(const Py::Tuple& args) +{ + if (!PyArg_ParseTuple(args.ptr(), "")) + throw Py::Exception(); + bool ok = _viewer->isRedirectedToSceneGraph(); + return Py::Boolean(ok); +} + Py::Object View3DInventorViewerPy::setEnabledNaviCube(const Py::Tuple& args) { PyObject* m=Py_False; diff --git a/src/Gui/View3DViewerPy.h b/src/Gui/View3DViewerPy.h index ba6b169eac..aa09adba0a 100644 --- a/src/Gui/View3DViewerPy.h +++ b/src/Gui/View3DViewerPy.h @@ -65,6 +65,9 @@ public: Py::Object getPickRadius(const Py::Tuple& args); Py::Object setPickRadius(const Py::Tuple& args); + Py::Object setRedirectToSceneGraph(const Py::Tuple& args); + Py::Object isRedirectedToSceneGraph(const Py::Tuple& args); + // NaviCube handling Py::Object setEnabledNaviCube(const Py::Tuple& args); Py::Object isEnabledNaviCube(const Py::Tuple& args);