diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp index afaab071ee8e911eb33a5a445f442ca3bf02a906..6f9d178ae17b1b8a2396a18e9c53b887445d2672 100644 --- a/Geo/GModel.cpp +++ b/Geo/GModel.cpp @@ -243,26 +243,6 @@ 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 001a5913f7130572c6819450d8ba1e90f33750a1..51a83c641170ac76b8726e46abb9f4665d45276d 100644 --- a/Geo/GModel.h +++ b/Geo/GModel.h @@ -273,13 +273,6 @@ class GModel GVertex *getVertexByTag(int n) const; std::vector<int> getEdgesByStringTag(const std::string tag); - // 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); } void add(GFace *f) { faces.insert(f); } diff --git a/Mesh/CenterlineField.cpp b/Mesh/CenterlineField.cpp index 152e5db5e862f46696d9c2ef9338e2d0af3e5400..259bc3f1532e15f0c80ba58db71dc6aa8cc1a06a 100644 --- a/Mesh/CenterlineField.cpp +++ b/Mesh/CenterlineField.cpp @@ -369,7 +369,7 @@ Centerline::~Centerline() void Centerline::importFile(std::string fileName) { current = GModel::current(); - std::vector<GFace*> currentFaces = current->bindingsGetFaces(); + std::vector<GFace*> currentFaces(current->firstFace(), current->lastFace()); for (unsigned int i = 0; i < currentFaces.size(); i++){ GFace *gf = currentFaces[i]; if (gf->geomType() == GEntity::DiscreteSurface){ @@ -395,7 +395,7 @@ void Centerline::importFile(std::string fileName) current->setVisibility(1); int maxN = 0.0; - std::vector<GEdge*> modEdges = mod->bindingsGetEdges(); + std::vector<GEdge*> modEdges(mod->firstEdge(), mod->lastEdge()); MVertex *vin = modEdges[0]->lines[0]->getVertex(0); ptin = SPoint3(vin->x(), vin->y(), vin->z()); for (unsigned int i = 0; i < modEdges.size(); i++){ diff --git a/wrappers/gmshpy/gmshGeo.i b/wrappers/gmshpy/gmshGeo.i index eaf5b4c9106a8b26e002805fd74430a1d9da3d97..a44493370a3960b88f5dd180a08b6374de714f85 100644 --- a/wrappers/gmshpy/gmshGeo.i +++ b/wrappers/gmshpy/gmshGeo.i @@ -114,4 +114,26 @@ namespace std { } return elements; } + + std::vector<GRegion*> bindingsGetRegions() + { + return std::vector<GRegion*> ($self->firstRegion(), $self->lastRegion()); + } + + std::vector<GFace*> bindingsGetFaces() + { + return std::vector<GFace*> ($self->firstFace(), $self->lastFace()); + } + + std::vector<GEdge*> bindingsGetEdges() + { + return std::vector<GEdge*> ($self->firstEdge(), $self->lastEdge()); + } + + std::vector<GVertex*> bindingsGetVertices() + { + return std::vector<GVertex*> ($self->firstVertex(), $self->lastVertex()); + } + } +