From 9828666b74657b6da334e7fb147612c86ede35bc Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Sat, 21 Nov 2009 11:20:22 +0000
Subject: [PATCH] enable deletion of GModel entities in scripts

---
 Geo/Geo.cpp | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/Geo/Geo.cpp b/Geo/Geo.cpp
index bd93e1a68a..cb7eb3b2ba 100644
--- a/Geo/Geo.cpp
+++ b/Geo/Geo.cpp
@@ -1164,10 +1164,29 @@ void DeleteShape(int Type, int Num)
     DeleteVolume(Num);
     break;
   case MSH_POINT_FROM_GMODEL:
+    {
+      GVertex *gv = GModel::current()->getVertexByTag(Num);
+      if(gv) GModel::current()->remove(gv);
+    }
+    break;
   case MSH_SEGM_FROM_GMODEL:
+    {
+      GEdge *ge = GModel::current()->getEdgeByTag(Num);
+      if(ge) GModel::current()->remove(ge);
+    }
+    break;
   case MSH_SURF_FROM_GMODEL:
+    {
+      GFace *gf = GModel::current()->getFaceByTag(Num);
+      if(gf) GModel::current()->remove(gf);
+    }
+    break;
+
   case MSH_VOLUME_FROM_GMODEL:
-    Msg::Error("Deletion of external CAD entities is not implemented yet");
+    {
+      GRegion *gr = GModel::current()->getRegionByTag(Num);
+      if(gr) GModel::current()->remove(gr);
+    }
     break;
   default:
     Msg::Error("Impossible to delete entity %d (of type %d)", Num, Type);
-- 
GitLab