From 31d8547362f17771e41d93cf2f1ba6b40f8785e0 Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Tue, 25 Oct 2016 17:18:43 +0000
Subject: [PATCH] embedded vertices

---
 Geo/OCCRegion.cpp | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/Geo/OCCRegion.cpp b/Geo/OCCRegion.cpp
index b41a798f23..5be90f4963 100644
--- a/Geo/OCCRegion.cpp
+++ b/Geo/OCCRegion.cpp
@@ -54,7 +54,7 @@ void OCCRegion::setup()
     TopoDS_Edge edge = TopoDS::Edge(exp3.Current());
     GEdge *e = model()->getOCCInternals()->getOCCEdgeByNativePtr(model(), edge);
     if (!e){
-      Msg::Error("Unknown edge in face %d", tag());
+      Msg::Error("Unknown edge in region %d", tag());
     }
     else if (edge.Orientation() == TopAbs_INTERNAL){
       Msg::Info("Adding embedded edge %d", e->tag());
@@ -64,6 +64,18 @@ void OCCRegion::setup()
     }
   }
 
+  for (exp3.Init(s, TopAbs_VERTEX); exp3.More(); exp3.Next()){
+    TopoDS_Vertex vertex = TopoDS::Vertex(exp3.Current());
+    GVertex *v = model()->getOCCInternals()->getOCCVertexByNativePtr(model(), vertex);
+    if (!v){
+      Msg::Error("Unknown vertex in region %d", tag());
+    }
+    else if (vertex.Orientation() == TopAbs_INTERNAL){
+      Msg::Info("Adding embedded vertex %d", v->tag());
+      embedded_vertices.push_back(v);
+    }
+  }
+
   Msg::Debug("OCC Region %d with %d faces", tag(), l_faces.size());
 }
 
-- 
GitLab