From 96e77ab5bf17addd05459175f1422856c1e1feba Mon Sep 17 00:00:00 2001 From: wmayer Date: Fri, 15 May 2015 13:48:29 +0200 Subject: [PATCH] + FEM: replace set with list to preserve order --- src/Mod/Fem/App/FemMesh.cpp | 6 +++--- src/Mod/Fem/App/FemMesh.h | 2 +- src/Mod/Fem/App/FemMeshPyImp.cpp | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Mod/Fem/App/FemMesh.cpp b/src/Mod/Fem/App/FemMesh.cpp index 91701e188..0f71cd219 100755 --- a/src/Mod/Fem/App/FemMesh.cpp +++ b/src/Mod/Fem/App/FemMesh.cpp @@ -626,13 +626,13 @@ std::set FemMesh::getNodesByVertex(const TopoDS_Vertex &vertex) const return result; } -std::set FemMesh::getElementNodes(int id) const +std::list FemMesh::getElementNodes(int id) const { - std::set result; + std::list result; const SMDS_MeshElement* elem = myMesh->GetMeshDS()->FindElement(id); if (elem) { for (int i = 0; i < elem->NbNodes(); i++) - result.insert(elem->GetNode(i)->GetID()); + result.push_back(elem->GetNode(i)->GetID()); } return result; } diff --git a/src/Mod/Fem/App/FemMesh.h b/src/Mod/Fem/App/FemMesh.h index 2ca263086..3d1461868 100755 --- a/src/Mod/Fem/App/FemMesh.h +++ b/src/Mod/Fem/App/FemMesh.h @@ -94,7 +94,7 @@ public: /// retrieving by vertex std::set getNodesByVertex(const TopoDS_Vertex &vertex) const; /// retrieving node IDs by element ID - std::set getElementNodes(int id) const; + std::list getElementNodes(int id) const; /// retrieving volume IDs and face IDs number by face std::list > getVolumesByFace(const TopoDS_Face &face) const; /// retrieving volume IDs and CalculiX face number by face diff --git a/src/Mod/Fem/App/FemMeshPyImp.cpp b/src/Mod/Fem/App/FemMeshPyImp.cpp index 703ff53e9..3a402ab73 100755 --- a/src/Mod/Fem/App/FemMeshPyImp.cpp +++ b/src/Mod/Fem/App/FemMeshPyImp.cpp @@ -690,10 +690,10 @@ PyObject* FemMeshPy::getElementNodes(PyObject *args) return 0; try { - std::set resultSet = getFemMeshPtr()->getElementNodes(id); + std::list resultSet = getFemMeshPtr()->getElementNodes(id); Py::Tuple ret(resultSet.size()); int index = 0; - for (std::set::const_iterator it = resultSet.begin();it!=resultSet.end();++it) + for (std::list::const_iterator it = resultSet.begin();it!=resultSet.end();++it) ret.setItem(index++, Py::Int(*it)); return Py::new_reference_to(ret);