re-enable ref cleaning with changes

This commit is contained in:
Stewart Allen 2023-01-12 00:28:21 -05:00
commit 03bf0eae77

View file

@ -405,20 +405,27 @@ async function sliceZ(z, points, options = {}) {
} }
// free objects to be re-claimed and reduce memory pressure // free objects to be re-claimed and reduce memory pressure
if (false) { if (true) {
delete rval.groups delete rval.groups
delete rval.lines delete rval.lines
delete rval.clip.m_AllPolys
if (rval.tops)
for (let top of rval.tops) { for (let top of rval.tops) {
top.poly.freeParentRefs(); if (top.poly) {
top.simple.freeParentRefs(); top.poly.freeParentRefs();
for (let shell of top.shells) shell.freeParentRefs(); top.simple.freeParentRefs();
for (let fillo of top.fill_off) fillo.freeParentRefs(); for (let shell of top.shells) shell.freeParentRefs();
for (let last of top.last) last.freeParentRefs(); for (let fillo of top.fill_off) fillo.freeParentRefs();
for (let last of top.last) last.freeParentRefs();
} else {
top.freeParentRefs();
}
} }
for (let clip of rval.clip) clip.freeParentRefs(); if (rval.clip) {
for (let clip of rval.clip) clip.freeParentRefs();
if (rval.clip.m_AllPolys) delete rval.clip.m_AllPolys
}
} }
if (each) each(rval); if (each) each(rval);