UNPKG

@belvo-finance/belvo-vue-components

Version:

## Project setup ``` npm install ```

81 lines (73 loc) 2.62 kB
var expressionHelpers = (function(){ function searchExpressions(elem,data,prop){ if(data.x){ prop.k = true; prop.x = true; prop.initiateExpression = ExpressionManager.initiateExpression; prop.effectsSequence.push(prop.initiateExpression(elem,data,prop).bind(prop)); } } function getValueAtTime(frameNum) { frameNum *= this.elem.globalData.frameRate; frameNum -= this.offsetTime; if(frameNum !== this._cachingAtTime.lastFrame) { this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0; this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime); this._cachingAtTime.lastFrame = frameNum; } return this._cachingAtTime.value; } function getSpeedAtTime(frameNum) { var delta = -0.01; var v1 = this.getValueAtTime(frameNum); var v2 = this.getValueAtTime(frameNum + delta); var speed = 0; if(v1.length){ var i; for(i=0;i<v1.length;i+=1){ speed += Math.pow(v2[i] - v1[i], 2); } speed = Math.sqrt(speed) * 100; } else { speed = 0; } return speed; } function getVelocityAtTime(frameNum) { if(this.vel !== undefined){ return this.vel; } var delta = -0.001; //frameNum += this.elem.data.st; var v1 = this.getValueAtTime(frameNum); var v2 = this.getValueAtTime(frameNum + delta); var velocity; if(v1.length){ velocity = createTypedArray('float32', v1.length); var i; for(i=0;i<v1.length;i+=1){ //removing frameRate //if needed, don't add it here //velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta); velocity[i] = (v2[i] - v1[i])/delta; } } else { velocity = (v2 - v1)/delta; } return velocity; } function getStaticValueAtTime() { return this.pv; } function setGroupProperty(propertyGroup){ this.propertyGroup = propertyGroup; } return { searchExpressions: searchExpressions, getSpeedAtTime: getSpeedAtTime, getVelocityAtTime: getVelocityAtTime, getValueAtTime: getValueAtTime, getStaticValueAtTime: getStaticValueAtTime, setGroupProperty: setGroupProperty, } }());