Skip to content
Snippets Groups Projects
Commit 3595086d authored by Koen Hillewaert's avatar Koen Hillewaert
Browse files

Coherent creation of mesh and topology for cgns

parent 10a61acb
No related branches found
No related tags found
2 merge requests!145Cgns,!138Koen
Pipeline #
......@@ -387,8 +387,7 @@ protected:
MElement* parent;
int edgeIndex;
int id0;
int id1;
std::pair<int,int> ids;
public:
......@@ -398,13 +397,11 @@ public:
inline bool operator == (const topoEdge &f) const
{
return (id0 == f.id0 && f.id1 == id1);
return ids == f.ids;
}
inline bool operator < (const topoEdge &f) const
{
if (id0 < f.id0) return true;
if (id0 > f.id0) return false;
return id1 < f.id1;
return ids < f.ids;
}
topoEdge (MElement* elt,int num) {
......@@ -413,10 +410,14 @@ public:
edgeIndex = num;
MEdge edge = elt->getEdge(num);
id0 = edge.getVertex(0)->getNum();
id1 = edge.getVertex(1)->getNum();
int id0 = edge.getVertex(0)->getNum();
int id1 = edge.getVertex(1)->getNum();
if (id0 > id1) std::swap(id0,id1);
ids.first = id0;
ids.second = id1;
}
};
......@@ -450,12 +451,14 @@ void createTopologyFromMesh2D(GModel *gm, int &num)
GFace* gf = *it;
for (unsigned int i=0;i<(*it)->getNumMeshElements();i++){
MElement *e = (*it)->getMeshElement(i);
for (int j=0;j<e->getNumEdges();j++){
topoEdge te(e,j);
TEdgeToGEdgeMap::iterator eIter = tEdgeToGEdge.find(te);
if (eIter != tEdgeToGEdge.end()) gFaceToGEdges[gf].insert(eIter->second);
else tEdgeToGFaces[te].insert(gf);
}
if (e->getDim() == 2) {
for (int j=0;j<e->getNumEdges();j++){
topoEdge te(e,j);
TEdgeToGEdgeMap::iterator eIter = tEdgeToGEdge.find(te);
if (eIter != tEdgeToGEdge.end()) gFaceToGEdges[gf].insert(eIter->second);
else tEdgeToGFaces[te].insert(gf);
}
}
}
}
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment