Skip to content
Snippets Groups Projects
Commit 3e632207 authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

*** empty log message ***

parent 05329306
Branches
Tags
No related merge requests found
......@@ -580,21 +580,25 @@ static void applyOCCMeshConstraints(GModel *m, const void *constraints)
for(GModel::viter it = m->firstVertex(); it != m->lastVertex(); ++it){
GVertex *gv = *it;
if(gv->getNativeType() != GEntity::OpenCascadeModel) continue;
TopoDS_Shape *shape = (TopoDS_Shape*)gv->getNativePtr();
if(vertexConstraints.IsBound(*shape)) {
TopoDS_Shape *s = (TopoDS_Shape*)gv->getNativePtr();
if(vertexConstraints.IsBound(*s)) {
Msg::Debug("Found mesh contraints on vertex %d", gv->tag());
const MeshGmsh_VertexConstrain &c(vertexConstraints.Find(*shape));
const MeshGmsh_VertexConstrain &c(vertexConstraints.Find(*s));
// characteristic length constraint
double lc = c.GetSize();
if(lc >= 0.){
Msg::Debug("... setting mesh size = %g", lc);
gv->setPrescribedMeshSizeAtVertex(lc);
if(!c.GetFace().IsNull()){
}
// embedding constraint
if(c.IsEmbedded() && !c.GetFace().IsNull()){
TopoDS_Shape shape = c.GetFace();
for(GModel::fiter it2 = m->firstFace(); it2 != m->lastFace(); ++it2){
GFace *gf = *it2;
if(gf->getNativeType() != GEntity::OpenCascadeModel) continue;
TopoDS_Shape *shape2 = (TopoDS_Shape*)gf->getNativePtr();
if(shape.IsSame(*shape2)){
Msg::Debug("... embedding in face %d", gf->tag());
Msg::Debug("... embedding vertex in face %d", gf->tag());
gf->addEmbeddedVertex(gv);
}
}
......@@ -608,11 +612,12 @@ static void applyOCCMeshConstraints(GModel *m, const void *constraints)
for(GModel::eiter it = m->firstEdge(); it != m->lastEdge(); ++it){
GEdge *ge = *it;
if(ge->getNativeType() != GEntity::OpenCascadeModel) continue;
TopoDS_Shape *shape = (TopoDS_Shape*)ge->getNativePtr();
if(edgeConstraints.IsBound(*shape)) {
TopoDS_Shape *s = (TopoDS_Shape*)ge->getNativePtr();
if(edgeConstraints.IsBound(*s)) {
Msg::Debug("Found mesh contraints on edge %d", ge->tag());
const MeshGmsh_EdgeConstrain &c(edgeConstraints.Find(*shape));
if(c.IsMeshImposed() == Standard_True){
const MeshGmsh_EdgeConstrain &c(edgeConstraints.Find(*s));
// prescribed mesh constraint
if(c.IsMeshImposed()){
TColStd_SequenceOfInteger nodeNum;
c.GetNodesNumber(nodeNum);
TColStd_SequenceOfReal nodePar;
......@@ -655,6 +660,19 @@ static void applyOCCMeshConstraints(GModel *m, const void *constraints)
}
}
}
// embedding constraint
if(c.IsEmbedded() && !c.GetFace().IsNull()){
TopoDS_Shape shape = c.GetFace();
for(GModel::fiter it2 = m->firstFace(); it2 != m->lastFace(); ++it2){
GFace *gf = *it2;
if(gf->getNativeType() != GEntity::OpenCascadeModel) continue;
TopoDS_Shape *shape2 = (TopoDS_Shape*)gf->getNativePtr();
if(shape.IsSame(*shape2)){
Msg::Debug("... embedding edge in face %d", gf->tag());
gf->addEmbeddedEdge(ge);
}
}
}
}
}
#endif
......
......@@ -20,7 +20,8 @@ with the MacOS port and the tensor display code; Pierre Badel for help
with the GSL integration; Marc Ume for the original list code; Matt
Gundry for the Plot3d mesh format; Jozef Vesely for help with the
Tetgen integration; Koen Hillewaert for high order element mappings
and other improvements; Jacques Lechelle for the DIFFPACK mesh format.
and other improvements; Jacques Lechelle for the DIFFPACK mesh format;
Ruth Sabariego for pyramids.
The AVL tree code (Common/avl.*) and the YUV image code
(Graphics/gl2yuv.*) are copyright (C) 1988-1993, 1995 The Regents of
......@@ -104,8 +105,11 @@ machines for testing Gmsh: Juan Abanto, Olivier Adam, Guillaume
Alleon, Eric Bechet, Laurent Champaney, Pascal Dupuis, Philippe
Geuzaine, Johan Gyselinck, Francois Henrotte, Benoit Meys, Nicolas
Moes, Osamu Nakamura, Chad Schmutzer, Jean-Luc Fl'ejou, Xavier
Dardenne, Christophe Prud'homme, Sebastien.Clerc, Jose Miguel Pasini,
Dardenne, Christophe Prud'homme, Sebastien Clerc, Jose Miguel Pasini,
Philippe Lussou, Jacques Kools, Bayram Yenikaya, Peter Hornby, Krishna
Mohan Gundu, Christopher Stott, Timmy Schumacher, Carl Osterwisch,
Bruno Frackowiak, Philip Kelleners, Romuald Conty, Ruth Sabariego,
Renaud Sizaire, Michel Benhamou, Emilie Marchandise, Tom De Vuyst.
Bruno Frackowiak, Philip Kelleners, Romuald Conty, Renaud Sizaire,
Michel Benhamou, Emilie Marchandise, Tom De Vuyst, Kris Van den
Abeele, Simon Vun, Simon Corbin, Thomas De-Soza, Marcus Drosson,
Antoine Dechaume, Jose Paulo Moitinho de Almeida, Thomas Pinchard,
Corrado Chisari, Axel Hackbarth, Peter Wainwright.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment