From 962ac8186543ea4297b2d9a26abb92915131317b Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Thu, 4 Mar 2021 14:47:24 -0500 Subject: [PATCH] play with incremental rendering --- src/kiri/stack.js | 10 ++++++++++ src/kiri/stacks.js | 12 ++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/kiri/stack.js b/src/kiri/stack.js index 206c3509..a510b60c 100644 --- a/src/kiri/stack.js +++ b/src/kiri/stack.js @@ -44,6 +44,16 @@ this.show(); for (let i=0, s=this.slices, len=s.length; i= newMin && i <= newMax; + if (s[i].visible) this.lastVis = s[i]; + } + } + + setLastFraction(frac = 1) { + for (let mesh of this.lastVis.children) { + let geo = mesh.geometry; + let pos = geo.attributes.position; + let len = frac === 1 ? Infinity : Math.round(pos.count * frac); + geo.setDrawRange(0, len); } } diff --git a/src/kiri/stacks.js b/src/kiri/stacks.js index 24106415..dce39e29 100644 --- a/src/kiri/stacks.js +++ b/src/kiri/stacks.js @@ -52,6 +52,10 @@ return stacks[name]; } + function getStacks() { + return Object.entries(stacks); + } + function getLabels() { return Object.keys(DYN); } @@ -139,16 +143,24 @@ max = newMax; } + function setFraction(frac) { + Object.values(stacks).forEach(stack => { + stack.obj.setLastFraction(frac); + }); + } + KIRI.stacks = { clear, create, rotate, remove, getStack, + getStacks, getRange, setRange, getLabels, setVisible, + setFraction, setFreeMem };