+ FEM: replace set with list to preserve order

This commit is contained in:
wmayer 2015-05-15 13:48:29 +02:00
parent 84d579186c
commit 96e77ab5bf
3 changed files with 6 additions and 6 deletions

View File

@ -626,13 +626,13 @@ std::set<int> FemMesh::getNodesByVertex(const TopoDS_Vertex &vertex) const
return result;
}
std::set<int> FemMesh::getElementNodes(int id) const
std::list<int> FemMesh::getElementNodes(int id) const
{
std::set<int> result;
std::list<int> 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;
}

View File

@ -94,7 +94,7 @@ public:
/// retrieving by vertex
std::set<int> getNodesByVertex(const TopoDS_Vertex &vertex) const;
/// retrieving node IDs by element ID
std::set<int> getElementNodes(int id) const;
std::list<int> getElementNodes(int id) const;
/// retrieving volume IDs and face IDs number by face
std::list<std::pair<int, int> > getVolumesByFace(const TopoDS_Face &face) const;
/// retrieving volume IDs and CalculiX face number by face

View File

@ -690,10 +690,10 @@ PyObject* FemMeshPy::getElementNodes(PyObject *args)
return 0;
try {
std::set<int> resultSet = getFemMeshPtr()->getElementNodes(id);
std::list<int> resultSet = getFemMeshPtr()->getElementNodes(id);
Py::Tuple ret(resultSet.size());
int index = 0;
for (std::set<int>::const_iterator it = resultSet.begin();it!=resultSet.end();++it)
for (std::list<int>::const_iterator it = resultSet.begin();it!=resultSet.end();++it)
ret.setItem(index++, Py::Int(*it));
return Py::new_reference_to(ret);