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;