[occ] restrict meshsize at vertices

This commit is contained in:
Christopher Lackner 2023-06-29 12:23:19 +02:00
parent fffe1831a3
commit 0530775800
2 changed files with 11 additions and 1 deletions

View File

@ -507,6 +507,16 @@ namespace netgen
for(auto layer : Range(1, maxlayer+1)) for(auto layer : Range(1, maxlayer+1))
mesh.SetLocalH (bb.PMin(), bb.PMax(), mparam.grading, layer); mesh.SetLocalH (bb.PMin(), bb.PMax(), mparam.grading, layer);
for(const auto& v : GetVertices(geom.GetShape()))
{
if(OCCGeometry::HaveProperties(v))
{
auto& props = OCCGeometry::GetProperties(v);
if(props.maxh < 1e99)
mesh.GetLocalH(props.layer)->SetH(occ2ng(BRep_Tool::Pnt(TopoDS::Vertex(v))), props.maxh);
}
}
int nedges = geom.emap.Extent(); int nedges = geom.emap.Extent();
double mincurvelength = IGNORECURVELENGTH; double mincurvelength = IGNORECURVELENGTH;

View File

@ -530,7 +530,7 @@ namespace netgen
{ {
bool have_identifications = false; bool have_identifications = false;
for (auto typ : { TopAbs_SOLID, TopAbs_FACE, TopAbs_EDGE }) for (auto typ : { TopAbs_SOLID, TopAbs_FACE, TopAbs_EDGE, TopAbs_VERTEX })
for (TopExp_Explorer e(shape, typ); e.More(); e.Next()) for (TopExp_Explorer e(shape, typ); e.More(); e.Next())
{ {
auto s = e.Current(); auto s = e.Current();