From baac9f341dc57a6a19783af9251c65e63d679eaa Mon Sep 17 00:00:00 2001
From: Tristan Carrier Baudouin <tristan.carrier@uclouvain.be>
Date: Fri, 23 Aug 2013 13:09:18 +0000
Subject: [PATCH] reconstruction of the edge meshes (in comment)

---
 Mesh/meshGRegion.cpp | 45 +++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 40 insertions(+), 5 deletions(-)

diff --git a/Mesh/meshGRegion.cpp b/Mesh/meshGRegion.cpp
index 7b6aa0e486..e8270bcb70 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);
-- 
GitLab