Custom Gis Application with Arcgis Javascript API with modern layouting
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

6 lines
1.2 KiB

// All material copyright Esri, All Rights Reserved, unless otherwise specified.
// See https://js.arcgis.com/4.30/esri/copyright.txt for details.
//>>built
define(["exports","../../core/mathUtils","./FilteredFiniteDifference","./Momentum"],function(d,f,e,g){class h{constructor(a=2.5,b=.01,c=.95,k=12){this._minimumInitialVelocity=a;this._stopVelocity=b;this._friction=c;this._maxVelocity=k;this.enabled=!0;this.value=new e.FilteredFiniteDifference(.8);this.time=new e.FilteredFiniteDifference(.3)}add(a,b){if(this.enabled&&null!=b){if(this.time.hasLastValue()){if(.01>this.time.computeDelta(b))return;if(this.value.hasFilteredDelta()){const c=this.value.computeDelta(a);
0>this.value.filteredDelta*c&&this.value.reset()}}this.time.update(b);this.value.update(a)}}reset(){this.value.reset();this.time.reset()}evaluateMomentum(){if(!this.enabled||!this.value.hasFilteredDelta()||!this.time.hasFilteredDelta())return null;let a=this.value.filteredDelta/this.time.filteredDelta;a=f.clamp(a,-this._maxVelocity,this._maxVelocity);return Math.abs(a)<this._minimumInitialVelocity?null:this.createMomentum(a,this._stopVelocity,this._friction)}createMomentum(a,b,c){return new g.Momentum(a,
b,c)}}d.MomentumEstimator=h;Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})});