From c5fe47239e5e7b783d32eb63706757314c4362e2 Mon Sep 17 00:00:00 2001
From: Bruno Seny <bruno.seny@student.uclouvain.be>
Date: Mon, 28 Mar 2011 15:17:39 +0000
Subject: [PATCH] gmsh/Geo: temporary fix for bindingsGet....

---
 Geo/GModel.cpp | 20 ++++++++++++++++++++
 Geo/GModel.h   |  6 ++++++
 2 files changed, 26 insertions(+)

diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp
index 820c2475d8..b22b3ac6e3 100644
--- a/Geo/GModel.cpp
+++ b/Geo/GModel.cpp
@@ -195,6 +195,26 @@ bool GModel::empty() const
   return vertices.empty() && edges.empty() && faces.empty() && regions.empty();
 }
 
+std::vector<GRegion*> GModel::bindingsGetRegions()
+{
+  return std::vector<GRegion*> (regions.begin(), regions.end());
+}
+
+std::vector<GFace*> GModel::bindingsGetFaces()
+{
+  return std::vector<GFace*> (faces.begin(), faces.end());
+}
+
+std::vector<GEdge*> GModel::bindingsGetEdges()
+{
+  return std::vector<GEdge*> (edges.begin(), edges.end());
+}
+
+std::vector<GVertex*> GModel::bindingsGetVertices()
+{
+  return std::vector<GVertex*> (vertices.begin(), vertices.end());
+}
+
 GRegion *GModel::getRegionByTag(int n) const
 {
   GEntity tmp((GModel*)this, n);
diff --git a/Geo/GModel.h b/Geo/GModel.h
index 177b926589..7880a2b633 100644
--- a/Geo/GModel.h
+++ b/Geo/GModel.h
@@ -204,6 +204,12 @@ class GModel
   GFace *getFaceByTag(int n) const;
   GEdge *getEdgeByTag(int n) const;
   GVertex *getVertexByTag(int n) const;
+
+  // for python, temporary solution while iterator are not binded
+  std::vector<GRegion*> bindingsGetRegions();
+  std::vector<GFace*> bindingsGetFaces();
+  std::vector<GEdge*> bindingsGetEdges();
+  std::vector<GVertex*> bindingsGetVertices();
   
   // add/remove an entity in the model
   void add(GRegion *r) { regions.insert(r); }
-- 
GitLab