diff --git a/Plugin/Crack.cpp b/Plugin/Crack.cpp index a8d76a4b62056918d890a7a2f2d365b5fa816979..403087080ec3599962e76e66d59f15f4ef9dd018 100644 --- a/Plugin/Crack.cpp +++ b/Plugin/Crack.cpp @@ -111,6 +111,10 @@ PView *GMSH_CrackPlugin::execute(PView *view) } } + std::set<GEntity*> crackEntities; + crackEntities.insert(entities.begin(), entities.end()); + crackEntities.insert(openEntities.begin(), openEntities.end()); + // get crack elements std::vector<MElement*> crackElements; for(unsigned int i = 0; i < entities.size(); i++) @@ -196,7 +200,8 @@ PView *GMSH_CrackPlugin::execute(PView *view) std::vector<GEntity*> allentities; m->getEntities(allentities); for(unsigned int ent = 0; ent < allentities.size(); ent++){ - if(allentities[ent]->dim() != dim + 1) continue; + //if(allentities[ent]->dim() != dim + 1) continue; + if(crackEntities.find(allentities[ent]) != crackEntities.end()) continue; for(unsigned int i = 0; i < allentities[ent]->getNumMeshElements(); i++){ MElement *e = allentities[ent]->getMeshElement(i); for(int j = 0; j < e->getNumVertices(); j++){