diff --git a/src/Gui/ViewProviderPy.xml b/src/Gui/ViewProviderPy.xml index 732a5d43fd..84147f9e64 100644 --- a/src/Gui/ViewProviderPy.xml +++ b/src/Gui/ViewProviderPy.xml @@ -85,6 +85,11 @@ Set a transformation on the Inventor node + + + Returns list of objects that are to be grouped in tree under this object. + + A pivy Separator to add a custom scene graph to this ViewProvider diff --git a/src/Gui/ViewProviderPyImp.cpp b/src/Gui/ViewProviderPyImp.cpp index a241f7e359..478f765c73 100644 --- a/src/Gui/ViewProviderPyImp.cpp +++ b/src/Gui/ViewProviderPyImp.cpp @@ -44,6 +44,7 @@ #include #include #include +#include using namespace Gui; @@ -245,6 +246,22 @@ PyObject* ViewProviderPy::setTransformation(PyObject *args) return 0; } +PyObject* ViewProviderPy::claimChildren(PyObject* args) +{ + if (!PyArg_ParseTuple(args, "")) + return NULL; // NULL triggers exception + + std::vector children = this->getViewProviderPtr()->claimChildren(); + Py::List ret; + for(App::DocumentObject* child: children){ + if (child) + ret.append(Py::asObject(child->getPyObject())); + else + ret.append(Py::None()); + } + return Py::new_reference_to(ret); +} + PyObject *ViewProviderPy::getCustomAttributes(const char* attr) const { // search for dynamic property