diff --git a/src/modifiers/colormodifier.ts b/src/modifiers/colormodifier.ts index a6ac6be9..48224fe6 100644 --- a/src/modifiers/colormodifier.ts +++ b/src/modifiers/colormodifier.ts @@ -129,7 +129,11 @@ class ColorModifier extends Modifier { this.computeName = undefined; } - runByProperty = (input: ModifierInput, output: ModifierOutput) => { + runByProperty = ( + input: ModifierInput, + output: ModifierOutput, + everything: boolean = false, + ) => { if (!input.renderState.visualizer) { return; } @@ -187,7 +191,9 @@ class ColorModifier extends Modifier { everything: boolean = false, ) => { if ( - (this.previousColoringMethod === "type" && !output.colorsDirty) || + (!everything && + this.previousColoringMethod === "type" && + !output.colorsDirty) || !input.renderState.visualizer ) { return; @@ -214,13 +220,17 @@ class ColorModifier extends Modifier { this.previousColoringMethod = "type"; }; - run = (input: ModifierInput, output: ModifierOutput) => { + run( + input: ModifierInput, + output: ModifierOutput, + everything: boolean = false, + ): void { if (this.computeName) { - this.runByProperty(input, output); + this.runByProperty(input, output, everything); } else { - this.runByType(input, output); + this.runByType(input, output, everything); } - }; + } } export default ColorModifier; diff --git a/src/modifiers/modifier.ts b/src/modifiers/modifier.ts index 4c0e43bf..474d26be 100644 --- a/src/modifiers/modifier.ts +++ b/src/modifiers/modifier.ts @@ -5,7 +5,7 @@ interface ModifierProps { active: boolean; } -class Modifier { +abstract class Modifier { public name: string; public key: string; public active: boolean; @@ -16,10 +16,10 @@ class Modifier { this.active = active; } - run = ( + abstract run( input: ModifierInput, output: ModifierOutput, - everything: boolean = false, - ) => {}; + everything?: boolean + ): void; } export default Modifier; diff --git a/src/modifiers/syncbondsmodifier.ts b/src/modifiers/syncbondsmodifier.ts index 16257a2c..f9400dd7 100644 --- a/src/modifiers/syncbondsmodifier.ts +++ b/src/modifiers/syncbondsmodifier.ts @@ -12,7 +12,11 @@ class SyncBondsModifier extends Modifier { super({ name, active }); } - run = (input: ModifierInput, output: ModifierOutput) => { + run( + input: ModifierInput, + output: ModifierOutput, + _everything: boolean = false, + ): void { if (!this.active) { if (output.bonds) { output.bonds.count = 0; @@ -43,7 +47,7 @@ class SyncBondsModifier extends Modifier { if (newBonds.mesh) { newBonds.mesh.count = numBonds; } - return newBonds; + return; } const bonds1Ptr = input.lammps.getBondsPosition1Pointer() / 4; @@ -64,7 +68,7 @@ class SyncBondsModifier extends Modifier { newBonds.mesh.count = numBonds; } newBonds.markNeedsUpdate(); - }; + } } export default SyncBondsModifier; diff --git a/src/modifiers/synccomputesmodifier.ts b/src/modifiers/synccomputesmodifier.ts index 069df3c9..f40e867e 100644 --- a/src/modifiers/synccomputesmodifier.ts +++ b/src/modifiers/synccomputesmodifier.ts @@ -11,11 +11,11 @@ class SyncComputesModifier extends Modifier { super({ name, active }); } - run = ( + run( input: ModifierInput, output: ModifierOutput, everything: boolean = false, - ) => { + ): void { if (!this.active || !input.hasSynchronized) { return; } @@ -121,7 +121,7 @@ class SyncComputesModifier extends Modifier { } output.computes[name] = compute; } - }; + } } export default SyncComputesModifier; diff --git a/src/modifiers/syncfixesmodifier.ts b/src/modifiers/syncfixesmodifier.ts index d1d54716..857993ec 100644 --- a/src/modifiers/syncfixesmodifier.ts +++ b/src/modifiers/syncfixesmodifier.ts @@ -11,11 +11,11 @@ class SyncFixesModifier extends Modifier { super({ name, active }); } - run = ( + run( input: ModifierInput, output: ModifierOutput, everything: boolean = false, - ) => { + ): void { if (!this.active || !input.hasSynchronized) { return; } @@ -116,7 +116,7 @@ class SyncFixesModifier extends Modifier { } output.fixes[name] = fix; } - }; + } } export default SyncFixesModifier; diff --git a/src/modifiers/syncparticlesmodifier.ts b/src/modifiers/syncparticlesmodifier.ts index 7a4ad840..047bf5d6 100644 --- a/src/modifiers/syncparticlesmodifier.ts +++ b/src/modifiers/syncparticlesmodifier.ts @@ -12,11 +12,11 @@ class SyncParticlesModifier extends Modifier { super({ name, active }); } - run = ( + run( input: ModifierInput, output: ModifierOutput, - everything: boolean = false, - ) => { + _everything: boolean = false, + ): void { if (!this.active) { if (output.particles) { output.particles.count = 0; @@ -75,8 +75,7 @@ class SyncParticlesModifier extends Modifier { } newParticles.markNeedsUpdate(); - return newParticles; - }; + } } export default SyncParticlesModifier; diff --git a/src/modifiers/syncvariablesmodifier.ts b/src/modifiers/syncvariablesmodifier.ts index f84923d6..1773201c 100644 --- a/src/modifiers/syncvariablesmodifier.ts +++ b/src/modifiers/syncvariablesmodifier.ts @@ -11,11 +11,11 @@ class SyncVariablesModifier extends Modifier { super({ name, active }); } - run = ( + run( input: ModifierInput, output: ModifierOutput, everything: boolean = false, - ) => { + ): void { if (!this.active || !input.hasSynchronized) { return; } @@ -118,7 +118,7 @@ class SyncVariablesModifier extends Modifier { } output.variables[name] = variable; } - }; + } } export default SyncVariablesModifier;