diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp index ecb4c7554e1e198155ad450830285dca73becd9b..86fa28bfc04ae1af60f5db78715f32a3358a5cb3 100644 --- a/Geo/GModel.cpp +++ b/Geo/GModel.cpp @@ -1925,6 +1925,10 @@ void GModel::glue(double eps) glueFacesInRegions(this, Unique2Duplicates, Duplicates2Unique); } } +void GModel::insertRegion(GRegion *r) +{ + regions.insert(r); +} #include "Bindings.h" @@ -1976,6 +1980,9 @@ void GModel::registerBindings(binding *b) cm->setDescription("access a geometrical region by tag"); cm->setArgNames("tag", NULL); + cm = cb->addMethod("insertRegion", &GModel::insertRegion); + cm->setDescription("insert an existing region to the model list"); + cm->setArgNames("region", NULL); cm = cb->addMethod("getRegions", &GModel::bindingsGetRegions); cm->setDescription("return a vector of the regions"); cm = cb->addMethod("getFaces", &GModel::bindingsGetFaces); diff --git a/Geo/GModel.h b/Geo/GModel.h index 5327353a1e02314df9896064b62c14453c2c3cc9..6ed3ac83eb6cd030b2512f745666fc3c73d029ba 100644 --- a/Geo/GModel.h +++ b/Geo/GModel.h @@ -118,6 +118,8 @@ class GModel std::set<GEdge*, GEntityLessThan> edges; std::set<GVertex*, GEntityLessThan> vertices; + void insertRegion (GRegion*); + // map between the pair <dimension, elementary or physical number> // and an optional associated name std::map<std::pair<int, int>, std::string> physicalNames, elementaryNames;