diff --git a/src/Mod/Path/App/Area.h b/src/Mod/Path/App/Area.h index 94470a1e2..b261ddb47 100644 --- a/src/Mod/Path/App/Area.h +++ b/src/Mod/Path/App/Area.h @@ -206,6 +206,12 @@ public: /** Get the combined shape */ TopoDS_Shape getShape(int index); + /** Return the number of sections */ + std::size_t getSectionCount() { + build(); + return mySections.size(); + } + /** Add a OCC wire shape to CArea * * \arg \c area: output converted curved object to here diff --git a/src/Mod/Path/App/AreaPy.xml b/src/Mod/Path/App/AreaPy.xml index b4121fdb9..3f0066381 100644 --- a/src/Mod/Path/App/AreaPy.xml +++ b/src/Mod/Path/App/AreaPy.xml @@ -63,5 +63,11 @@ any operation Get current algorithm parameters as a dictionary. + + + List of sections in this area. + + + diff --git a/src/Mod/Path/App/AreaPyImp.cpp b/src/Mod/Path/App/AreaPyImp.cpp index df2cfb5e7..4a6cb3fbd 100644 --- a/src/Mod/Path/App/AreaPyImp.cpp +++ b/src/Mod/Path/App/AreaPyImp.cpp @@ -295,6 +295,14 @@ PyObject* AreaPy::getParamsDesc(PyObject *args, PyObject *keywds) return dict; } +Py::List AreaPy::getSections(void) const { + Py::List ret; + Area *area = getAreaPtr(); + for(size_t i=0,count=area->getSectionCount(); igetShape(i))); + return ret; +} + // custom attributes get/set PyObject *AreaPy::getCustomAttributes(const char* /*attr*/) const