Merge branch 'fix_occ_heal' into 'master'

clear geom data in OCCGeometry::BuildFMap() (fixes broken meshing after Heal())

See merge request jschoeberl/netgen!465
This commit is contained in:
Matthias Hochsteger 2022-01-17 09:30:20 +00:00
commit 49cdba1046
3 changed files with 20 additions and 0 deletions

View File

@ -199,6 +199,19 @@ namespace netgen
} }
}; };
void NetgenGeometry :: Clear()
{
vertex_map.clear();
edge_map.clear();
face_map.clear();
solid_map.clear();
vertices.SetSize0();
edges.SetSize0();
faces.SetSize0();
solids.SetSize0();
}
void NetgenGeometry :: ProcessIdentifications() void NetgenGeometry :: ProcessIdentifications()
{ {
for(auto i : Range(vertices)) for(auto i : Range(vertices))

View File

@ -197,6 +197,7 @@ namespace netgen
const GeometryFace & GetFace(int i) const { return *faces[i]; } const GeometryFace & GetFace(int i) const { return *faces[i]; }
void Clear();
virtual int GenerateMesh (shared_ptr<Mesh> & mesh, MeshingParameters & mparam); virtual int GenerateMesh (shared_ptr<Mesh> & mesh, MeshingParameters & mparam);

View File

@ -1107,6 +1107,12 @@ namespace netgen
fsingular = esingular = vsingular = false; fsingular = esingular = vsingular = false;
NetgenGeometry::Clear();
edge_map.clear();
vertex_map.clear();
face_map.clear();
solid_map.clear();
// Add shapes // Add shapes
for(auto i1 : Range(1, vmap.Extent()+1)) for(auto i1 : Range(1, vmap.Extent()+1))
{ {