UNPKG

@babylonjs/viewer

Version:

The Babylon Viewer aims to simplify a specific but common Babylon.js use case: loading, viewing, and interacting with a 3D model.

3 lines (2 loc) 1.64 kB
import{bF as t,u as i}from"./index-OM-TXt9s.esm.min.js";import{F as s}from"./KHR_interactivity-BMn2G2LI.esm.min.js";import{d as e,p as n,R as o}from"./declarationMapper-sl3auZpG.esm.min.js";import"./objectModelMapping-DA3c5cv8.esm.min.js";import"./spotLight.pure-guqQj5Iw.esm.min.js";class r extends t{easeInCore(t){return function(t,i,s,e,n){if(t<=0)return 0;if(t>=1)return 1;const o=1-3*e+3*i,r=3*e-6*i,a=3*i;let u=0,c=1,h=t;for(let i=0;i<8;i++){const i=h*h,s=o*(i*h)+r*i+a*h-t;if(Math.abs(s)<1e-7)break;s>0?c=h:u=h;const e=3*o*i+2*r*h+a,n=Math.abs(e)>1e-7?h-s/e:NaN;h=Number.isFinite(n)&&n>u&&n<c?n:.5*(u+c)}return(1-3*n+3*s)*h*h*h+(3*n-6*s)*h*h+3*s*h}(t,this.x1,this.y1,this.x2,this.y2)}}class a extends s{constructor(t){super(t),this.config=t,this._easingFunctions={},this.mode=this.registerDataInput("mode",e,0),this.controlPoint1=this.registerDataInput("controlPoint1",n),this.controlPoint2=this.registerDataInput("controlPoint2",n),this.easingFunction=this.registerDataOutput("easingFunction",o)}_updateOutputs(t){const i=this.mode.getValue(t),s=this.controlPoint1.getValue(t),e=this.controlPoint2.getValue(t);if(void 0===i)return;const n=`${i}-${s.x}-${s.y}-${e.x}-${e.y}`;if(!this._easingFunctions[n]){const t=new r(s.x,s.y,e.x,e.y);t.setEasingMode(i),this._easingFunctions[n]=t}this.easingFunction.setValue(this._easingFunctions[n],t)}getClassName(){return"FlowGraphBezierCurveEasing"}}let u=!1;function c(){u||(u=!0,i("FlowGraphBezierCurveEasing",a))}c();export{a as FlowGraphBezierCurveEasingBlock,c as RegisterFlowGraphBezierCurveEasingBlock}; //# sourceMappingURL=flowGraphBezierCurveEasingBlock-Ca4OvWNG.esm.min.js.map