@Override public void start () { spawnWidth = spawnWidthValue.newLowValue(); spawnWidthDiff = spawnWidthValue.newHighValue(); if (!spawnWidthValue.isRelative()) spawnWidthDiff -= spawnWidth; spawnHeight = spawnHeightValue.newLowValue(); spawnHeightDiff = spawnHeightValue.newHighValue(); if (!spawnHeightValue.isRelative()) spawnHeightDiff -= spawnHeight; spawnDepth = spawnDepthValue.newLowValue(); spawnDepthDiff = spawnDepthValue.newHighValue(); if (!spawnDepthValue.isRelative()) spawnDepthDiff -= spawnDepth; }
@Override public void activateParticles (int startIndex, int count) { float start, diff; for (int i = startIndex * strengthChannel.strideSize, c = i + count * strengthChannel.strideSize; i < c; i += strengthChannel.strideSize) { start = strengthValue.newLowValue(); diff = strengthValue.newHighValue(); if (!strengthValue.isRelative()) diff -= start; strengthChannel.data[i + ParticleChannels.VelocityStrengthStartOffset] = start; strengthChannel.data[i + ParticleChannels.VelocityStrengthDiffOffset] = diff; } }
@Override public void activateParticles (int startIndex, int count) { float start, diff; for (int i = startIndex * strengthChannel.strideSize, c = i + count * strengthChannel.strideSize; i < c; i += strengthChannel.strideSize) { start = strengthValue.newLowValue(); diff = strengthValue.newHighValue(); if (!strengthValue.isRelative()) diff -= start; strengthChannel.data[i + ParticleChannels.VelocityStrengthStartOffset] = start; strengthChannel.data[i + ParticleChannels.VelocityStrengthDiffOffset] = diff; } }
@Override public void start () { spawnWidth = spawnWidthValue.newLowValue(); spawnWidthDiff = spawnWidthValue.newHighValue(); if (!spawnWidthValue.isRelative()) spawnWidthDiff -= spawnWidth; spawnHeight = spawnHeightValue.newLowValue(); spawnHeightDiff = spawnHeightValue.newHighValue(); if (!spawnHeightValue.isRelative()) spawnHeightDiff -= spawnHeight; spawnDepth = spawnDepthValue.newLowValue(); spawnDepthDiff = spawnDepthValue.newHighValue(); if (!spawnDepthValue.isRelative()) spawnDepthDiff -= spawnDepth; }
@Override public void start () { delay = delayValue.active ? delayValue.newLowValue() : 0; delayTimer = 0; durationTimer = 0f; duration = durationValue.newLowValue(); percent = durationTimer / (float)duration; emission = (int)emissionValue.newLowValue(); emissionDiff = (int)emissionValue.newHighValue(); if (!emissionValue.isRelative()) emissionDiff -= emission; life = (int)lifeValue.newLowValue(); lifeDiff = (int)lifeValue.newHighValue(); if (!lifeValue.isRelative()) lifeDiff -= life; lifeOffset = lifeOffsetValue.active ? (int)lifeOffsetValue.newLowValue() : 0; lifeOffsetDiff = (int)lifeOffsetValue.newHighValue(); if (!lifeOffsetValue.isRelative()) lifeOffsetDiff -= lifeOffset; }
@Override public void activateParticles (int startIndex, int count) { super.activateParticles(startIndex, count); float start, diff; for (int i = startIndex * angularChannel.strideSize, c = i + count * angularChannel.strideSize; i < c; i += angularChannel.strideSize) { // Theta start = thetaValue.newLowValue(); diff = thetaValue.newHighValue(); if (!thetaValue.isRelative()) diff -= start; angularChannel.data[i + ParticleChannels.VelocityThetaStartOffset] = start; angularChannel.data[i + ParticleChannels.VelocityThetaDiffOffset] = diff; // Phi start = phiValue.newLowValue(); diff = phiValue.newHighValue(); if (!phiValue.isRelative()) diff -= start; angularChannel.data[i + ParticleChannels.VelocityPhiStartOffset] = start; angularChannel.data[i + ParticleChannels.VelocityPhiDiffOffset] = diff; } }
@Override public void activateParticles (int startIndex, int count) { super.activateParticles(startIndex, count); float start, diff; for (int i = startIndex * angularChannel.strideSize, c = i + count * angularChannel.strideSize; i < c; i += angularChannel.strideSize) { // Theta start = thetaValue.newLowValue(); diff = thetaValue.newHighValue(); if (!thetaValue.isRelative()) diff -= start; angularChannel.data[i + ParticleChannels.VelocityThetaStartOffset] = start; angularChannel.data[i + ParticleChannels.VelocityThetaDiffOffset] = diff; // Phi start = phiValue.newLowValue(); diff = phiValue.newHighValue(); if (!phiValue.isRelative()) diff -= start; angularChannel.data[i + ParticleChannels.VelocityPhiStartOffset] = start; angularChannel.data[i + ParticleChannels.VelocityPhiDiffOffset] = diff; } }
@Override public void start () { delay = delayValue.active ? delayValue.newLowValue() : 0; delayTimer = 0; durationTimer = 0f; duration = durationValue.newLowValue(); percent = durationTimer / (float)duration; emission = (int)emissionValue.newLowValue(); emissionDiff = (int)emissionValue.newHighValue(); if (!emissionValue.isRelative()) emissionDiff -= emission; life = (int)lifeValue.newLowValue(); lifeDiff = (int)lifeValue.newHighValue(); if (!lifeValue.isRelative()) lifeDiff -= life; lifeOffset = lifeOffsetValue.active ? (int)lifeOffsetValue.newLowValue() : 0; lifeOffsetDiff = (int)lifeOffsetValue.newHighValue(); if (!lifeOffsetValue.isRelative()) lifeOffsetDiff -= lifeOffset; }
@Override public void activateParticles (int startIndex, int count) { if (value.isRelative()) { for (int i = startIndex * valueChannel.strideSize, a = startIndex * interpolationChannel.strideSize, c = i + count * valueChannel.strideSize; i < c; i += valueChannel.strideSize, a += interpolationChannel.strideSize) { float start = value.newLowValue() * controller.scale.x; float diff = value.newHighValue() * controller.scale.x; interpolationChannel.data[a + ParticleChannels.InterpolationStartOffset] = start; interpolationChannel.data[a + ParticleChannels.InterpolationDiffOffset] = diff; valueChannel.data[i] = start + diff * value.getScale(0); } } else { for (int i = startIndex * valueChannel.strideSize, a = startIndex * interpolationChannel.strideSize, c = i + count * valueChannel.strideSize; i < c; i += valueChannel.strideSize, a += interpolationChannel.strideSize) { float start = value.newLowValue() * controller.scale.x; float diff = value.newHighValue() * controller.scale.x - start; interpolationChannel.data[a + ParticleChannels.InterpolationStartOffset] = start; interpolationChannel.data[a + ParticleChannels.InterpolationDiffOffset] = diff; valueChannel.data[i] = start + diff * value.getScale(0); } } }
@Override public void activateParticles (int startIndex, int count) { if (!value.isRelative()) { for (int i = startIndex * valueChannel.strideSize, a = startIndex * interpolationChannel.strideSize, c = i + count * valueChannel.strideSize; i < c; i += valueChannel.strideSize, a += interpolationChannel.strideSize) { float start = value.newLowValue(); float diff = value.newHighValue() - start; interpolationChannel.data[a + ParticleChannels.InterpolationStartOffset] = start; interpolationChannel.data[a + ParticleChannels.InterpolationDiffOffset] = diff; valueChannel.data[i] = start + diff * value.getScale(0); } } else { for (int i = startIndex * valueChannel.strideSize, a = startIndex * interpolationChannel.strideSize, c = i + count * valueChannel.strideSize; i < c; i += valueChannel.strideSize, a += interpolationChannel.strideSize) { float start = value.newLowValue(); float diff = value.newHighValue(); interpolationChannel.data[a + ParticleChannels.InterpolationStartOffset] = start; interpolationChannel.data[a + ParticleChannels.InterpolationDiffOffset] = diff; valueChannel.data[i] = start + diff * value.getScale(0); } } }
@Override public void activateParticles (int startIndex, int count) { if (!value.isRelative()) { for (int i = startIndex * valueChannel.strideSize, a = startIndex * interpolationChannel.strideSize, c = i + count * valueChannel.strideSize; i < c; i += valueChannel.strideSize, a += interpolationChannel.strideSize) { float start = value.newLowValue(); float diff = value.newHighValue() - start; interpolationChannel.data[a + ParticleChannels.InterpolationStartOffset] = start; interpolationChannel.data[a + ParticleChannels.InterpolationDiffOffset] = diff; valueChannel.data[i] = start + diff * value.getScale(0); } } else { for (int i = startIndex * valueChannel.strideSize, a = startIndex * interpolationChannel.strideSize, c = i + count * valueChannel.strideSize; i < c; i += valueChannel.strideSize, a += interpolationChannel.strideSize) { float start = value.newLowValue(); float diff = value.newHighValue(); interpolationChannel.data[a + ParticleChannels.InterpolationStartOffset] = start; interpolationChannel.data[a + ParticleChannels.InterpolationDiffOffset] = diff; valueChannel.data[i] = start + diff * value.getScale(0); } } }
@Override public void activateParticles (int startIndex, int count) { if (value.isRelative()) { for (int i = startIndex * valueChannel.strideSize, a = startIndex * interpolationChannel.strideSize, c = i + count * valueChannel.strideSize; i < c; i += valueChannel.strideSize, a += interpolationChannel.strideSize) { float start = value.newLowValue() * controller.scale.x; float diff = value.newHighValue() * controller.scale.x; interpolationChannel.data[a + ParticleChannels.InterpolationStartOffset] = start; interpolationChannel.data[a + ParticleChannels.InterpolationDiffOffset] = diff; valueChannel.data[i] = start + diff * value.getScale(0); } } else { for (int i = startIndex * valueChannel.strideSize, a = startIndex * interpolationChannel.strideSize, c = i + count * valueChannel.strideSize; i < c; i += valueChannel.strideSize, a += interpolationChannel.strideSize) { float start = value.newLowValue() * controller.scale.x; float diff = value.newHighValue() * controller.scale.x - start; interpolationChannel.data[a + ParticleChannels.InterpolationStartOffset] = start; interpolationChannel.data[a + ParticleChannels.InterpolationDiffOffset] = diff; valueChannel.data[i] = start + diff * value.getScale(0); } } }
@Override public void setValue(ScaledNumericValue value){ super.setValue(value); if(this.value == null)return; setValue(lowMinSlider, this.value.getLowMin()); setValue(lowMaxSlider, this.value.getLowMax()); setValue(highMinSlider, this.value.getHighMin()); setValue(highMaxSlider, this.value.getHighMax()); chart.setValues(this.value.getTimeline(), this.value.getScaling()); setValue(relativeCheckBox, this.value.isRelative()); if ( (this.value.getLowMin() == this.value.getLowMax() && lowMaxSlider.isVisible()) || (this.value.getLowMin() != this.value.getLowMax() && !lowMaxSlider.isVisible()) ) { lowRangeButton.doClick(0); } if ( ((this.value.getHighMin() == this.value.getHighMax()) && highMaxSlider.isVisible()) || ((this.value.getHighMin() != this.value.getHighMax()) && !highMaxSlider.isVisible()) ) highRangeButton.doClick(0); }
@Override public void setValue(ScaledNumericValue value){ super.setValue(value); if(this.value == null)return; setValue(lowMinSlider, this.value.getLowMin()); setValue(lowMaxSlider, this.value.getLowMax()); setValue(highMinSlider, this.value.getHighMin()); setValue(highMaxSlider, this.value.getHighMax()); chart.setValues(this.value.getTimeline(), this.value.getScaling()); setValue(relativeCheckBox, this.value.isRelative()); if ( (this.value.getLowMin() == this.value.getLowMax() && lowMaxSlider.isVisible()) || (this.value.getLowMin() != this.value.getLowMax() && !lowMaxSlider.isVisible()) ) { lowRangeButton.doClick(0); } if ( ((this.value.getHighMin() == this.value.getHighMax()) && highMaxSlider.isVisible()) || ((this.value.getHighMin() != this.value.getHighMax()) && !highMaxSlider.isVisible()) ) highRangeButton.doClick(0); }
@Override public void activateParticles (int startIndex, int count) { float start, diff; for (int i = startIndex * strengthChannel.strideSize, c = i + count * strengthChannel.strideSize; i < c; i += strengthChannel.strideSize) { start = strengthValue.newLowValue(); diff = strengthValue.newHighValue(); if (!strengthValue.isRelative()) diff -= start; strengthChannel.data[i + ParticleChannels.VelocityStrengthStartOffset] = start; strengthChannel.data[i + ParticleChannels.VelocityStrengthDiffOffset] = diff; } }
@Override public void start () { spawnWidth = spawnWidthValue.newLowValue(); spawnWidthDiff = spawnWidthValue.newHighValue(); if (!spawnWidthValue.isRelative()) spawnWidthDiff -= spawnWidth; spawnHeight = spawnHeightValue.newLowValue(); spawnHeightDiff = spawnHeightValue.newHighValue(); if (!spawnHeightValue.isRelative()) spawnHeightDiff -= spawnHeight; spawnDepth = spawnDepthValue.newLowValue(); spawnDepthDiff = spawnDepthValue.newHighValue(); if (!spawnDepthValue.isRelative()) spawnDepthDiff -= spawnDepth; }
@Override public void start () { delay = delayValue.active ? delayValue.newLowValue() : 0; delayTimer = 0; durationTimer = 0f; duration = durationValue.newLowValue(); percent = durationTimer / (float)duration; emission = (int)emissionValue.newLowValue(); emissionDiff = (int)emissionValue.newHighValue(); if (!emissionValue.isRelative()) emissionDiff -= emission; life = (int)lifeValue.newLowValue(); lifeDiff = (int)lifeValue.newHighValue(); if (!lifeValue.isRelative()) lifeDiff -= life; lifeOffset = lifeOffsetValue.active ? (int)lifeOffsetValue.newLowValue() : 0; lifeOffsetDiff = (int)lifeOffsetValue.newHighValue(); if (!lifeOffsetValue.isRelative()) lifeOffsetDiff -= lifeOffset; }
@Override public void activateParticles (int startIndex, int count) { super.activateParticles(startIndex, count); float start, diff; for (int i = startIndex * angularChannel.strideSize, c = i + count * angularChannel.strideSize; i < c; i += angularChannel.strideSize) { // Theta start = thetaValue.newLowValue(); diff = thetaValue.newHighValue(); if (!thetaValue.isRelative()) diff -= start; angularChannel.data[i + ParticleChannels.VelocityThetaStartOffset] = start; angularChannel.data[i + ParticleChannels.VelocityThetaDiffOffset] = diff; // Phi start = phiValue.newLowValue(); diff = phiValue.newHighValue(); if (!phiValue.isRelative()) diff -= start; angularChannel.data[i + ParticleChannels.VelocityPhiStartOffset] = start; angularChannel.data[i + ParticleChannels.VelocityPhiDiffOffset] = diff; } }
@Override public void activateParticles (int startIndex, int count) { if (value.isRelative()) { for (int i = startIndex * valueChannel.strideSize, a = startIndex * interpolationChannel.strideSize, c = i + count * valueChannel.strideSize; i < c; i += valueChannel.strideSize, a += interpolationChannel.strideSize) { float start = value.newLowValue() * controller.scale.x; float diff = value.newHighValue() * controller.scale.x; interpolationChannel.data[a + ParticleChannels.InterpolationStartOffset] = start; interpolationChannel.data[a + ParticleChannels.InterpolationDiffOffset] = diff; valueChannel.data[i] = start + diff * value.getScale(0); } } else { for (int i = startIndex * valueChannel.strideSize, a = startIndex * interpolationChannel.strideSize, c = i + count * valueChannel.strideSize; i < c; i += valueChannel.strideSize, a += interpolationChannel.strideSize) { float start = value.newLowValue() * controller.scale.x; float diff = value.newHighValue() * controller.scale.x - start; interpolationChannel.data[a + ParticleChannels.InterpolationStartOffset] = start; interpolationChannel.data[a + ParticleChannels.InterpolationDiffOffset] = diff; valueChannel.data[i] = start + diff * value.getScale(0); } } }
@Override public void setValue(ScaledNumericValue value){ super.setValue(value); if(this.value == null)return; setValue(lowMinSlider, this.value.getLowMin()); setValue(lowMaxSlider, this.value.getLowMax()); setValue(highMinSlider, this.value.getHighMin()); setValue(highMaxSlider, this.value.getHighMax()); chart.setValues(this.value.getTimeline(), this.value.getScaling()); setValue(relativeCheckBox, this.value.isRelative()); if ( (this.value.getLowMin() == this.value.getLowMax() && lowMaxSlider.isVisible()) || (this.value.getLowMin() != this.value.getLowMax() && !lowMaxSlider.isVisible()) ) { lowRangeButton.doClick(0); } if ( ((this.value.getHighMin() == this.value.getHighMax()) && highMaxSlider.isVisible()) || ((this.value.getHighMin() != this.value.getHighMax()) && !highMaxSlider.isVisible()) ) highRangeButton.doClick(0); }