Don't skip deleted elements when building point2element table

This commit is contained in:
Matthias Hochsteger 2021-06-04 19:57:21 +02:00
parent 24504ffe3f
commit bb43f669e6
2 changed files with 15 additions and 10 deletions

View File

@ -6554,8 +6554,6 @@ namespace netgen
[&](auto & table, ElementIndex ei) [&](auto & table, ElementIndex ei)
{ {
const auto & el = (*this)[ei]; const auto & el = (*this)[ei];
if(el.IsDeleted())
return;
for (PointIndex pi : el.PNums()) for (PointIndex pi : el.PNums())
if(free_points[pi]) if(free_points[pi])
@ -6567,8 +6565,6 @@ namespace netgen
[&](auto & table, ElementIndex ei) [&](auto & table, ElementIndex ei)
{ {
const auto & el = (*this)[ei]; const auto & el = (*this)[ei];
if(el.IsDeleted())
return;
for (PointIndex pi : el.PNums()) for (PointIndex pi : el.PNums())
table.Add (pi, ei); table.Add (pi, ei);

View File

@ -838,13 +838,22 @@ namespace netgen
void DoArchive (Archive & ar) void DoArchive (Archive & ar)
{ {
short _np, _typ; short _np = np;
bool _curved; short _typ = typ;
if (ar.Output()) bool _curved = is_curved;
{ _np = np; _typ = typ; _curved = is_curved; } auto _index = index;
ar & _np & _typ & index & _curved;
ar & _np & _typ & _index & _curved;
if (ar.Input()) if (ar.Input())
{ np = _np; typ = ELEMENT_TYPE(_typ); is_curved = _curved; } {
new (&this) Element(_np);
np = _np;
typ = ELEMENT_TYPE(_typ);
index = _index;
is_curved = _curved;
}
for (size_t i = 0; i < np; i++) for (size_t i = 0; i < np; i++)
ar & pnum[i]; ar & pnum[i];
} }