diff --git a/src/Mod/Part/App/TopoShapeWirePy.xml b/src/Mod/Part/App/TopoShapeWirePy.xml index b34702025..4d8e532cb 100644 --- a/src/Mod/Part/App/TopoShapeWirePy.xml +++ b/src/Mod/Part/App/TopoShapeWirePy.xml @@ -149,5 +149,17 @@ coordinate system. + + + List of ordered edges in this shape. + + + + + + List of ordered vertexes in this shape. + + + diff --git a/src/Mod/Part/App/TopoShapeWirePyImp.cpp b/src/Mod/Part/App/TopoShapeWirePyImp.cpp index d973b1ea9..a2f89ca70 100644 --- a/src/Mod/Part/App/TopoShapeWirePyImp.cpp +++ b/src/Mod/Part/App/TopoShapeWirePyImp.cpp @@ -29,6 +29,7 @@ # include # include # include +# include # include # include # include @@ -48,13 +49,14 @@ #include #include -#include "BSplineCurvePy.h" #include "TopoShape.h" -#include "TopoShapeShellPy.h" -#include "TopoShapeFacePy.h" -#include "TopoShapeEdgePy.h" -#include "TopoShapeWirePy.h" -#include "TopoShapeWirePy.cpp" +#include +#include +#include +#include +#include +#include +#include #include "OCCError.h" #include "Tools.h" @@ -588,6 +590,32 @@ Py::Dict TopoShapeWirePy::getPrincipalProperties(void) const return dict; } +Py::List TopoShapeWirePy::getOrderedEdges(void) const +{ + Py::List ret; + + BRepTools_WireExplorer xp(TopoDS::Wire(getTopoShapePtr()->getShape())); + while (xp.More()) { + ret.append(Py::asObject(new TopoShapeEdgePy(new TopoShape(xp.Current())))); + xp.Next(); + } + + return ret; +} + +Py::List TopoShapeWirePy::getOrderedVertexes(void) const +{ + Py::List ret; + + BRepTools_WireExplorer xp(TopoDS::Wire(getTopoShapePtr()->getShape())); + while (xp.More()) { + ret.append(Py::asObject(new TopoShapeVertexPy(new TopoShape(xp.CurrentVertex())))); + xp.Next(); + } + + return ret; +} + PyObject *TopoShapeWirePy::getCustomAttributes(const char* /*attr*/) const { return 0;