diff --git a/Mesh/meshGRegion.cpp b/Mesh/meshGRegion.cpp index 7b6aa0e4862acf2040a10c2dba5ae70be2cfc289..e8270bcb70668855034b45065f2a2a38ff2c39e6 100644 --- a/Mesh/meshGRegion.cpp +++ b/Mesh/meshGRegion.cpp @@ -385,12 +385,47 @@ void TransferTetgenMesh(GRegion *gr, tetgenio &in, tetgenio &out, // TODO: re-create 1D mesh - /*for(int i = 0; i < out.numberofedges; i++){ - MVertex *v[2]; - v[0] = numberedV[out.edgelist[i * 2 + 0] - 1]; - v[1] = numberedV[out.edgelist[i * 2 + 1] - 1]; - //implement here the 1D mesh ... + //************************************************* + /*std::map<GEdge*,std::set<MVertex*> > edge_to_vertices; + std::map<GEdge*,std::set<MVertex*> >::iterator it; + + for(int i = 0; i < out.numberofedges; i++){ + if(out.edgemarkerlist[i] > 0){ + MVertex *v[2]; + v[0] = numberedV[out.edgelist[i * 2 + 0] - 1]; + v[1] = numberedV[out.edgelist[i * 2 + 1] - 1]; + + printf("%d\n",out.edgemarkerlist[i]); + GEdge *ge = gr->model()->getEdgeByTag(out.edgemarkerlist[i]); + printf("%d\n",ge->tag()); + MLine *l = new MLine(v[0], v[1]); + ge->lines.push_back(l); + + it = edge_to_vertices.find(ge); + if(it==edge_to_vertices.end()){ + std::set<MVertex*> vertices; + vertices.insert(v[0]); + vertices.insert(v[1]); + edge_to_vertices.insert(std::pair<GEdge*,std::set<MVertex*> >(ge,vertices)); + } + else{ + it->second.insert(v[0]); + it->second.insert(v[1]); + } + } + } + + for(it = edge_to_vertices.begin(); it != edge_to_vertices.end(); it++){ + GEdge *ge = it->first; + std::set<MVertex*> vertices; + vertices = it->second; + + std::set<MVertex*>::iterator it2; + for(it2 = vertices.begin(); it2 != vertices.end(); it2++){ + ge->mesh_vertices.push_back(*it2); + } }*/ + //************************************************* bool needParam = (CTX::instance()->mesh.order > 1 && CTX::instance()->mesh.secondOrderExperimental);