Skip to content
Snippets Groups Projects
Commit 5cb40de3 authored by Emilie Marchandise's avatar Emilie Marchandise
Browse files

gmshLevelset OK for python binding

parent 661e73cb
No related branches found
No related tags found
No related merge requests found
......@@ -1338,9 +1338,7 @@ GModel *buildCutMesh(GModel *gm, gLevelset *ls,
}
for(DI_Point::Container::iterator it = cp.begin(); it != cp.end(); it++) delete *it;
printf("coucou delet dim =%d\n", gmEntities[i]->dim());
for(unsigned int k = 0; k < lines.size(); k++) delete lines[k];
printf("coucou delet \n");
for(unsigned int k = 0; k < triangles.size(); k++) delete triangles[k];
for(unsigned int k = 0; k < quads.size(); k++) delete quads[k];
for(unsigned int k = 0; k < tetras.size(); k++) delete tetras[k];
......
......@@ -271,13 +271,16 @@ class gLevelsetTools : public gLevelset
{
protected:
std::vector<gLevelset *> children;
bool _delChildren;//flag to delete only if called from gmsh Parser
public:
gLevelsetTools () {}
gLevelsetTools (std::vector<gLevelset *> &p) {children = p;}
gLevelsetTools (const std::vector<gLevelset *> &p, bool delC=false) {children = p; _delChildren=delC;}
gLevelsetTools (const gLevelsetTools &);
~gLevelsetTools () {
for(int i = 0; i < (int)children.size(); i++)
delete children[i];
virtual ~gLevelsetTools () {
if (_delChildren){
for(int i = 0; i < (int)children.size(); i++)
delete children[i];
}
}
double operator () (const double x, const double y, const double z) const {
double d = (*children[0])(x, y, z);
......@@ -328,7 +331,7 @@ public:
class gLevelsetCut : public gLevelsetTools
{
public:
gLevelsetCut (std::vector<gLevelset *> p) : gLevelsetTools(p) { }
gLevelsetCut (std::vector<gLevelset *> p, bool delC=false) : gLevelsetTools(p,delC) { }
double choose (double d1, double d2) const {
return (d1 > -d2) ? d1 : -d2; // greater of d1 and -d2
}
......@@ -341,7 +344,7 @@ public:
class gLevelsetUnion : public gLevelsetTools
{
public:
gLevelsetUnion (std::vector<gLevelset *> p) : gLevelsetTools(p) { }
gLevelsetUnion (std::vector<gLevelset *> p, bool delC=false) : gLevelsetTools(p,delC) { }
gLevelsetUnion(const gLevelsetUnion &lv):gLevelsetTools(lv){}
virtual gLevelset * clone() const{return new gLevelsetUnion(*this);}
......@@ -355,7 +358,7 @@ public:
class gLevelsetIntersection : public gLevelsetTools
{
public:
gLevelsetIntersection (std::vector<gLevelset *> p) : gLevelsetTools(p) { }
gLevelsetIntersection (std::vector<gLevelset *> p, bool delC=false) : gLevelsetTools(p,delC) { }
gLevelsetIntersection(const gLevelsetIntersection &lv):gLevelsetTools(lv) { }
virtual gLevelset *clone() const { return new gLevelsetIntersection(*this); }
......
......@@ -1987,7 +1987,7 @@ LevelSet :
if(!pl) yymsg(0, "Levelset Union %d : unknown levelset %d", t, (int)d);
else vl.push_back(pl->ls);
}
gLevelset *ls = new gLevelsetUnion(vl);
gLevelset *ls = new gLevelsetUnion(vl, True);
LevelSet *l = Create_LevelSet(t, ls);
Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l);
}
......@@ -2005,7 +2005,7 @@ LevelSet :
if(!pl) yymsg(0, "Levelset Intersection %d : unknown levelset %d", t, (int)d);
else vl.push_back(pl->ls);
}
gLevelset *ls = new gLevelsetIntersection(vl);
gLevelset *ls = new gLevelsetIntersection(vl, True);
LevelSet *l = Create_LevelSet(t, ls);
Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l);
}
......@@ -2023,7 +2023,7 @@ LevelSet :
if(!pl) yymsg(0, "Levelset Cut %d : unknown levelset %d", t, (int)d);
else vl.push_back(pl->ls);
}
gLevelset *ls = new gLevelsetCut(vl);
gLevelset *ls = new gLevelsetCut(vl, True);
LevelSet *l = Create_LevelSet(t, ls);
Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l);
}
......@@ -2041,7 +2041,7 @@ LevelSet :
if(!pl) yymsg(0, "Levelset Crack %d : unknown levelset %d", t, (int)d);
else vl.push_back(pl->ls);
}
gLevelset *ls = new gLevelsetCrack(vl);
gLevelset *ls = new gLevelsetCrack(vl, True);
LevelSet *l = Create_LevelSet(t, ls);
Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment