Skip to content
Snippets Groups Projects
Commit ef2f8b43 authored by Gaetan Bricteux's avatar Gaetan Bricteux
Browse files

fix polygon numbering

parent a2a4c1e3
No related branches found
No related tags found
No related merge requests found
...@@ -617,6 +617,9 @@ static void writeElementMSH(FILE *fp, GModel *model, T *ele, bool saveAll, ...@@ -617,6 +617,9 @@ static void writeElementMSH(FILE *fp, GModel *model, T *ele, bool saveAll,
} }
model->setMeshElementIndex(ele, num); // should really be a multimap... model->setMeshElementIndex(ele, num); // should really be a multimap...
if(CTX::instance()->mesh.saveTri && ele->getNumChildren())
num += ele->getNumChildren() - 1;
} }
template<class T> template<class T>
......
...@@ -630,13 +630,13 @@ void MElement::writeMSH(FILE *fp, double version, bool binary, int num, ...@@ -630,13 +630,13 @@ void MElement::writeMSH(FILE *fp, double version, bool binary, int num,
if(CTX::instance()->mesh.saveTri && poly){ if(CTX::instance()->mesh.saveTri && poly){
for (int i = 0; i < getNumChildren() ; i++){ for (int i = 0; i < getNumChildren() ; i++){
MElement *t = getChild(i); MElement *t = getChild(i);
t->writeMSH(fp, version, binary, num, elementary, physical, 0, 0, 0, ghosts); t->writeMSH(fp, version, binary, num++, elementary, physical, 0, 0, 0, ghosts);
} }
return; return;
} }
else if(CTX::instance()->mesh.saveTri && polyl){ else if(CTX::instance()->mesh.saveTri && polyl){
MLine *l = new MLine(getVertex(0), getVertex(1)); MLine *l = new MLine(getVertex(0), getVertex(1));
l->writeMSH(fp, version, binary, num, elementary, physical, 0, 0, 0, ghosts); l->writeMSH(fp, version, binary, num++, elementary, physical, 0, 0, 0, ghosts);
delete l; delete l;
return; return;
} }
......
...@@ -732,7 +732,10 @@ static void elementSplitMesh(MElement *e, fullMatrix<double> &verticesLs, ...@@ -732,7 +732,10 @@ static void elementSplitMesh(MElement *e, fullMatrix<double> &verticesLs,
elements[2][reg].push_back(tri); elements[2][reg].push_back(tri);
} }
else if(mf.getNumVertices() == 4){ else if(mf.getNumVertices() == 4){
MQuadrangle *quad = new MQuadrangle(mf.getVertex(0), mf.getVertex(1), mf.getVertex(2), mf.getVertex(3)); MQuadrangle *quad = new MQuadrangle(vertexMap[mf.getVertex(0)->getNum()],
vertexMap[mf.getVertex(1)->getNum()],
vertexMap[mf.getVertex(2)->getNum()],
vertexMap[mf.getVertex(3)->getNum()]);
elements[3][reg].push_back(quad); elements[3][reg].push_back(quad);
} }
if(physTag) assignLsPhysical(GM, reg, 2, physicals, physTag, gLsTag); if(physTag) assignLsPhysical(GM, reg, 2, physicals, physTag, gLsTag);
...@@ -1375,13 +1378,10 @@ GModel *buildCutMesh(GModel *gm, gLevelset *ls, ...@@ -1375,13 +1378,10 @@ GModel *buildCutMesh(GModel *gm, gLevelset *ls,
if(primS > 1) if(primS > 1)
verticesLs(k, vi->getIndex()) = (*ls)(vi->x(), vi->y(), vi->z()); verticesLs(k, vi->getIndex()) = (*ls)(vi->x(), vi->y(), vi->z());
} }
else{ else
verticesLs(0, vi->getIndex()) = (*ls)(vi->x(), vi->y(), vi->z()); verticesLs(0, vi->getIndex()) = (*ls)(vi->x(), vi->y(), vi->z());
//printf("xy = (%g,%g) val= %g(%g) ind=%d\n",vi->x(), vi->y(), verticesLs(0, vi->getIndex()),-vi->x()+0.41, vi->getIndex() );
}
} }
} }
//exit(1);
int numEle = gm->getNumMeshElements() + gm->getNumMeshParentElements(); //element number increment int numEle = gm->getNumMeshElements() + gm->getNumMeshParentElements(); //element number increment
for(unsigned int i = 0; i < gmEntities.size(); i++) { for(unsigned int i = 0; i < gmEntities.size(); i++) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment