fix closesurface identification IsSame instead of operator ==

This commit is contained in:
Christopher Lackner 2022-08-29 14:43:01 +02:00
parent cee2ca18fc
commit 7c2070ab0d
2 changed files with 7 additions and 2 deletions

View File

@ -282,7 +282,12 @@ namespace netgen
GProp_GProps props;
switch (shape.ShapeType())
{
case TopAbs_SOLID:
case TopAbs_COMPOUND:
case TopAbs_COMPSOLID:
BRepGProp::VolumeProperties (shape, props); break;
case TopAbs_FACE:
case TopAbs_SHELL:
BRepGProp::SurfaceProperties (shape, props); break;
default:
BRepGProp::LinearProperties(shape, props);

View File

@ -408,7 +408,7 @@ namespace netgen
for (TopExp_Explorer e(shape, typ); e.More(); e.Next())
{
auto s = e.Current();
for (auto mods : builder.Modified(e.Current()))
for (auto mods : builder.Modified(s))
mod_map[s].insert(mods);
}
@ -456,7 +456,7 @@ namespace netgen
id_new.to = to_mapped;
id_new.from = from_mapped;
id_new.trafo = trafo_mapped;
auto id_owner = from == s ? from_mapped : to_mapped;
auto id_owner = from.IsSame(s) ? from_mapped : to_mapped;
OCCGeometry::identifications[id_owner].push_back(id_new);
}
}