@intelligentgraphics/3d.ig.gfx.standard 1.9.2 → 1.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  /*
2
- * Version: 1.9.2.100
3
- * Commit: 7940c47
4
- * Date: 2023-09-11T08:22:43.980Z
2
+ * Version: 1.9.3.100
3
+ * Commit: 22d5fbf
4
+ * Date: 2024-01-02T09:16:51.125Z
5
5
  *
6
6
  * @preserve
7
7
  */
@@ -194,7 +194,7 @@ declare module IGX.Std {
194
194
  *
195
195
  * Version 1.4 (1.4.0.100)
196
196
  *
197
- * Copyright (C) 2013 - 2023 intelligentgraphics AG. All Rights Reserved.
197
+ * Copyright (C) 2013 - 2024 intelligentgraphics AG. All Rights Reserved.
198
198
  */
199
199
  declare module IGX.Std {
200
200
  /**
@@ -1,8 +1,8 @@
1
1
  /*
2
- * Version: 1.9.2.100
3
- * Commit: 7940c47
4
- * Date: 2023-09-11T08:22:43.980Z
2
+ * Version: 1.9.3.100
3
+ * Commit: 22d5fbf
4
+ * Date: 2024-01-02T09:16:51.125Z
5
5
  *
6
6
  * @preserve
7
7
  */
8
- var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(t){for(var e,i=1,a=arguments.length;i<a;i++)for(var o in e=arguments[i])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},__assign.apply(this,arguments)},__spreadArray=this&&this.__spreadArray||function(t,e,i){if(i||2===arguments.length)for(var a,o=0,n=e.length;o<n;o++)!a&&o in e||(a||(a=Array.prototype.slice.call(e,0,o)),a[o]=e[o]);return t.concat(a||Array.prototype.slice.call(e))},__extends=this&&this.__extends||function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};return function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function a(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(a.prototype=i.prototype,new a)}}(),IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX;if(function(IGX){var Std;(function(Std){Std.Minimum="Minimum",Std.Maximum="Maximum",Std.Snap="Snap",Std.Raster="Raster",Std.Values="Values",Std.StartValue="StartValue",Std.EndValue="EndValue",Std.StartTime="StartTime",Std.EndTime="EndTime",Std.Steps="Steps",Std.Mode="Mode",Std.XPosition="XPosition",Std.YPosition="YPosition",Std.ZPosition="ZPosition",Std.XRotation="XRotation",Std.YRotation="YRotation",Std.ZRotation="ZRotation",Std.Start="Start",Std.End="End",Std.Stage="Stage",Std.Period="Period",Std.BackwardPeriod="BackwardPeriod",Std.StageStart="StageStart",Std.StageEnd="StageEnd",Std.Manual="Manual",Std.cString="string",Std.cNumber="number";var commaRegex=/,/g;function SetupValue(parameters,key,fallbackValue){void 0===parameters[key]?parameters[key]=fallbackValue:typeof parameters[key]===Std.cNumber||(typeof parameters[key]===Std.cString?(parameters[key]=eval(parameters[key].replace(commaRegex,".")),typeof parameters[key]!==Std.cNumber&&(parameters[key]=fallbackValue)):parameters[key]=fallbackValue)}function GetValue(t,e){return t[e]}function getAbsPath(t,e){var i=t.slice(0);if("."!==e)if(0===e.indexOf("..")){var a=t.lastIndexOf(".");i=(-1===a?t.substring(0,t.lastIndexOf("o")):t.substring(0,a+1))+e.substr(2)}else"."===t[t.length-1]?i+=e:i+="."+e;return i}Std.SetupValue=SetupValue,Std.SetupValues=function(parameters,fallbackValues){void 0===parameters.Values?parameters.Values=fallbackValues:"string"==typeof parameters.Values&&(parameters.Values=eval(parameters.Values)),parameters.Values.sort((function(t,e){return t-e}))},Std.GetValue=GetValue,Std.SetupAnimation=function(parameters){"string"==typeof parameters.Start&&(parameters.Start=eval(parameters.Start)),"string"==typeof parameters.End&&(parameters.End=eval(parameters.End)),"string"==typeof parameters.StageStart&&(parameters.StageStart=eval(parameters.StageStart)),"string"==typeof parameters.StageEnd&&(parameters.StageEnd=eval(parameters.StageEnd)),void 0===parameters.Stage?parameters.Stage=1:"string"==typeof parameters.Stage&&(parameters.Stage=eval(parameters.Stage)),void 0===parameters.Period?parameters.Period=1:"string"==typeof parameters.Period&&(parameters.Period=eval(parameters.Period)),void 0===parameters.BackwardPeriod?parameters.BackwardPeriod=parameters.Period:"string"==typeof parameters.BackwardPeriod&&(parameters.BackwardPeriod=eval(parameters.BackwardPeriod)),"string"==typeof parameters.IntermediateCalculation&&(parameters.IntermediateCalculation=eval(parameters.IntermediateCalculation)),void 0===parameters.Record?parameters.Record=!1:"string"==typeof parameters.Record&&(parameters.Record="true"===parameters.Record.toLowerCase()),void 0===parameters.DebugLevel?parameters.DebugLevel=0:"string"==typeof parameters.DebugLevel&&(parameters.DebugLevel=eval(parameters.DebugLevel))},Std.getAbsPath=getAbsPath})(Std=IGX.Std||(IGX.Std={}))}(IGX||(IGX={})),function(t){!function(t){var e=function(){};t.KinematicChain=e}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(t){var e=function(){};t.AnimationState=e;var i=function(){};t.Animation=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(){function i(t){void 0===t&&(t=!1),this.useShadowApi=!1,this.callLog=[],this.printCallAsError=!1,this.debug=t,this.debug&&console.log("new ApiConnection()")}return i.prototype.getNodeInfo=function(e){return{position:t.API.GetPosition(e),rotation:[t.API.GetXRotation(e),t.API.GetYRotation(e),t.API.GetZRotation(e)],scaling:t.API.GetScaling(e),visibility:t.API.GetVisibility(e),deformation:t.API.GetDeformation?t.API.GetDeformation(e):0,activedeformation:!1}},i.prototype.makeShadow=function(t,e){var i={};if(i[t]=__assign({},this.getNodeInfo(t)),e)for(var a=t+".",o=0,n=e;o<n.length;o++){var r=n[o];i[a+r]=__assign({},this.getNodeInfo(a+r))}return i},i.prototype.setShadowWithParameters=function(t,e,i,a,o,n){var r={},s=[t];e.forEach((function(t){return s=__spreadArray(__spreadArray([],s,!0),[t],!1)}));var h=t;h=h.slice(0,h.lastIndexOf("_")+1);for(var p=0,d=s;p<d.length;p++){for(var m=d[p],u=void 0,l=0;l<a._loops.length;l++)if(m===a._loops[l].path){u=l;break}if(u){var c=t+"."+m;"."===m&&(c=t);var S=a._loops[u];r[c]=__assign({},this.getNodeInfo(c)),void 0!==S.states[0].state1.Deformation&&(r[c].deformation=Number(S.states[0].state1.Deformation)),isNaN(r[c].deformation)&&(r[c].deformation=Number(o[r[c].deformation]))}else{var I="."===m?t:m===t?m:t+"."+m;r[I]=__assign({},this.getNodeInfo(I))}}for(var f=0,v=i;f<v.length;f++){var g=v[f];r[h+g]=__assign({},this.getNodeInfo(h+g))}return this.shadow=this.cloneShadow(r),r},i.prototype.cloneShadow=function(t){var e=null!=t?t:this.shadow;return JSON.parse(JSON.stringify(e))},i.prototype.setShadow=function(t,e){return this.shadow=this.makeShadow(t,e),this.cloneShadow()},i.prototype.getShadow=function(){if(this.shadow)return this.cloneShadow()},i.prototype.setUseShadow=function(t){this.useShadowApi=t},i.prototype.getUseShadow=function(){return this.useShadowApi},i.prototype.setOriginalSceneFromShadow=function(i,a,o){if(this.shadow||i){var n=null!=i?i:this.shadow,r={};for(var s in o&&a&&Object.keys(o).forEach((function(i){(o[i]||[]).forEach((function(o){var n=a,s=n.split("_")[0]+"__",h=e.Util.GetLocalTransform(s+".",n+"."+i,t.API),p=t.API.GetVisibility(n+"."+i);r[o]={ppath:i,tf:h,oldvisibility:p}}))})),n){var h=n[s];t.API.SetPosition(s,h.position),t.API.SetVisibility(s,h.visibility),t.API.SetScaling(s,h.scaling),t.API.SetXRotation(s,h.rotation[0]),t.API.SetYRotation(s,h.rotation[1]),t.API.SetZRotation(s,h.rotation[2]),h.activedeformation&&t.API.SetDeformation(s,h.deformation)}r&&a&&Object.keys(r).forEach((function(i){var o=r[i].ppath,n=r[i].oldvisibility,s=a,h=s.split("_")[0]+"__",p=e.Util.GetLocalTransform(h+".",s+"."+o,t.API),d=t.API.GetVisibility(s+"."+o);t.API.SetPoint(h+".",i,p[0],p[1],d!=n?d:null)}))}},i.prototype.appendNode=function(e){return console.warn("WTF appendNode() onDemand",e),!!t.API.IsValid(e)&&(this.shadow[e]=__assign({},this.getNodeInfo(e)),!0)},i.prototype.SetPoint=function(e,i,a,o,n){this.useShadowApi?console.warn("SetPoint not implemented !!!"):t.API.SetPoint(e,i,a,o,n)},i.prototype.GetParent=function(e){var i=t.API.GetParent;return this.printCallAsError&&console.error("disabled GetParent() [id] called !!!"),this.useShadowApi?this.useShadowApi?i(e):void 0:i(e)},i.prototype.IsValid=function(e){var i=t.API.IsValid;return this.printCallAsError&&console.error("disabled IsValid() called !!!"),this.useShadowApi?this.useShadowApi?i(e):void 0:i(e)},i.prototype.GetPosition=function(e){var i,a=t.API.GetPosition;if(this.printCallAsError&&console.error("disabled GetPosition() called !!!"),!this.useShadowApi){var o=a(e);return this.callLog.push("GetPosition native "+e+" "+JSON.stringify(o)),o}var n=null===(i=this.shadow)||void 0===i?void 0:i[e];if(n){o=n.position;return this.callLog.push("GetPosition ovrw "+e+" "+JSON.stringify(o)),o}return this.appendNode(e)?(n=this.shadow[e]).position:(console.warn("nothing found for "+e),a(e))},i.prototype.GetVisibility=function(e){var i,a=t.API.GetVisibility;if(this.printCallAsError&&console.error("disabled GetVisibility() called !!!"),!this.useShadowApi)return a(e);var o=null===(i=this.shadow)||void 0===i?void 0:i[e];return o?o.visibility:this.appendNode(e)?(o=this.shadow[e]).visibility:(console.warn("nothing found for "+e),a(e))},i.prototype.GetScaling=function(e){var i,a=t.API.GetScaling;if(this.printCallAsError&&console.error("disabled GetScaling() called !!!"),!this.useShadowApi)return a(e);var o=null===(i=this.shadow)||void 0===i?void 0:i[e];return o?o.scaling:this.appendNode(e)?(o=this.shadow[e]).scaling:(console.warn("nothing found for "+e),a(e))},i.prototype.GetXRotation=function(e){var i,a=t.API.GetXRotation;if(this.printCallAsError&&console.error("disabled GetXRotation() called !!!"),!this.useShadowApi)return a(e);var o=null===(i=this.shadow)||void 0===i?void 0:i[e];return o?o.rotation[0]:this.appendNode(e)?(o=this.shadow[e]).rotation[0]:(console.warn("nothing found for "+e),a(e))},i.prototype.GetYRotation=function(e){var i,a=t.API.GetYRotation;if(this.printCallAsError&&console.error("disabled GetYRotation() called !!!"),!this.useShadowApi)return a(e);var o=null===(i=this.shadow)||void 0===i?void 0:i[e];return o?o.rotation[1]:this.appendNode(e)?(o=this.shadow[e]).rotation[1]:(console.warn("nothing found for "+e),a(e))},i.prototype.GetZRotation=function(e){var i,a=t.API.GetZRotation;if(this.printCallAsError&&console.error("disabled GetZRotation() called !!!"),!this.useShadowApi)return a(e);var o=null===(i=this.shadow)||void 0===i?void 0:i[e];return o?o.rotation[2]:this.appendNode(e)?(o=this.shadow[e]).rotation[2]:(console.warn("nothing found for "+e),a(e))},i.prototype.GetDeformation=function(e){var i;if(this.useShadowApi){var a=null===(i=this.shadow)||void 0===i?void 0:i[e];return a&&null!==a.deformation&&void 0!==a.deformation?a.deformation:0}return t.API.GetDeformation?t.API.GetDeformation(e):0},i.prototype.SetDeformation=function(e,i){var a,o=t.API.SetDeformation;if(this.printCallAsError&&console.error("disabled SetDeformation() called !!!"),this.useShadowApi){var n=null===(a=this.shadow)||void 0===a?void 0:a[e];if(n)return n.deformation=i,void(n.activedeformation=!0);if(!this.appendNode(e))return console.warn("nothing found for "+e),o(e,i);n.deformation=i}else o(e,i)},i.prototype.SetPosition=function(e,i){var a;if(this.printCallAsError&&console.error("disabled SetPosition() called !!!"),this.useShadowApi){var o=null===(a=this.shadow)||void 0===a?void 0:a[e];return o?void(o.position=i):void console.warn("set: nothing found for "+e)}t.API.SetPosition(e,i)},i.prototype.SetXRotation=function(e,i){var a;if(this.printCallAsError&&console.error("disabled SetXRotation() called !!!"),this.useShadowApi){var o=null===(a=this.shadow)||void 0===a?void 0:a[e];return o?void(o.rotation[0]=i):void console.warn("set: nothing found for "+e)}t.API.SetXRotation(e,i)},i.prototype.SetYRotation=function(e,i){var a;if(this.printCallAsError&&console.error("disabled SetYRotation() called !!!"),this.useShadowApi){var o=null===(a=this.shadow)||void 0===a?void 0:a[e];return o?void(o.rotation[1]=i):void console.warn("set: nothing found for "+e)}t.API.SetYRotation(e,i)},i.prototype.SetZRotation=function(e,i){var a;if(this.printCallAsError&&console.error("disabled SetZRotation() called !!!"),this.useShadowApi){var o=null===(a=this.shadow)||void 0===a?void 0:a[e];return o?void(o.rotation[2]=i):void console.warn("set: nothing found for "+e)}t.API.SetZRotation(e,i)},i.prototype.SetVisibility=function(e,i){var a;if(this.printCallAsError&&console.error("disabled SetVisibility() called !!!"),this.useShadowApi){var o=null===(a=this.shadow)||void 0===a?void 0:a[e];return o?void(o.visibility=i):void console.warn("set: nothing found for "+e)}t.API.SetVisibility(e,i)},i.prototype.SetScaling=function(e,i){var a;if(this.printCallAsError&&console.error("disabled SetSCaling() called !!!"),this.useShadowApi){var o=null===(a=this.shadow)||void 0===a?void 0:a[e];return o?void(o.scaling=i):void console.warn("set: nothing found for "+e)}t.API.SetScaling(e,i)},i}();e.ApiConnection=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(){function e(){}return e.dlog=function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];e.debug&&console.log(t)},e.calculatePosition=function(i,o,n,r,s,h,p,d,m,u){var l,c=r,S=s,I=p,f=h;m=m?[S,f].concat(m):[S,f],e.dlog("internal top attached",m),l=null!=u?a.GetLocalPosition(u,i,t.API):t.API.GetWorldPosition(i),e.dlog("#--MatressInitialPosition",l);var v,g,P,A,G,y=o,M=n;e.dlog("minangleDeg",o),e.dlog("maxangleDeg",M),null!=u?(v=a.GetLocalPosition(u,c,t.API),g=a.GetLocalPosition(u,S,t.API),P=a.GetLocalPosition(u,I,t.API),A=a.GetLocalPosition(u,f,t.API),G=a.GetLocalPosition(u,i,t.API)):(v=t.API.GetWorldPosition(c),g=t.API.GetWorldPosition(S),P=t.API.GetWorldPosition(I),A=t.API.GetWorldPosition(f),G=t.API.GetWorldPosition(i));var C={};m.forEach((function(i){e.dlog("attach1",i),C[i]={originalpos:null!=u?a.GetLocalPosition(u,i,t.API):t.API.GetWorldPosition(i),newpos:null},e.dlog("attached")})),e.dlog("leftLowPosRaw",v),e.dlog("leftUpPosRaw",g),e.dlog("rightLowPosRaw",P),e.dlog("rightUpPosRaw",A),e.dlog("articleToBeMoved",G);var R=IG.Math.Vector3.sub(P,v);R.y=0,e.dlog("baseLineDir",R);var _=IG.Math.Vector3.sub(v,P),b=IG.Math.Vector3.sub(g,v);_.y=0;var w=IG.Math.Vector3.magnitude(_)*IG.Math.Vector3.magnitude(b),x=IG.Math.Vector3.innerProduct(_,b);e.dlog("mag",w,"dot",x);var V=IG.Math.MathS.acos(x/w);if(e.dlog("baseAngleRad",V,"baseAngleDeg",V*IG.Math.Rad2Deg),0===d){var T=IG.Math.Vector3.sub(A,P),X=IG.Math.Vector3.magnitude(_)*IG.Math.Vector3.magnitude(T),E=IG.Math.Vector3.innerProduct(_,T),D=IG.Math.MathS.acos(E/X);e.dlog("0: initial A angle ",V*IG.Math.Rad2Deg,"deg","initial B angle ",D*IG.Math.Rad2Deg,"deg")}var N=IG.Math.Vector3.normalize(IG.Math.Vector3.crossProduct(_,b));e.dlog("rotationnormal",N);var z=y*IG.Math.Deg2Rad,L=z+d*(M*IG.Math.Deg2Rad-z),k=L-V;e.dlog(d,"baseAngleRad:",V,"angwanted:",L,"ang difference:",k);var Y=IG.Math.Matrix3.makeRotationMatrixFromNormalVector(N,k);e.dlog("rotationsmatrix",Y);var Z=IG.Math.Vector3.add(v,IG.Math.Matrix3.multiplyWithVector3(IG.Math.Vector3.sub(g,v),Y));e.dlog("rotated",Z);var F=Z.x,O=Z.y,B=Z.z,J=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(g,A))*IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(g,A)),H=P.x,K=P.y,U=P.z,j=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(A,P))*IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(A,P));e.dlog(F,O,B,"---\x3e",H,K,U,"]");var Q=IG.Math.Vector3.sub(Z,P),W=new t.Float3(0,0,0);2*H-2*F!=0?W.x=(J-j-F*F+H*H-O*O+K*K-B*B+U*U)/(2*H-2*F):2*K-2*O!=0?W.y=(J-j-F*F+H*H-O*O+K*K-B*B+U*U)/(2*K-2*O):2*U-2*B!=0?W.z=(J-j-F*F+H*H-O*O+K*K-B*B+U*U)/(2*U-2*B):console.warn("plane normal is null vector ?!");var q={point:W,normal:IG.Math.Vector3.normalize({x:2*H-2*F,y:2*K-2*O,z:2*U-2*B})},$=a.intersectionPoint({origin:P,direction:Q},q);e.dlog("schnittkreiszentrum",$);var tt=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(g,A)),et=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub($,Z)),it=IG.Math.MathS.sqrt(tt*tt-et*et);isNaN(it)&&console.warn("physical breakdown @ ",L*IG.Math.Rad2Deg),e.dlog("schnittkreisradius",it);var at=IG.Math.Vector3.normalize(IG.Math.Vector3.crossProduct(q.normal,N));e.dlog(at);var ot=IG.Math.Vector3.add($,IG.Math.Vector3.scalarMultiply(it,at));e.dlog("tRotatedUpperRight",ot);var nt=R,rt=IG.Math.Vector3.sub(A,g),st=IG.Math.Vector3.magnitude(nt)*IG.Math.Vector3.magnitude(rt),ht=IG.Math.Vector3.innerProduct(nt,rt),pt=IG.Math.MathS.acos(ht/st);e.dlog("old baseAngle Deg ",pt*(180/Math.PI));var dt=R,mt=IG.Math.Vector3.sub(ot,Z),ut=IG.Math.Vector3.magnitude(dt)*IG.Math.Vector3.magnitude(mt),lt=IG.Math.Vector3.innerProduct(dt,mt),ct=IG.Math.MathS.acos(lt/ut),St=ct*IG.Math.Rad2Deg;e.dlog("new baseAngle Deg ",ct*IG.Math.Rad2Deg,"newbaseAngleRad:",ct);var It=a.rotatedVectorAaroundPointBbyNormalCangleRadR(g,l,N,-(ct-pt));e.dlog("detachedUpPosRaw calc",It);var ft=IG.Math.Vector3.sub(Z,It);return Object.keys(C).forEach((function(t){var e=C[t],i=a.rotatedVectorAaroundPointBbyNormalCangleRadR(e.originalpos,l,N,-(ct-pt));e.newpos=IG.Math.Vector3.add(i,ft)})),{rotation:St,positionDifference:ft,topAttached:C,baseLineDir:R}},e.calculateAngleAgainstBaseBack=function(e,i,o,n,r){var s;r||(r=t.API),s=null!=n?a.GetLocalPosition(n,i,r):t.API.GetWorldPosition(i);var h=IG.Math.Vector3.sub(s,e.topAttached[o].newpos),p=e.baseLineDir;return IG.Math.Vector3.angleBetween(h,p)*IG.Math.Rad2Deg},e.debug=!1,e}();e.FourBar=i;var a=function(){function e(){}return e.factorOfDirectionFromRayToPlane=function(t,e){var i=IG.Math.Vector3.innerProduct(e.normal,t.direction),a=-IG.Math.Vector3.innerProduct(e.point,e.normal);if(0===i)return 0===IG.Math.Vector3.innerProduct(e.normal,t.origin)+a?0:null;var o=-(IG.Math.Vector3.innerProduct(t.origin,e.normal)+a)/i;return o>=0?o:null},e.intersectionPoint=function(t,i){var a=e.factorOfDirectionFromRayToPlane(t,i);if(null===a)return null;var o=IG.Math.Vector3.scalarMultiply(a,t.direction);return IG.Math.Vector3.add(o,t.origin)},e.rotatedVectorAaroundPointBbyNormalCangleRadR=function(t,e,a,o){var n=a.x,r=a.y,s=a.z,h=Math.sin,p=Math.cos,d=1-p(o),m=h(o),u=p(o),l=[[n*n*d+u,n*r*d-s*m,n*s*d+r*m],[r*n*d+s*m,r*r*d+u,r*s*d-n*m],[s*n*d-r*m,s*r*d+n*m,s*s*d+u]],c=IG.Math.Vector3.add(e,IG.Math.Matrix3.multiplyWithVector3(IG.Math.Vector3.sub(t,e),IG.Math.Matrix3.create(l)));return i.dlog("RotateVectorAaroundPointBbyNormalCangleRadR",t,e,a,o,"--\x3e",c),c},e.GetLocalPosition=function(t,e,i){return this.GetLocalTransform(t,e,i)[0]},e.GetLocalRotation=function(t,e,i){var a=this.GetLocalTransform(t,e,i);return IG.Math.Euler.createFromQuaternion(a[1])},e.GetLocalTransform=function(e,i,a){var o=i;if(a||(a=t.API),a.IsValid(e)){if(a.IsValid(o)){if(null==a.GetParent(o))return console.warn("node has no parent!"),new Object[3]([new t.Float3,IG.Math.Quaternion.create(),new t.Float3(1,1,1)]);if(o===e)return console.warn("node is root!"),new Object[3]([new t.Float3,IG.Math.Quaternion.create(),new t.Float3(1,1,1)]);var n=new Array;for(n.push(o);o!==e;)o=a.GetParent(o),n.push(o);n.pop(),n.reverse();var r=IG.Math.Matrix4.create();n.forEach((function(t){var e,i,o=a.GetScaling(t),n={x:a.GetXRotation(t)*IG.Math.Deg2Rad,y:a.GetYRotation(t)*IG.Math.Deg2Rad,z:a.GetZRotation(t)*IG.Math.Deg2Rad};i=IG.Math.Quaternion.createFromEuler({x:n.x,y:n.y,z:n.z,order:"xyz"});var s=a.GetPosition(t);e=IG.Math.Matrix4.composeTRS(s,i,o),r=IG.Math.Matrix4.multiply(r,e)}));var s=IG.Math.Matrix4.decomposeTRS(r),h=new Array;return h.push(s.translate),h.push(s.rotation),h.push(s.scale),h}console.warn("node is not valid!",o)}else console.warn("node is not valid!",e)},e.GetRelativePosition=function(e,i,a,o){if(!o.IsValid(e)||!o.IsValid(i)||!o.IsValid(a))return console.warn("GetRelativePosition: Path not valid."),null;var n=t.Std.Util.GetLocalTransform(e,i,o),r=IG.Math.Matrix4.composeTRS(n[0],n[1],n[2]),s=IG.Math.Matrix4.getInverse(r),h=t.Std.Util.GetLocalTransform(e,a,o),p=IG.Math.Matrix4.composeTRS(h[0],h[1],h[2]),d=IG.Math.Matrix4.multiply(s,p);return IG.Math.Matrix4.decomposeTRS(d).translate},e.add=function(e,i){return new t.Float3(e.x+i.x,e.y+i.y,e.z+i.z)},e.sub=function(e,i){return new t.Float3(e.x-i.x,e.y-i.y,e.z-i.z)},e.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z},e.mag=function(t){return Math.sqrt(IG.Math.Vector3.innerProduct(t,t))},e.cross=function(e,i){return new t.Float3(e.y*i.z-e.z*i.y,e.z*i.x-e.x*i.z,e.x*i.y-e.y*i.x)},e.scale=function(e,i){return new t.Float3(e*i.x,e*i.y,e*i.z)},e.normalize=function(e){var i=IG.Math.Vector3.magnitude(e);return 0===i?null:new t.Float3(e.x/i,e.y/i,e.z/i)},e.multMat=function(e,i){return new t.Float3(e[0][0]*i.x+e[0][1]*i.y+e[0][2]*i.z,e[1][0]*i.x+e[1][1]*i.y+e[1][2]*i.z,e[2][0]*i.x+e[2][1]*i.y+e[2][2]*i.z)},e.angleBetweenRad=function(t,e){var i=IG.Math.Vector3.magnitude(t)*IG.Math.Vector3.magnitude(e),a=IG.Math.Vector3.innerProduct(t,e);return Math.acos(a/i)},e.rotationMatrix=function(t,e){var i=t,a=i.x,o=i.y,n=i.z,r=e,s=Math.sin,h=Math.cos,p=1-h(r),d=s(r),m=h(r);return[[a*a*p+m,a*o*p-n*d,a*n*p+o*d],[o*a*p+n*d,o*o*p+m,o*n*p-a*d],[n*a*p-o*d,n*o*p+a*d,n*n*p+m]]},e.DEG2RAD=Math.PI/180,e.RAD2DEG=180/Math.PI,e}();e.Util=a}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,90),e.SetupValue(t,e.Snap,0),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){var a,o;void 0===this.parameters[i]&&void 0===this.parameters[e.Minimum]&&void 0===this.parameters[e.Maximum]||("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a&&t.API.SetXRotation(this.GetComponentId(),a),void 0!==o&&t.API.SetXRotation(this.GetComponentId(),o))},a.prototype.SetStagePosition=function(i,a){var o,n,r;i.toString()===this.parameters[e.Stage].toString()&&(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum]||(o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a,Math.abs(r-o)<this.parameters[e.Snap]?r=o:Math.abs(r-n)<this.parameters[e.Snap]&&(r=n),t.API.SetXRotation(this.GetComponentId(),r)))},a.prototype.SingleTouchStart=function(e){this.nullAxis=t.API.GetInteractionData(this,e,"x",void 0).nullAxis,this.absRotation=t.API.GetXRotation(this.GetComponentId())},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetXRotation(this.GetComponentId()),o=t.API.GetInteractionData(this,e,"x",this.nullAxis);this.absRotation+=o.angle*t.API.MotionScale;var n=i?this.parameters.Snap:0;a=this.absRotation>=this.parameters.Maximum-n?this.parameters.Maximum:this.absRotation<=this.parameters.Minimum+n?this.parameters.Minimum:this.absRotation,t.API.SetXRotation(this.GetComponentId(),a),this.nullAxis=t.API.GetInteractionData(this,e,"x",void 0).nullAxis},a}(t.Core.Interactor);e.XRangeRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,1),e.SetupValue(t,e.Snap,0),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){if(void 0!==this.parameters[i]||void 0!==this.parameters[e.Minimum]||void 0!==this.parameters[e.Maximum]){var a,o,n;if("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a)(n=t.API.GetPosition(this.GetComponentId())).x=a,t.API.SetPosition(this.GetComponentId(),n);if(void 0!==o)(n=t.API.GetPosition(this.GetComponentId())).x=o,t.API.SetPosition(this.GetComponentId(),n)}},a.prototype.SetStagePosition=function(i,a){if(i.toString()===this.parameters[e.Stage].toString()&&!(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum])){var o,n,r;o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a,Math.abs(r-o)<this.parameters[e.Snap]?r=o:Math.abs(r-n)<this.parameters[e.Snap]&&(r=n);var s=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(r,s.y,s.z))}},a.prototype.SingleTouchStart=function(e){this.osCoords=t.API.GetInteractionData(this,e).point,this.startPosition=t.API.GetPosition(this.GetComponentId()).x},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(this.startPosition,a.y,a.z));var o=this.parameters.Minimum,n=this.parameters.Maximum,r=i?this.parameters.Snap:0,s=t.API.GetInteractionData(this,e).point.x-this.osCoords.x,h=i?a.x:this.startPosition+.2*s;h>=n-r?h=n:h<=o+r&&(h=o),t.API.SetPosition(this.GetComponentId(),new t.Float3(h,a.y,a.z))},a}(t.Core.Interactor);e.XRangeTranslator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,90),e.SetupValue(t,e.Raster,15),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){var a,o;void 0===this.parameters[i]&&void 0===this.parameters[e.Minimum]&&void 0===this.parameters[e.Maximum]||("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a&&t.API.SetXRotation(this.GetComponentId(),a),void 0!==o&&t.API.SetXRotation(this.GetComponentId(),o))},a.prototype.SetStagePosition=function(i,a){var o,n,r;i.toString()===this.parameters[e.Stage].toString()&&(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum]||(o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],(r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a)<o?r=o:r>n&&(r=n),t.API.SetXRotation(this.GetComponentId(),r)))},a.prototype.SingleTouchStart=function(e){this.nullAxis=t.API.GetInteractionData(this,e,"x",void 0).nullAxis,this.absRotation=t.API.GetXRotation(this.GetComponentId())},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetXRotation(this.GetComponentId()),o=t.API.GetInteractionData(this,e,"x",this.nullAxis).angle*t.API.MotionScale;this.absRotation+=o;for(var n=this.parameters.Minimum;n<=this.absRotation;)n+=this.parameters.Raster;var r=n-this.parameters.Raster,s=.5*(n+r);(a=this.absRotation>s?n:r)<this.parameters.Minimum?a=this.parameters.Minimum:a>=this.parameters.Maximum&&(a=this.parameters.Maximum),t.API.SetXRotation(this.GetComponentId(),a),this.nullAxis=t.API.GetInteractionData(this,e,"x",void 0).nullAxis},a}(t.Core.Interactor);e.XRasterRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,1),e.SetupValue(t,e.Raster,.25),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){if(void 0!==this.parameters[i]||void 0!==this.parameters[e.Minimum]||void 0!==this.parameters[e.Maximum]){var a,o,n;if("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a)(n=t.API.GetPosition(this.GetComponentId())).x=a,t.API.SetPosition(this.GetComponentId(),n);if(void 0!==o)(n=t.API.GetPosition(this.GetComponentId())).x=o,t.API.SetPosition(this.GetComponentId(),n)}},a.prototype.SetStagePosition=function(i,a){if(i.toString()===this.parameters[e.Stage].toString()&&!(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum])){var o,n,r;o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],(r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a)<o?r=o:r>n&&(r=n);var s=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(r,s.y,s.z))}},a.prototype.SingleTouchStart=function(e){this.osCoords=t.API.GetInteractionData(this,e).point,this.startPosition=t.API.GetPosition(this.GetComponentId()).x},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetPosition(this.GetComponentId()),o=this.parameters.Minimum,n=this.parameters.Maximum,r=this.parameters.Raster,s=t.API.GetInteractionData(this,e).point,h=s.x-this.osCoords.x;if(Math.abs(h)>Math.abs(r)){var p=a.x;p+=h>0?r:-r,(p=o+r*Math.round((p-o)/r))<o?p=o:p>n&&(p=n),t.API.SetPosition(this.GetComponentId(),new t.Float3(p,a.y,a.z)),this.osCoords=s}},a}(t.Core.Interactor);e.XRasterTranslator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValues(t,[0,90]),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a}return __extends(a,i),a.prototype.SetPosition=function(e){var i=this.parameters[e];void 0!==i&&t.API.SetXRotation(this.GetComponentId(),i)},a.prototype.SingleTouchStart=function(e){this.nullAxis=t.API.GetInteractionData(this,e,"x",void 0).nullAxis,this.absRotation=t.API.GetXRotation(this.GetComponentId())},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){t.API.GetXRotation(this.GetComponentId());var a=t.API.GetInteractionData(this,e,"x",this.nullAxis).angle*t.API.MotionScale;this.absRotation+=a;for(var o=this.parameters.Values[0],n=Math.abs(this.absRotation-o),r=1;r<this.parameters.Values.length;r++){var s=Math.abs(this.absRotation-this.parameters.Values[r]);s<n&&(o=this.parameters.Values[r],n=s)}t.API.SetXRotation(this.GetComponentId(),o),this.nullAxis=t.API.GetInteractionData(this,e,"x",void 0).nullAxis},a}(t.Core.Interactor);e.XValueRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValues(t,[0,1]),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a}return __extends(a,i),a.prototype.SetPosition=function(e){var i=this.parameters[e];if(void 0!==i){var a=t.API.GetPosition(this.GetComponentId());a.x=i,t.API.SetPosition(this.GetComponentId(),a)}},a.prototype.SingleTouchStart=function(e){this.osCoords=t.API.GetInteractionData(this,e).point,this.startPosition=t.API.GetPosition(this.GetComponentId()).x},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(this.startPosition,a.y,a.z));for(var o=this.parameters.Values,n=t.API.GetInteractionData(this,e).point,r=n.x-this.osCoords.x,s=a.x,h=0,p=Math.abs(s-o[h]),d=1;d<o.length;d++){var m=Math.abs(s-o[d]);m<p&&(h=d,p=m)}r>0?h<o.length-1&&h++:r<0&&h>0&&h--,s=o[h],t.API.SetPosition(this.GetComponentId(),new t.Float3(s,a.y,a.z)),this.osCoords=n},a}(t.Core.Interactor);e.XValueTranslator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,90),e.SetupValue(t,e.Snap,0),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){var a,o;void 0===this.parameters[i]&&void 0===this.parameters[e.Minimum]&&void 0===this.parameters[e.Maximum]||("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a&&t.API.SetYRotation(this.GetComponentId(),a),void 0!==o&&t.API.SetYRotation(this.GetComponentId(),o))},a.prototype.SetStagePosition=function(i,a){var o,n,r;i.toString()===this.parameters[e.Stage].toString()&&(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum]||(o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a,Math.abs(r-o)<this.parameters[e.Snap]?r=o:Math.abs(r-n)<this.parameters[e.Snap]&&(r=n),t.API.SetYRotation(this.GetComponentId(),r)))},a.prototype.SingleTouchStart=function(e){this.nullAxis=t.API.GetInteractionData(this,e,"y",void 0).nullAxis,this.absRotation=t.API.GetYRotation(this.GetComponentId())},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetYRotation(this.GetComponentId()),o=t.API.GetInteractionData(this,e,"y",this.nullAxis);this.absRotation+=o.angle*t.API.MotionScale;var n=i?this.parameters.Snap:0;a=this.absRotation>=this.parameters.Maximum-n?this.parameters.Maximum:this.absRotation<=this.parameters.Minimum+n?this.parameters.Minimum:this.absRotation,t.API.SetYRotation(this.GetComponentId(),a),this.nullAxis=t.API.GetInteractionData(this,e,"y",void 0).nullAxis},a}(t.Core.Interactor);e.YRangeRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,1),e.SetupValue(t,e.Snap,0),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){if(void 0!==this.parameters[i]||void 0!==this.parameters[e.Minimum]||void 0!==this.parameters[e.Maximum]){var a,o,n;if("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a)(n=t.API.GetPosition(this.GetComponentId())).y=a,t.API.SetPosition(this.GetComponentId(),n);if(void 0!==o)(n=t.API.GetPosition(this.GetComponentId())).y=o,t.API.SetPosition(this.GetComponentId(),n)}},a.prototype.SetStagePosition=function(i,a){if(i.toString()===this.parameters[e.Stage].toString()&&!(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum])){var o,n,r;o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a,Math.abs(r-o)<this.parameters[e.Snap]?r=o:Math.abs(r-n)<this.parameters[e.Snap]&&(r=n);var s=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(s.x,r,s.z))}},a.prototype.SingleTouchStart=function(e){this.osCoords=t.API.GetInteractionData(this,e).point,this.startPosition=t.API.GetPosition(this.GetComponentId()).y},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(a.x,this.startPosition,a.z));var o=this.parameters.Minimum,n=this.parameters.Maximum,r=i?this.parameters.Snap:0,s=t.API.GetInteractionData(this,e).point.y-this.osCoords.y,h=i?a.y:this.startPosition+.2*s;h>=n-r?h=n:h<=o+r&&(h=o),t.API.SetPosition(this.GetComponentId(),new t.Float3(a.x,h,a.z))},a}(t.Core.Interactor);e.YRangeTranslator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,90),e.SetupValue(t,e.Raster,15),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){var a,o;void 0===this.parameters[i]&&void 0===this.parameters[e.Minimum]&&void 0===this.parameters[e.Maximum]||("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a&&t.API.SetYRotation(this.GetComponentId(),a),void 0!==o&&t.API.SetYRotation(this.GetComponentId(),o))},a.prototype.SetStagePosition=function(i,a){var o,n,r;i.toString()===this.parameters[e.Stage].toString()&&(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum]||(o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],(r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a)<o?r=o:r>n&&(r=n),t.API.SetYRotation(this.GetComponentId(),r)))},a.prototype.SingleTouchStart=function(e){this.nullAxis=t.API.GetInteractionData(this,e,"y",void 0).nullAxis,this.absRotation=t.API.GetYRotation(this.GetComponentId())},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetYRotation(this.GetComponentId()),o=t.API.GetInteractionData(this,e,"y",this.nullAxis).angle*t.API.MotionScale;this.absRotation+=o;for(var n=this.parameters.Minimum;n<=this.absRotation;)n+=this.parameters.Raster;var r=n-this.parameters.Raster,s=.5*(n+r);(a=this.absRotation>s?n:r)<this.parameters.Minimum?a=this.parameters.Minimum:a>=this.parameters.Maximum&&(a=this.parameters.Maximum),t.API.SetYRotation(this.GetComponentId(),a),this.nullAxis=t.API.GetInteractionData(this,e,"y",void 0).nullAxis},a}(t.Core.Interactor);e.YRasterRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,1),e.SetupValue(t,e.Raster,.25),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){if(void 0!==this.parameters[i]||void 0!==this.parameters[e.Minimum]||void 0!==this.parameters[e.Maximum]){var a,o,n;if("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a)(n=t.API.GetPosition(this.GetComponentId())).y=a,t.API.SetPosition(this.GetComponentId(),n);if(void 0!==o)(n=t.API.GetPosition(this.GetComponentId())).y=o,t.API.SetPosition(this.GetComponentId(),n)}},a.prototype.SetStagePosition=function(i,a){if(i.toString()===this.parameters[e.Stage].toString()&&!(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum])){var o,n,r;o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],(r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a)<o?r=o:r>n&&(r=n);var s=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(s.x,r,s.z))}},a.prototype.SingleTouchStart=function(e){this.osCoords=t.API.GetInteractionData(this,e).point,this.startPosition=t.API.GetPosition(this.GetComponentId()).y},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetPosition(this.GetComponentId()),o=this.parameters.Minimum,n=this.parameters.Maximum,r=this.parameters.Raster,s=t.API.GetInteractionData(this,e).point,h=s.y-this.osCoords.y;if(Math.abs(h)>Math.abs(r)){var p=a.y;p+=h>0?r:-r,(p=o+r*Math.round((p-o)/r))<o?p=o:p>n&&(p=n),t.API.SetPosition(this.GetComponentId(),new t.Float3(a.x,p,a.z)),this.osCoords=s}},a}(t.Core.Interactor);e.YRasterTranslator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValues(t,[0,90]),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a}return __extends(a,i),a.prototype.SetPosition=function(e){var i=this.parameters[e];void 0!==i&&t.API.SetYRotation(this.GetComponentId(),i)},a.prototype.SingleTouchStart=function(e){this.nullAxis=t.API.GetInteractionData(this,e,"y",void 0).nullAxis,this.absRotation=t.API.GetYRotation(this.GetComponentId())},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){t.API.GetYRotation(this.GetComponentId());var a=t.API.GetInteractionData(this,e,"y",this.nullAxis).angle*t.API.MotionScale;this.absRotation+=a;for(var o=this.parameters.Values[0],n=Math.abs(this.absRotation-o),r=1;r<this.parameters.Values.length;r++){var s=Math.abs(this.absRotation-this.parameters.Values[r]);s<n&&(o=this.parameters.Values[r],n=s)}t.API.SetYRotation(this.GetComponentId(),o),this.nullAxis=t.API.GetInteractionData(this,e,"y",void 0).nullAxis},a}(t.Core.Interactor);e.YValueRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValues(t,[0,1]),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a}return __extends(a,i),a.prototype.SetPosition=function(e){var i=this.parameters[e];if(void 0!==i){var a=t.API.GetPosition(this.GetComponentId());a.y=i,t.API.SetPosition(this.GetComponentId(),a)}},a.prototype.SingleTouchStart=function(e){this.osCoords=t.API.GetInteractionData(this,e).point,this.startPosition=t.API.GetPosition(this.GetComponentId()).y},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(a.x,this.startPosition,a.z));for(var o=this.parameters.Values,n=t.API.GetInteractionData(this,e).point,r=n.y-this.osCoords.y,s=a.y,h=0,p=Math.abs(s-o[h]),d=1;d<o.length;d++){var m=Math.abs(s-o[d]);m<p&&(h=d,p=m)}r>0?h<o.length-1&&h++:r<0&&h>0&&h--,s=o[h],t.API.SetPosition(this.GetComponentId(),new t.Float3(a.x,s,a.z)),this.osCoords=n},a}(t.Core.Interactor);e.YValueTranslator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,90),e.SetupValue(t,e.Snap,0),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){var a,o;void 0===this.parameters[i]&&void 0===this.parameters[e.Minimum]&&void 0===this.parameters[e.Maximum]||("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a&&t.API.SetZRotation(this.GetComponentId(),a),void 0!==o&&t.API.SetZRotation(this.GetComponentId(),o))},a.prototype.SetStagePosition=function(i,a){var o,n,r;i.toString()===this.parameters[e.Stage].toString()&&(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum]||(o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a,Math.abs(r-o)<this.parameters[e.Snap]?r=o:Math.abs(r-n)<this.parameters[e.Snap]&&(r=n),t.API.SetZRotation(this.GetComponentId(),r)))},a.prototype.SingleTouchStart=function(e){this.nullAxis=t.API.GetInteractionData(this,e,"z",void 0).nullAxis,this.absRotation=t.API.GetZRotation(this.GetComponentId())},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetZRotation(this.GetComponentId()),o=t.API.GetInteractionData(this,e,"z",this.nullAxis);this.absRotation+=o.angle*t.API.MotionScale;var n=i?this.parameters.Snap:0;a=this.absRotation>=this.parameters.Maximum-n?this.parameters.Maximum:this.absRotation<=this.parameters.Minimum+n?this.parameters.Minimum:this.absRotation,t.API.SetZRotation(this.GetComponentId(),a),this.nullAxis=t.API.GetInteractionData(this,e,"z",void 0).nullAxis},a}(t.Core.Interactor);e.ZRangeRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,1),e.SetupValue(t,e.Snap,0),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){if(void 0!==this.parameters[i]||void 0!==this.parameters[e.Minimum]||void 0!==this.parameters[e.Maximum]){var a,o,n;if("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a)(n=t.API.GetPosition(this.GetComponentId())).z=a,t.API.SetPosition(this.GetComponentId(),n);if(void 0!==o)(n=t.API.GetPosition(this.GetComponentId())).z=o,t.API.SetPosition(this.GetComponentId(),n)}},a.prototype.SetStagePosition=function(i,a){if(i.toString()===this.parameters[e.Stage].toString()&&!(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum])){var o,n,r;o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a,Math.abs(r-o)<this.parameters[e.Snap]?r=o:Math.abs(r-n)<this.parameters[e.Snap]&&(r=n);var s=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(s.x,s.y,r))}},a.prototype.SingleTouchStart=function(e){this.osCoords=t.API.GetInteractionData(this,e).point,this.startPosition=t.API.GetPosition(this.GetComponentId()).z},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(a.x,a.y,this.startPosition));var o=this.parameters.Minimum,n=this.parameters.Maximum,r=i?this.parameters.Snap:0,s=t.API.GetInteractionData(this,e).point.z-this.osCoords.z,h=i?a.z:this.startPosition+.2*s;h>=n-r?h=n:h<=o+r&&(h=o),t.API.SetPosition(this.GetComponentId(),new t.Float3(a.x,a.y,h))},a}(t.Core.Interactor);e.ZRangeTranslator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,90),e.SetupValue(t,e.Raster,15),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){var a,o;void 0===this.parameters[i]&&void 0===this.parameters[e.Minimum]&&void 0===this.parameters[e.Maximum]||("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a&&t.API.SetZRotation(this.GetComponentId(),a),void 0!==o&&t.API.SetZRotation(this.GetComponentId(),o))},a.prototype.SetStagePosition=function(i,a){var o,n,r;i.toString()===this.parameters[e.Stage].toString()&&(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum]||(o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],(r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a)<o?r=o:r>n&&(r=n),t.API.SetZRotation(this.GetComponentId(),r)))},a.prototype.SingleTouchStart=function(e){this.nullAxis=t.API.GetInteractionData(this,e,"z",void 0).nullAxis,this.absRotation=t.API.GetZRotation(this.GetComponentId())},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){if(!i){var a=t.API.GetZRotation(this.GetComponentId()),o=t.API.GetInteractionData(this,e,"z",this.nullAxis).angle*t.API.MotionScale;this.absRotation+=o;for(var n=this.parameters.Minimum;n<=this.absRotation;)n+=this.parameters.Raster;var r=n-this.parameters.Raster,s=.5*(n+r);(a=this.absRotation>s?n:r)<this.parameters.Minimum?a=this.parameters.Minimum:a>=this.parameters.Maximum&&(a=this.parameters.Maximum),t.API.SetZRotation(this.GetComponentId(),a),this.nullAxis=t.API.GetInteractionData(this,e,"z",void 0).nullAxis}},a}(t.Core.Interactor);e.ZRasterRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,1),e.SetupValue(t,e.Raster,.25),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){if(void 0!==this.parameters[i]||void 0!==this.parameters[e.Minimum]||void 0!==this.parameters[e.Maximum]){var a,o,n;if("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a)(n=t.API.GetPosition(this.GetComponentId())).z=a,t.API.SetPosition(this.GetComponentId(),n);if(void 0!==o)(n=t.API.GetPosition(this.GetComponentId())).z=o,t.API.SetPosition(this.GetComponentId(),n)}},a.prototype.SetStagePosition=function(i,a){if(i.toString()===this.parameters[e.Stage].toString()&&!(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum])){var o,n,r;o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],(r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a)<o?r=o:r>n&&(r=n);var s=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(s.x,s.y,r))}},a.prototype.SingleTouchStart=function(e){this.osCoords=t.API.GetInteractionData(this,e).point,this.startPosition=t.API.GetPosition(this.GetComponentId()).z},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetPosition(this.GetComponentId()),o=this.parameters.Minimum,n=this.parameters.Maximum,r=this.parameters.Raster,s=t.API.GetInteractionData(this,e).point,h=s.z-this.osCoords.z;if(Math.abs(h)>Math.abs(r)){var p=a.z;p+=h>0?r:-r,(p=o+r*Math.round((p-o)/r))<o?p=o:p>n&&(p=n),t.API.SetPosition(this.GetComponentId(),new t.Float3(a.x,a.y,p)),this.osCoords=s}},a}(t.Core.Interactor);e.ZRasterTranslator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValues(t,[0,90]),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a}return __extends(a,i),a.prototype.SetPosition=function(e){var i=this.parameters[e];void 0!==i&&t.API.SetZRotation(this.GetComponentId(),i)},a.prototype.SingleTouchStart=function(e){this.nullAxis=t.API.GetInteractionData(this,e,"z",void 0).nullAxis,this.absRotation=t.API.GetZRotation(this.GetComponentId())},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){t.API.GetZRotation(this.GetComponentId());var a=t.API.GetInteractionData(this,e,"z",this.nullAxis).angle*t.API.MotionScale;this.absRotation+=a;for(var o=this.parameters.Values[0],n=Math.abs(this.absRotation-o),r=1;r<this.parameters.Values.length;r++){var s=Math.abs(this.absRotation-this.parameters.Values[r]);s<n&&(o=this.parameters.Values[r],n=s)}t.API.SetZRotation(this.GetComponentId(),o),this.nullAxis=t.API.GetInteractionData(this,e,"z",void 0).nullAxis},a}(t.Core.Interactor);e.ZValueRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValues(t,[0,1]),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a}return __extends(a,i),a.prototype.SetPosition=function(e){var i=this.parameters[e];if(void 0!==i){var a=t.API.GetPosition(this.GetComponentId());a.z=i,t.API.SetPosition(this.GetComponentId(),a)}},a.prototype.SingleTouchStart=function(e){this.osCoords=t.API.GetInteractionData(this,e).point,this.startPosition=t.API.GetPosition(this.GetComponentId()).z},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(a.x,a.y,this.startPosition));for(var o=this.parameters.Values,n=t.API.GetInteractionData(this,e).point,r=n.z-this.osCoords.z,s=a.z,h=0,p=Math.abs(s-o[h]),d=1;d<o.length;d++){var m=Math.abs(s-o[d]);m<p&&(h=d,p=m)}r>0?h<o.length-1&&h++:r<0&&h>0&&h--,s=o[h],t.API.SetPosition(this.GetComponentId(),new t.Float3(a.x,a.y,s)),this.osCoords=n},a}(t.Core.Interactor);e.ZValueTranslator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){return e.SetupValue(t,e.StartValue,0),e.SetupValue(t,e.EndValue,0),e.SetupValue(t,e.StartTime,0),e.SetupValue(t,e.EndTime,1),e.SetupAnimation(t),i.call(this,t)||this}return __extends(a,i),a.prototype.SetPosition=function(t){},a.prototype.ApplyValue=function(i){var a,o=this.GetComponentId();switch(this.parameters[e.Mode]){case e.XPosition:a=t.API.GetPosition(o),t.API.SetPosition(o,new t.Float3(i,a.y,a.z));break;case e.YPosition:a=t.API.GetPosition(o),t.API.SetPosition(o,new t.Float3(a.x,i,a.z));break;case e.ZPosition:a=t.API.GetPosition(o),t.API.SetPosition(o,new t.Float3(a.x,a.y,i));break;case e.XRotation:t.API.SetXRotation(o,i);break;case e.YRotation:t.API.SetYRotation(o,i);break;case e.ZRotation:t.API.SetZRotation(o,i)}},a.prototype.SetStagePosition=function(t,i){var a=e.GetValue(this.parameters,e.Stage),o=e.GetValue(this.parameters,e.StartValue),n=e.GetValue(this.parameters,e.EndValue);if(t<a)this.ApplyValue(o);else if(t>a)this.ApplyValue(n);else{var r=e.GetValue[(this.parameters,e.StartTime)],s=e.GetValue[(this.parameters,e.EndTime)];if(i<r)this.ApplyValue(o);else if(i>s)this.ApplyValue(n);else{var h=(n-o)/(s-r);this.ApplyValue(n-(s-i)*h)}}},a}(t.Core.Interactor);e.BasicLinearInteractor=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(){function e(e,i){if(this.IGX_API=i||t.API,"object"==typeof e){if(this._ChainList=new Array,Array.isArray(e))for(var a=0,o=e;a<o.length;a++){var n=s=o[a];if(!n.Target)return void console.warn("IGX.Std.KinematicsInteractor: Subchain has no target!");if(!n.Tolerance)return void console.warn("IGX.Std.KinematicsInteractor: Subchain has no tolerance!");if(!n.GeometryBase)return void console.warn("IGX.Std.KinematicsInteractor: Subchain has no GeometryBase defined!");if(n.Parent&&"string"==typeof n.Parent)"root"===n.Parent&&(this._MultiTargetChain=new Array,this._ChainList.push(this._MultiTargetChain)),this._MultiTargetChain.push(n);else{var r=new Array;r.push(n),this._ChainList.push(r)}}else{if(this._Chain=e,!this._Chain.Target)return void console.warn("IGX.Std.KinematicsInteractor: Chain has no target!");if(!this._Chain.Tolerance)return void console.warn("IGX.Std.KinematicsInteractor: Chain has no tolerance!");if(!this._Chain.GeometryBase)return void console.warn("IGX.Std.KinematicsInteractor: Interactor has no GeometryBase defined!");var s;(s=new Array).push(this._Chain),this._ChainList.push(s)}this._MaxIteration=3}else console.warn("IGX.Std.KinematicsInteractor: Not defined.")}return e.prototype.KinematicSolver=function(t,e,i,a){this._ComponentId=t;for(var o=this._ComponentId.split("_")[0]+"__",n=this._ComponentId+".",r=0;r<this._MaxIteration;r++)for(var s=0,h=this._ChainList;s<h.length;s++){var p=h[s];if(1===p.length)this._Chain=this.buildDataStructure(p[0],e,i,n,o,a),this.singleTargetKinematics(n,a);else{this._MultiTargetChain=p;for(var d=0;d<this._MultiTargetChain.length;d++){var m=this._MultiTargetChain[d];m=this.buildDataStructure(m,e,i,n,o,a)}this.multiTargetKinematics(n,a)}}},e.prototype.buildDataStructure=function(e,i,a,o,n,r){var s=this;if(e.Joints.length>0&&e.Joints[0].HeadX){e._Origin=e.Joints[0].HeadX;for(var h=e._Origin.split("."),p="",d=0;d<h.length-1;d++)p+=h[d],d+1<h.length-1&&(p+=".");e._ChainPath=p,e._RootId=""===p?this._ComponentId:this._ComponentId+"."+p;var m=[],u=0,l=/param(\d+)/i;e.Joints.forEach((function(n,h){var p,d,c,S,I,f,v,g,P,A,G,y,M,C,R,_=!1;n.Name?d=(R=n.Name.match(l))?i[parseInt(R[1])-1]:n.Name:d="b".concat(h);n.HeadX?c=(R=n.HeadX.match(l))?i[parseInt(R[1])-1]:n.HeadX:console.warn("IGX.Std.KinematicsInteractor: Joint",d,"is missing its Head (X)!");n.HeadY?S=(R=n.HeadY.match(l))?i[parseInt(R[1])-1]:n.HeadY:console.warn("IGX.Std.KinematicsInteractor: Joint",d,"is missing its Head (Y)!");n.HeadZ?I=(R=n.HeadZ.match(l))?i[parseInt(R[1])-1]:n.HeadZ:console.warn("IGX.Std.KinematicsInteractor: Joint",d,"is missing its Head (Z)!");n.Tail?(f=(R=n.Tail.match(l))?i[parseInt(R[1])-1]:n.Tail,s.isParent(I,f)||console.warn("IGX.Std.KinematicsInteractor: Joint",d,"- Tail isn't child of Head!")):console.warn("IGX.Std.KinematicsInteractor: Joint",d,"is missing its Tail!");C=n.FollowJointNode,A=n.LimitLeft,G=n.LimitRight,y=n.LimitUp,M=n.LimitDown;var b=o+c,w=o+S,x=o+I,V=o+f;a.forEach((function(t){b!==t&&w!==t&&x!==t&&V!==t||(_=!0)})),g=t.Std.Util.GetLocalPosition(e._RootId,o+c,r),P=t.Std.Util.GetLocalPosition(e._RootId,o+f,r),v=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(g,P)),u+=v,p={Name:d,HeadX:c,HeadY:S,HeadZ:I,Tail:f,FollowJointNode:C,LimitLeft:A,LimitRight:G,LimitUp:y,LimitDown:M,_Length:v,_HeadPos:g,_TailPos:P,_Blocked:_},m.push(p)})),e.Joints=m;var c=e.Target.match(l);if(c&&(e.Target=i[parseInt(c[1])-1]),r.IsValid(o+e._Origin)){if(e._OriginPos=t.Std.Util.GetLocalPosition(e._RootId,o+e._Origin,r),r.IsValid(n+e.Target))e._TargetPos=t.Std.Util.GetRelativePosition(n+".",e._RootId,n+e.Target,r);else{if("subbase"!==e.Target)return void console.warn("Target path",e.Target,"not valid.");e._TargetPos=e.Joints[e.Joints.length-1]._TailPos}return e._TotalLength=u,"x"!==e.GeometryBase&&"y"!==e.GeometryBase&&"z"!==e.GeometryBase&&(console.warn('GeometryBase param received not allowed value! Only "x", "y" and "z" are allowed! Returning to default value ("z")'),e.GeometryBase="z"),"y"===e.GeometryBase&&(console.warn("GeometryBase = y not implemented yet. Switching to z now."),e.GeometryBase="z"),e}console.warn("Origin path",e._Origin,"not valid.")}else console.warn("IGX.Std.KinematicsInteractor: Chain has no defined joints!")},e.prototype.isParent=function(t,e){return 0===e.indexOf(t)},e.prototype.getGeometryBase=function(t){var e=this._Chain,i=e.Joints[t],a=e.GeometryBase;return void 0!==i.GeometryBase&&(a=i.GeometryBase),a},e.prototype.getBoneEuler=function(t,e,i){var a=IG.Math.Quaternion.lookAt(e,i),o=IG.Math.Euler.createFromQuaternion(a);return"x"!==t||o.x!==Math.PI&&o.x!==-Math.PI?"z"!==t||o.z!==Math.PI&&o.z!==-Math.PI||(o.z=0,o.x*=-1):(o.x=0,o.z*=-1),o},e.prototype.isConstraintActive=function(t){var e=this._Chain.Joints[t];return void 0!==e.LimitLeft&&void 0!==e.LimitRight&&void 0!==e.LimitUp&&void 0!==e.LimitDown},e.prototype.getChainLevel=function(t){if(!t._ParentChain||"root"===t.Parent)return t._Level=0,0;var e=this.getChainLevel(t._ParentChain)+1;return t._Level=e,e},e.prototype.getEndEffectors=function(t){var e={};return this._MultiTargetChainStructure[t].forEach((function(t){e[t.Parent]||(e[t.Parent]=new Array),e[t.Parent].push(t)})),e},e.prototype.getJoint=function(t){for(var e=0,i=this._ChainList;e<i.length;e++)for(var a=0,o=i[e];a<o.length;a++)for(var n=0,r=o[a].Joints;n<r.length;n++){var s=r[n];if(0===t.indexOf(s.HeadX))return s}return console.warn("IGX.Std.KinematicsInteractor: Couldn't find follow joint",t),null},e.prototype.isFollowingJoint=function(t){var e=this._Chain.Joints[t];return!(!e.FollowJointNode||null===this.getJoint(e.FollowJointNode))},e.prototype.singleTargetKinematics=function(t,e){this.forward(e),this.solve(e),this.draw(t,e)},e.prototype.multiTargetKinematics=function(t,e){for(var i=this,a=this._MultiTargetChain[0],o=0,n=this._MultiTargetChain;o<n.length;o++){if(!(f=n[o]).Parent)return void console.warn("IGX.Std.KinematicsInteractor: A chain has no set Root param! (multi target kinematics)");if("root"===f.Parent)a=f;else{for(var r=0;r<this._MultiTargetChain.length;r++)if(f._ChainPath!==this._MultiTargetChain[r]._ChainPath&&f.Parent===this._MultiTargetChain[r]._ChainPath){f._ParentChain=this._MultiTargetChain[r];break}if(!f._ParentChain)return void console.warn("Couldn't find parent for kinematic chain",f._ChainPath)}}this._MultiTargetChain.forEach((function(t){t._Level||(t._Level=i.getChainLevel(t))})),this._MultiTargetChainStructure={};var s=0;this._MultiTargetChain.forEach((function(t){i._MultiTargetChainStructure[t._Level]||(i._MultiTargetChainStructure[t._Level]=new Array),i._MultiTargetChainStructure[t._Level].push(t),t._Level>s&&(s=t._Level)}));var h=!0,p=0,d=10;for(null!=a.MaxIterations&&(d=a.MaxIterations);h;){for(var m=s;m>0;m--)if(this._MultiTargetChainStructure.hasOwnProperty(m)){var u=this.getEndEffectors(m);for(var l in u)if(u.hasOwnProperty(l)){var c=u[l];this.multiTargetSolve(c,m,e)}}for(var S=0,I=this._MultiTargetChain;S<I.length;S++){var f,v=(f=I[S]).Joints[f.Joints.length-1]._TailPos;if(!(IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(v,f._TargetPos))<f.Tolerance)){h=!0;break}h=!1}if(++p>d)break}this._MultiTargetChain.forEach((function(a){i._Chain=a,i.draw(t,e)}))},e.prototype.multiTargetSolve=function(t,e,i){for(var a=0;a<t.length;a++){var o=t[a];this._Chain=o,this.backward(i)}var n,r=this.solveCentroid(t,i);this._Chain=this._Chain._ParentChain;var s=!1;for(a=0;a<this._Chain.Joints.length;a++){if(!this._Chain.Joints[a]._Blocked){s=!1;break}s=!0}if(s)n=r;else{var h=r;this._Chain._TargetPos=h,this.forward(i),this.solve(i)}var p=this._Chain;if(e>1&&"root"!==p.Parent){var d=this.getEndEffectors(p._Level);this.multiTargetSolve(d[p.Parent],p._Level,i)}n=p.Joints[p.Joints.length-1]._TailPos;for(a=0;a<t.length;a++){o=t[a];this._Chain=o,this._Chain._OriginPos=n,this.forward(i)}},e.prototype.draw=function(t,e){var i=this;this._Chain.Joints.forEach((function(a,o){e.SetPosition(t+a.HeadX,a._HeadPos);var n=i.getGeometryBase(o),r=i.getBoneEuler(n,a._HeadPos,a._TailPos),s=r.x*IG.Math.Rad2Deg,h=r.y*IG.Math.Rad2Deg,p=r.z*IG.Math.Rad2Deg;e.SetXRotation(t+a.HeadX,s),e.SetYRotation(t+a.HeadY,h),e.SetZRotation(t+a.HeadZ,p)}))},e.prototype.solveCentroid=function(t,e){var i=new IG.Math.Vector3(0,0,0);t.forEach((function(t){i=IG.Math.Vector3.add(i,t.Joints[0]._HeadPos)})),i=IG.Math.Vector3.scalarMultiply(1/t.length,i);for(var a=0;a<t.length;a++){var o=t[a];if(this._Chain=o,IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(i,this._Chain._TargetPos))>this._Chain._TotalLength){this._Chain=this._Chain._ParentChain,this._Chain._TargetPos=i,this.forward(e),this.solve(e),i=this._Chain.Joints[this._Chain.Joints.length-1]._TailPos,this._Chain=o,this._Chain._OriginPos=i,this.forward(e),this.solve(e);var n=IG.Math.Vector3.sub(this._Chain._TargetPos,this._Chain.Joints[this._Chain.Joints.length-1]._TailPos);i=IG.Math.Vector3.add(i,n),this.backward(e)}}return i},e.prototype.solve=function(t){var e=this._Chain;if(IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(e._OriginPos,e._TargetPos))>e._TotalLength)for(var i=0;i<e.Joints.length;i++){var a=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(e._TargetPos,e.Joints[i]._HeadPos)),o=e.Joints[i]._Length/a,n=IG.Math.Vector3.add(IG.Math.Vector3.scalarMultiply(1-o,e.Joints[i]._HeadPos),IG.Math.Vector3.scalarMultiply(o,e._TargetPos));e.Joints[i]._TailPos=n,e.Joints[i+1]&&(e.Joints[i+1]._HeadPos=n)}else{var r=0,s=20;null!=e.MaxIterations&&(s=e.MaxIterations);var h=e.Joints[e.Joints.length-1]._TailPos;for(a=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(h,e._TargetPos));a>e.Tolerance&&(this.backward(t),this.forward(t),a=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(h,e._TargetPos)),!(++r>s)););}},e.prototype.backward=function(e){for(var i=this._Chain,a=i.Joints.length-1;a>=0;a--){var o=i.Joints[a];if(!o._Blocked){a===i.Joints.length-1?o._TailPos=i._TargetPos:o._TailPos=i.Joints[a+1]._HeadPos;var n=o._HeadPos;if(this.isFollowingJoint(a)){this._ComponentId.split("_")[0];var r=this._ComponentId+".";n=t.Std.Util.GetRelativePosition(this._ComponentId,i._RootId,r+o.FollowJointNode,e)}var s=IG.Math.Vector3.sub(o._TailPos,n),h=IG.Math.Vector3.magnitude(s),p=o._Length/h,d=IG.Math.Vector3.add(IG.Math.Vector3.scalarMultiply(1-p,o._TailPos),IG.Math.Vector3.scalarMultiply(p,n));o._HeadPos=d}}},e.prototype.forward=function(e){for(var i=this._Chain,a=0;a<i.Joints.length;a++){var o=i.Joints[a];if(!o._Blocked){o._HeadPos=0===a?i._OriginPos:i.Joints[a-1]._TailPos;var n=o._TailPos;if(a+1<i.Joints.length&&this.isFollowingJoint(a+1)){this._ComponentId.split("_")[0];var r=this._ComponentId+".";n=t.Std.Util.GetRelativePosition(this._ComponentId,i._RootId,r+i.Joints[a+1].FollowJointNode,e)}var s=IG.Math.Vector3.sub(n,o._HeadPos),h=IG.Math.Vector3.magnitude(s),p=o._Length/h,d=IG.Math.Vector3.add(IG.Math.Vector3.scalarMultiply(1-p,o._HeadPos),IG.Math.Vector3.scalarMultiply(p,n));if(this.isConstraintActive(a)){var m=IG.Math.Vector3.normalize(s);d=IG.Math.Vector3.add(o._HeadPos,this.constrain(IG.Math.Vector3.sub(d,o._HeadPos),m,a))}o._TailPos=d}}},e.prototype.constrain=function(t,e,i){var a=this._Chain.Joints[i],o=this.getGeometryBase(i),n=this.getBoneEuler(o,a._HeadPos,IG.Math.Vector3.add(a._HeadPos,e)),r=n.x*IG.Math.Rad2Deg,s=n.y*IG.Math.Rad2Deg,h=n.z*IG.Math.Rad2Deg;"x"===o?(s>a.LimitLeft?s=a.LimitLeft:s<-a.LimitRight&&(s=-a.LimitRight),h>a.LimitUp?h=a.LimitUp:h<-a.LimitDown&&(h=-a.LimitDown)):"z"===o&&(s>a.LimitLeft?s=a.LimitLeft:s<-a.LimitRight&&(s=-a.LimitRight),r>a.LimitDown?r=a.LimitDown:r<-a.LimitUp&&(r=-a.LimitUp));var p=r*IG.Math.Deg2Rad-n.x,d=s*IG.Math.Deg2Rad-n.y,m=h*IG.Math.Deg2Rad-n.z,u=0,l=IG.Math.Matrix4.create();if(IG.Math.isCloseTo(p,0,1e-5)?IG.Math.isCloseTo(d,0,1e-5)?IG.Math.isCloseTo(m,0,1e-5)||(u=m,l=IG.Math.Matrix4.getZRotationMatrix(u)):(u=d,l=IG.Math.Matrix4.getYRotationMatrix(u)):(u=p,l=IG.Math.Matrix4.getXRotationMatrix(u)),0!==u){var c=new IG.Math.Vector3(0,0,0);return c=IG.Math.Vector3.multiplyWithMatrix4Right(t,l),this.constrain(c,IG.Math.Vector3.normalize(c),i)}return t},e}();e.KinematicsInteractor=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(){function e(t,e,i,a,o){this.rootId=t,this.stepSize=e,this.subNodes=i,this.animation=a,this.interactorParams=o,this.date=0,this.steps=1/e,this.cachedScenes=[],this.date=Date.now()}return e.prototype.initialize=function(t){this.cachedScenes=[t]},e.prototype.debugInfo=function(){console.log("stepSize",this.stepSize,this.steps),console.log("cachedOnes:",this.cachedScenes)},e.prototype.getStepSize=function(){return this.stepSize},e.prototype.getCache=function(){return this.cachedScenes},e.prototype.setCache=function(t,e){var i=e;if(t.toString().split(".")[1])console.warn("invalid array index");else if(this.cachedScenes[t]=i,t>0&&this.cachedScenes[0])for(var a in e)this.cachedScenes[0][a].activedeformation=this.cachedScenes[0][a].activedeformation||e[a].activedeformation},e.prototype.clearCache=function(){this.cachedScenes=[this.cachedScenes[0]]},e.prototype.interpolate=function(e){var i=Math.floor(e*this.steps),a=Math.ceil(e*this.steps),o=e*this.steps,n=this.cachedScenes[i],r=this.cachedScenes[a];if(i===a)return n;var s=function(t,e,i,a,o){return e===a?e:e+(a-e)/(i-t)*(o-t)},h=function(t,e,i,a,o){if(e===a)return e;for(;e<0;)e+=360;for(;a<0;)a+=360;for(;e>360;)e-=360;for(;a>360;)a-=360;if(e<a){var n=Math.abs(a-e);Math.abs(a-(e+360))<n&&(e+=360)}else{n=Math.abs(e-a);Math.abs(e-(a+360))<n&&(a+=360)}return e+(a-e)/(i-t)*(o-t)},p={};for(var d in n){var m=n[d],u=r[d],l=s(i,m.position.x,a,u.position.x,o),c=s(i,m.position.y,a,u.position.y,o),S=s(i,m.position.z,a,u.position.z,o),I=s(i,m.scaling.x,a,u.scaling.x,o),f=s(i,m.scaling.y,a,u.scaling.y,o),v=s(i,m.scaling.z,a,u.scaling.z,o),g=h(i,m.rotation[0],a,u.rotation[0],o),P=h(i,m.rotation[1],a,u.rotation[1],o),A=h(i,m.rotation[2],a,u.rotation[2],o);p[d]={position:new t.Float3(l,c,S),scaling:new t.Float3(I,f,v),rotation:[g,P,A],visibility:n[d].visibility},(m.activedeformation||u.activedeformation)&&(p[d].deformation=s(i,m.deformation,a,u.deformation,o),p[d].activedeformation=!0)}return p},e}();e.Cache=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(IGX){var Std;(function(Std){var defaultState={Position:{X:0,Y:0,Z:0},Rotation:{X:0,Y:0,Z:0},Scaling:{X:1,Y:1,Z:1},Deformation:0},createDefaultInjectedAnimationState=function(t,e){var i=__assign(__assign({},t),{Position:__assign({},t.Position),Rotation:__assign({},t.Rotation),Scaling:__assign({},t.Scaling)});for(var a in e){for(var o=a.split("."),n=i,r=defaultState,s=0;s<o.length-1;s++){var h=o[s];n=n[h],r&&(r=r[h])}var p=o[o.length-1];(void 0===n[p]||null===n[p]&&r)&&(n[p]=r[p])}return i},AnimationInteractor=function(_super){function AnimationInteractor(t){var e=this;Std.SetupValue(t,Std.Start,0),Std.SetupValue(t,Std.End,1),Std.SetupAnimation(t),(e=_super.call(this,t)||this).d=Date.now(),t.DebugLevel&&(e.Debug=!0,console.log("AnimationInteractor parameters",t,e.d)),e.useCache=Boolean(t.Record),e.stepSize=.1,e.nodesToBeCached=[],e.absoluteNodesToBeCached=[],e.IGX_API=new Std.ApiConnection(e.Debug),e.IGX_API.setUseShadow(e.useCache),e.useDebugCache=!1,e.debugapi=new Std.ApiConnection(e.Debug),e.debugapi.setUseShadow(!0),e.Debug&&console.log("animation parameters: usedDebugCache",e.useDebugCache,"useCache",e.useCache);var i=e.PrepAnimation(t.Animation);if(e.animation=i.Animation,e.kinematics=i.Kinematics,e.parameters.BackwardAnimation){var a=e.PrepAnimation(t.BackwardAnimation);e.backwardAnimation=a.Animation,e.backwardKinematics=a.Kinematics}e.params=new Array(AnimationInteractor.PARAM_COUNT);for(var o=0;o<AnimationInteractor.PARAM_COUNT;o++){e.params[o]=null;var n=t["Param"+(o+1)];n&&(n="string"!=typeof n?n.toString():n,e.params[o]=n)}return e.Debug&&(window.AInteractor=e),e}return __extends(AnimationInteractor,_super),AnimationInteractor.prototype.setUseCache=function(t){this.useCache=t},AnimationInteractor.prototype.PrepAnimation=function(paramsAnimation){var _this=this;if(this.Debug&&console.log("in PrepAnimation()",paramsAnimation),"string"==typeof paramsAnimation){try{paramsAnimation=eval(paramsAnimation)}catch(t){throw new Error('Could not create animation "'.concat(paramsAnimation,'": ').concat(String(t)))}this.lastPositionForIntermediateCalculationOnly=0;var tAnimations_1=[];paramsAnimation.Animations.forEach((function(animation){var usedProperties={};for(var timeString in animation.States){var state=animation.States[timeString];for(var key in state){var value=state[key];if("object"==typeof value)for(var subKey in value)usedProperties["".concat(key,".").concat(subKey)]=!0;else usedProperties[key]=!0}}var tStates=[],tLastTimeString,tLastTime;for(var tTimeString in animation.States){var tTime=eval(tTimeString);tLastTimeString?tStates.push({time:tTime,period:tTime-tLastTime,state1:createDefaultInjectedAnimationState(animation.States[tLastTimeString],usedProperties),state2:createDefaultInjectedAnimationState(animation.States[tTimeString],usedProperties)}):tStates.push({time:tTime,state1:createDefaultInjectedAnimationState(animation.States[tTimeString],usedProperties)}),tLastTimeString=tTimeString,tLastTime=tTime}tStates.push({time:9999,state1:createDefaultInjectedAnimationState(animation.States[tLastTimeString],usedProperties)}),void 0===animation.Path&&(animation.Path="."),void 0===animation.Mode&&(animation.Mode="Linear"),tAnimations_1.push({path:animation.Path,mode:animation.Mode,states:tStates}),_this.Debug&&console.log("+++",animation._,animation.Path),_this.nodesToBeCached.push(animation.Path)})),paramsAnimation._loops=tAnimations_1;var paramsKinematics=null;if("object"==typeof paramsAnimation.Kinematics){paramsKinematics=new Std.KinematicsInteractor(JSON.parse(JSON.stringify(paramsAnimation.Kinematics)),this.IGX_API);var kinematics=[];Array.isArray(paramsAnimation.Kinematics)?kinematics.push.apply(kinematics,paramsAnimation.Kinematics):kinematics.push(paramsAnimation.Kinematics);for(var _i=0,kinematics_1=kinematics;_i<kinematics_1.length;_i++){for(var state=kinematics_1[_i],_a=0,_b=state.Joints;_a<_b.length;_a++){var joint=_b[_a];this.nodesToBeCached.push(joint.HeadX),this.nodesToBeCached.push(joint.HeadY),this.nodesToBeCached.push(joint.HeadZ),this.nodesToBeCached.push(joint.Tail),joint.FollowJointNode&&this.nodesToBeCached.push(joint.FollowJointNode)}if(state.Target&&"subbase"!=state.Target&&0!=state.Target.indexOf("Param")&&this.absoluteNodesToBeCached.push(state.Target),state.Target&&0==state.Target.indexOf("Param")){var val=this.parameters[state.Target];val&&this.absoluteNodesToBeCached.push(val)}}}var missings=[];this.nodesToBeCached.forEach((function(t){var e=""+t;if("."!==e)for(;e.indexOf(".");){if(_this.nodesToBeCached.filter((function(t){return t===e})).length>0||missings.indexOf(e)<0&&missings.push(""+e),e.lastIndexOf(".")<0)break;e=e.slice(0,e.lastIndexOf("."))}})),this.nodesToBeCached=__spreadArray(__spreadArray([],this.nodesToBeCached,!0),missings,!0);var missingsA=[];return this.absoluteNodesToBeCached.forEach((function(t){for(var e=""+t;e.indexOf(".");){if(_this.absoluteNodesToBeCached.filter((function(t){return t===e})).length>0||missingsA.indexOf(e)<0&&missingsA.push(""+e),e.lastIndexOf(".")<0)break;e=e.slice(0,e.lastIndexOf("."))}})),this.absoluteNodesToBeCached=__spreadArray(__spreadArray([],this.absoluteNodesToBeCached,!0),missingsA,!0),{Animation:paramsAnimation,Kinematics:paramsKinematics}}return console.warn("IGX.Std.AnimationInteractor: No Animation specified."),{}},AnimationInteractor.prototype.SetPosition=function(t){return this.SetStagePosition(this.parameters.Stage,t===Std.Start?this.parameters[Std.Start]:this.parameters[Std.End])},AnimationInteractor.prototype.SetStagePosition=function(t,e,i){if(this.Debug&&console.log("SetStagePosition",this.GetComponentId(),this.useCache?"CACHED":"NOT cached",t,e,i),this.parameters.Stage===t){if(this.useDebugCache&&!this.useCache&&(window&&!window.animcaches&&(window.animcaches=[]),!this.forwardCache_debug)){this.forwardCache_debug=new Std.Cache(this.GetComponentId(),this.stepSize,this.nodesToBeCached,this.animation,this.parameters);var a=this.IGX_API.setShadowWithParameters(this.GetComponentId(),this.nodesToBeCached,this.absoluteNodesToBeCached,this.animation,this.parameters);this.forwardCache_debug.initialize(a),this.forwardCache_debug.name="forwardcache_debug"+this.GetComponentId(),window.animcaches.push(this.forwardCache_debug),console.log("initial via IGX_API:"),console.log(JSON.stringify(a));var o=this.debugapi.setShadowWithParameters(this.GetComponentId(),this.nodesToBeCached,this.absoluteNodesToBeCached,this.animation,this.parameters);console.log("initial via debugapi"),console.log(JSON.stringify(o))}if(this.useCache){if(window&&!window.animcaches&&(window.animcaches=[]),!this.forwardCache){this.forwardCache=new Std.Cache(this.GetComponentId(),this.stepSize,this.nodesToBeCached,this.animation,this.parameters);a=this.IGX_API.setShadowWithParameters(this.GetComponentId(),this.nodesToBeCached,this.absoluteNodesToBeCached,this.animation,this.parameters);this.forwardCache.initialize(a),this.forwardCache.name="forwardcache"+this.GetComponentId(),window.animcaches.push(this.forwardCache)}if(this.backwardAnimation&&!this.backwardsCache){this.backwardsCache=new Std.Cache(this.GetComponentId(),this.stepSize,this.nodesToBeCached,this.backwardAnimation,this.parameters);a=this.IGX_API.setShadowWithParameters(this.GetComponentId(),this.nodesToBeCached,this.absoluteNodesToBeCached,this.animation,this.parameters);this.backwardsCache.initialize(a),this.backwardsCache.name="backwardscache"+this.GetComponentId(),window.animcaches.push(this.backwardsCache)}}if(this.backwardAnimation&&i){if(this.backwardsCache){this.calculateMissing(e,!0,this.backwardsCache,this.IGX_API);n=this.backwardsCache.interpolate(e);return void this.IGX_API.setOriginalSceneFromShadow(n,this.GetComponentId(),this.animation.LinkedPoints)}}else if(this.forwardCache){this.calculateMissing(e,!1,this.forwardCache,this.IGX_API);var n=this.forwardCache.interpolate(e);return void this.IGX_API.setOriginalSceneFromShadow(n,this.GetComponentId(),this.animation.LinkedPoints)}if(null!==this.parameters.IntermediateCalculation){this.Debug&&console.log("lastPositionForIntermediateCalculationOnly",this.lastPositionForIntermediateCalculationOnly);for(var r=[],s=this.parameters.IntermediateCalculation,h=this.lastPositionForIntermediateCalculationOnly;Math.abs(e-h)>s;)h=e-h>0?h+s:h-s,r.push(h);this.Debug&&console.log("IntermediateCalculation steps would be",this.lastPositionForIntermediateCalculationOnly,r,e);for(var p=0;p<r.length;p++)this.calculate___SetStagePositionInternal(t,r[p],i,this.IGX_API);this.calculate___SetStagePositionInternal(t,e,i,this.IGX_API),this.lastPositionForIntermediateCalculationOnly=e}else this.calculate___SetStagePositionInternal(t,e,i,this.IGX_API);if(this.Debug){var d=this.IGX_API.setShadowWithParameters(this.GetComponentId(),this.nodesToBeCached,this.absoluteNodesToBeCached,this.animation,this.parameters);window.scene_reality=d}}},AnimationInteractor.prototype.debug_compareShadows=function(t,e){if(t&&e){var i=Object.keys(t),a=Object.keys(e);i.forEach((function(i){t[i]&&!e[i]&&console.log("key",i,"missing in b!!")})),a.forEach((function(i){e[i]&&!t[i]&&console.log("key",i,"missing in a!!")})),console.log("checking for missing paths in bk");this.GetComponentId();var o=[];a.forEach((function(t){for(var e=""+t;e.indexOf(".");){if(a.filter((function(t){return t===e})).length>0||o.indexOf(e)<0&&o.push(""+e),e.lastIndexOf(".")<0)break;e=e.slice(0,e.lastIndexOf("."))}})),console.log("missings",o),i.forEach((function(i){var a=t[i],o=e[i],n=Math.abs(a.position.x-o.position.x)>1e-6,r=Math.abs(a.position.y-o.position.y)>1e-6,s=Math.abs(a.position.z-o.position.z)>1e-6;(n||r||s)&&console.log("DIFFERENCE Position",i,a.position,o.position);var h=Math.abs(a.rotation[0]-o.rotation[0])>1e-6,p=Math.abs(a.rotation[1]-o.rotation[1])>1e-6,d=Math.abs(a.rotation[2]-o.rotation[2])>1e-6;(h||p||d)&&console.log("DIFFERENCE Rotation",i,a.rotation,o.rotation),a.scaling.x===o.scaling.x&&a.scaling.y===o.scaling.y&&a.scaling.z===o.scaling.z||console.log("DIFFERENCE Scaling",i,a.scaling,o.scaling)}))}else console.log("a or b is undefined !!")},AnimationInteractor.prototype.calculateMissing=function(t,e,i,a){if(0===t)return!1;for(var o=1/this.stepSize,n=Math.ceil(t*o),r=i?i.getCache():e?this.backwardsCache.getCache():this.forwardCache.getCache(),s=[],h=n;h>0;h--)r[h]||(s=__spreadArray([h],s,!0));if(s.length<1)return!1;for(var p=0,d=s;p<d.length;p++){var m=d[p];this.calculate___SetStagePositionInternal(this.parameters.Stage,m/o,e,a);var u=a.getShadow();e?this.backwardsCache.setCache(m,u):this.forwardCache.setCache(m,u),this.useCache&&this.Debug&&console.log("Add missing",m)}return!0},AnimationInteractor.prototype.readQuat=function(t,e){var i=t.X,a="string"==typeof i?e(i,this.params):i;a=isNaN(a)?0:a;var o=t.Y,n="string"==typeof o?e(o,this.params):o;n=isNaN(n)?0:n;var r=t.Z,s="string"==typeof r?e(r,this.params):r;s=isNaN(s)?0:s;var h=t.W,p="string"==typeof h?e(h,this.params):h;return{x:a,y:n,z:s,w:p=isNaN(p)?0:p}},AnimationInteractor.prototype.detectQuaternion=function(t){return"True"===t.Q||"true"===t.Q||"TRUE"===t.Q||!0===t.Q},AnimationInteractor.prototype.slerpInPlaceA=function(t,e,i){if(0===i)return t;if(1===i)return t=__assign({},e);var a=t.x,o=t.y,n=t.z,r=t.w,s=r*e.w+a*e.x+o*e.y+n*e.z;if(s<0?(t.w=-e.w,t.x=-e.x,t.y=-e.y,t.z=-e.z,s=-s):t=__assign({},e),s>=1)return t.w=r,t.x=a,t.y=o,t.z=n,t;var h=1-s*s;if(h<=1e-8){var p=1-i;return t.w=p*r+i*t.w,t.x=p*a+i*t.x,t.y=p*o+i*t.y,t.z=p*n+i*t.z,IG.Math.Quaternion.normalizeInPlace(t),t}var d=Math.sqrt(h),m=Math.atan2(d,s),u=Math.sin((1-i)*m)/d,l=Math.sin(i*m)/d;return t.w=r*u+t.w*l,t.x=a*u+t.x*l,t.y=o*u+t.y*l,t.z=n*u+t.z*l,t},AnimationInteractor.prototype.calculate___SetStagePositionInternal=function(t,e,i,a){var o=this;if(void 0!==this.animation&&(this.backwardAnimation||(i=!1),this.parameters.Stage===t)){e<0?e=0:e>1&&(e=1);var n=this.animation;i&&(n=this.backwardAnimation);var r={};this.animation.LinkedPoints&&Object.keys(this.animation.LinkedPoints).forEach((function(t){(o.animation.LinkedPoints[t]||[]).forEach((function(e){var i=o.GetComponentId(),n=i.split("_")[0]+"__",s=Std.Util.GetLocalTransform(n+".",i+"."+t,a),h=a.GetVisibility(i+"."+t);r[e]={ppath:t,tf:s,oldvisibility:h}}))}));var s=new Array;n._loops.forEach((function(t){var i=!1;t.states.forEach((function(n){if(!1===i&&e<=n.time){var r=o.GetComponentId();if("."!==t.path&&(r=Std.getAbsPath(r,t.path)),!1===a.IsValid(r))return;s.push(r);var h=/param(\d+)/i,p=function(t,e){var i=t.match(h);if(i){var a=parseInt(i[1]);return a--,parseFloat(e[a])}};if(void 0===n.state2){if(n.state1.Position){var d=a.GetPosition(r);if(void 0!==n.state1.Position.X){var m=n.state1.Position.X;d.x="string"==typeof m?p(m,o.params):m,d.x=isNaN(d.x)?0:d.x}if(void 0!==n.state1.Position.Y){var u=n.state1.Position.Y;d.y="string"==typeof u?p(u,o.params):u,d.y=isNaN(d.y)?0:d.y}if(void 0!==n.state1.Position.Z){var l=n.state1.Position.Z;d.z="string"==typeof l?p(l,o.params):l,d.z=isNaN(d.z)?0:d.z}a.SetPosition(r,d)}if(n.state1.Rotation)if(o.detectQuaternion(n.state1.Rotation)){var c=o.readQuat(n.state1.Rotation,p),S=IG.Math.Euler.createFromQuaternion(c,"xyz");a.SetXRotation(r,S.x*IG.Math.Rad2Deg),a.SetYRotation(r,S.y*IG.Math.Rad2Deg),a.SetZRotation(r,S.z*IG.Math.Rad2Deg)}else{if(void 0!==n.state1.Rotation.X){var I="string"==typeof(m=n.state1.Rotation.X)?p(m,o.params):m;I=isNaN(I)?0:I,a.SetXRotation(r,I)}if(void 0!==n.state1.Rotation.Y){var f="string"==typeof(u=n.state1.Rotation.Y)?p(u,o.params):u;f=isNaN(f)?0:f,a.SetYRotation(r,f)}if(void 0!==n.state1.Rotation.Z){var v="string"==typeof(l=n.state1.Rotation.Z)?p(l,o.params):l;v=isNaN(v)?0:v,a.SetZRotation(r,v)}}if(n.state1.Scaling){var g=a.GetScaling(r);if(void 0!==n.state1.Scaling.X){m=n.state1.Scaling.X;g.x="string"==typeof m?p(m,o.params):m,g.x=isNaN(g.x)?1:g.x}if(void 0!==n.state1.Scaling.Y){u=n.state1.Scaling.Y;g.y="string"==typeof u?p(u,o.params):u,g.y=isNaN(g.y)?1:g.y}if(void 0!==n.state1.Scaling.Z){l=n.state1.Scaling.Z;g.z="string"==typeof l?p(l,o.params):l,g.z=isNaN(g.z)?1:g.z}a.SetScaling(r,g)}if(void 0!==n.state1.Deformation){var P=n.state1.Deformation,A="string"==typeof P?p(P,o.params):P;A=isNaN(A)?0:A,a.SetDeformation(r,A)}if(void 0!==n.state1.Visibility)"string"==typeof(z=n.state1.Visibility)&&(z="true"===o.params[parseInt(z.match(h)[1])-1]),a.SetVisibility(r,z)}else{var G=(n.time-e)/n.period,y=1-G;if(n.state1.Position){d=a.GetPosition(r);if(void 0!==n.state1.Position.X){var M="string"==typeof(w=n.state1.Position.X)?p(w,o.params):w;M=isNaN(M)?0:M;var C="string"==typeof(T=n.state2.Position.X?n.state2.Position.X:0)?p(T,o.params):T;C=isNaN(C)||void 0===C?0:C,d.x=G*M+y*C}if(void 0!==n.state1.Position.Y){M="string"==typeof(x=n.state1.Position.Y)?p(x,o.params):x;M=isNaN(M)?0:M;C="string"==typeof(X=n.state2.Position.Y?n.state2.Position.Y:0)?p(X,o.params):X;C=isNaN(C)||void 0===C?0:C,d.y=G*M+y*C}if(void 0!==n.state1.Position.Z){M="string"==typeof(V=n.state1.Position.Z)?p(V,o.params):V;M=isNaN(M)?0:M;C="string"==typeof(E=n.state2.Position.Z?n.state2.Position.Z:0)?p(E,o.params):E;C=isNaN(C)||void 0===C?0:C,d.z=G*M+y*C}a.SetPosition(r,d)}else if(n.state2.Position){d=o.IGX_API.GetPosition(r);if(void 0!==n.state2.Position.X){C="string"==typeof(T=n.state2.Position.X)?p(T,o.params):T;C=isNaN(C)?0:C,d.x=y*C}if(void 0!==n.state2.Position.Y){C="string"==typeof(X=n.state2.Position.Y)?p(X,o.params):X;C=isNaN(C)?0:C,d.y=y*C}if(void 0!==n.state2.Position.Z){C="string"==typeof(E=n.state2.Position.Z)?p(E,o.params):E;C=isNaN(C)?0:C,d.z=y*C}a.SetPosition(r,d)}if(n.state1.Rotation)if(o.detectQuaternion(n.state1.Rotation)){var R=o.readQuat(n.state1.Rotation,p),_=o.readQuat(n.state2.Rotation,p),b=__assign({},R);b=o.slerpInPlaceA(b,_,y);S=IG.Math.Euler.createFromQuaternion(b,"xyz");a.SetXRotation(r,S.x*IG.Math.Rad2Deg),a.SetYRotation(r,S.y*IG.Math.Rad2Deg),a.SetZRotation(r,S.z*IG.Math.Rad2Deg)}else{if(void 0!==n.state1.Rotation.X){M="string"==typeof(w=n.state1.Rotation.X)?p(w,o.params):w;M=isNaN(M)?0:M;C="string"==typeof(T=n.state2.Rotation.X?n.state2.Rotation.X:0)?p(T,o.params):T;C=isNaN(C)||void 0===C?0:C,a.SetXRotation(r,G*M+y*C)}if(void 0!==n.state1.Rotation.Y){M="string"==typeof(x=n.state1.Rotation.Y)?p(x,o.params):x;M=isNaN(M)?0:M;C="string"==typeof(X=n.state2.Rotation.Y?n.state2.Rotation.Y:0)?p(X,o.params):X;C=isNaN(C)||void 0===C?0:C,a.SetYRotation(r,G*M+y*C)}if(void 0!==n.state1.Rotation.Z){M="string"==typeof(V=n.state1.Rotation.Z)?p(V,o.params):V;M=isNaN(M)?0:M;C="string"==typeof(E=n.state2.Rotation.Z?n.state2.Rotation.Z:0)?p(E,o.params):E;C=isNaN(C)||void 0===C?0:C,a.SetZRotation(r,G*M+y*C)}}else if(n.state2.Rotation)if(o.detectQuaternion(n.state2.Rotation)){c=o.readQuat(n.state2.Rotation,p),S=IG.Math.Euler.createFromQuaternion(c,"xyz");a.SetXRotation(r,S.x*IG.Math.Rad2Deg),a.SetYRotation(r,S.y*IG.Math.Rad2Deg),a.SetZRotation(r,S.z*IG.Math.Rad2Deg)}else{if(void 0!==n.state2.Rotation.X){C="string"==typeof(T=n.state2.Rotation.X)?p(T,o.params):T;C=isNaN(C)?0:C,a.SetXRotation(r,y*C)}if(void 0!==n.state2.Rotation.Y){C="string"==typeof(X=n.state2.Rotation.Y)?p(X,o.params):X;C=isNaN(C)?0:C,a.SetYRotation(r,y*C)}if(void 0!==n.state2.Rotation.Z){C="string"==typeof(E=n.state2.Rotation.Z)?p(E,o.params):E;C=isNaN(C)?0:C,a.SetZRotation(r,y*C)}}if(n.state1.Scaling){g=a.GetScaling(r);if(void 0!==n.state1.Scaling.X){var w;M="string"==typeof(w=n.state1.Scaling.X)?p(w,o.params):w;M=isNaN(M)?1:M;C="string"==typeof(T=n.state2.Scaling.X?n.state2.Scaling.X:1)?p(T,o.params):T;void 0===(C=isNaN(C)?1:C)&&(C=1),g.x=G*M+y*C}if(void 0!==n.state1.Scaling.Y){var x;M="string"==typeof(x=n.state1.Scaling.Y)?p(x,o.params):x;M=isNaN(M)?1:M;C="string"==typeof(X=n.state2.Scaling.Y?n.state2.Scaling.Y:1)?p(X,o.params):X;void 0===(C=isNaN(C)?1:C)&&(C=1),g.y=G*M+y*C}if(void 0!==n.state1.Scaling.Z){var V;M="string"==typeof(V=n.state1.Scaling.Z)?p(V,o.params):V;M=isNaN(M)?1:M;C="string"==typeof(E=n.state2.Scaling.Z?n.state2.Scaling.Z:1)?p(E,o.params):E;void 0===(C=isNaN(C)?1:C)&&(C=1),g.z=G*M+y*C}a.SetScaling(r,g)}else if(n.state2.Scaling){g=a.GetScaling(r);if(void 0!==n.state2.Scaling.X){var T;C="string"==typeof(T=n.state2.Scaling.X)?p(T,o.params):T;C=isNaN(C)?1:C,g.x=G+y*C}if(void 0!==n.state2.Scaling.Y){var X;C="string"==typeof(X=n.state2.Scaling.Y)?p(X,o.params):X;C=isNaN(C)?1:C,g.y=G+y*C}if(void 0!==n.state2.Scaling.Z){var E;C="string"==typeof(E=n.state2.Scaling.Z)?p(E,o.params):E;C=isNaN(C)?1:C,g.z=G+y*C}a.SetScaling(r,g)}if(void 0!==n.state1.Deformation){var D=n.state1.Deformation;M="string"==typeof D?p(D,o.params):D;M=isNaN(M)?0:M;C="string"==typeof(N=n.state2.Deformation)?p(N,o.params):N;void 0===(C=isNaN(C)?0:C)&&(C=0),a.SetDeformation(r,G*M+y*C)}else if(void 0!==n.state2.Deformation){var N;C="string"==typeof(N=n.state2.Deformation)?p(N,o.params):N;C=isNaN(C)?0:C,a.SetDeformation(r,y*C)}if(void 0!==n.state1.Visibility)"string"==typeof(z=n.state1.Visibility)&&(z="true"===o.params[parseInt(z.match(h)[1])-1]),a.SetVisibility(r,z);else if(void 0!==n.state2.Visibility){var z;"string"==typeof(z=n.state2.Visibility)&&(z="true"===o.params[parseInt(z.match(h)[1])-1]),a.SetVisibility(r,z)}}i=!0}}))}));var h=this.kinematics;i&&(h=this.backwardKinematics),h&&h.KinematicSolver(this.GetComponentId(),this.params,s,a),r&&Object.keys(r).forEach((function(t){var e=r[t].ppath,i=r[t].oldvisibility,n=o.GetComponentId(),s=n.split("_")[0]+"__",h=Std.Util.GetLocalTransform(s+".",n+"."+e,a),p=a.GetVisibility(n+"."+e);a.SetPoint(s+".",t,h[0],h[1],p!=i?p:null)}))}},AnimationInteractor.PARAM_COUNT=50,AnimationInteractor}(IGX.Core.Interactor);Std.AnimationInteractor=AnimationInteractor,Std.Test1={Id:"Test1",Animations:[{States:{.1:{Position:{Y:.1}},.6:{Position:{Y:.2}},.9:{Position:{Y:1}}}}]}})(Std=IGX.Std||(IGX.Std={}))}(IGX||(IGX={})),function(IGX){var Std;(function(Std){var DeformationInteractor=function(_super){function DeformationInteractor(parameters){var _this=this;return Std.SetupValue(parameters,Std.Start,0),Std.SetupValue(parameters,Std.End,1),Std.SetupAnimation(parameters),_this=_super.call(this,parameters)||this,void 0===parameters.Inverse?parameters.Inverse=!1:"string"==typeof parameters.Inverse?parameters.Inverse=1==eval(parameters.Inverse):parameters.Inverse=1==parameters.Inverse,_this.parameters[Std.Manual]=!1,_this.bAutoReset=!1,"string"==typeof parameters.AutoReset&&"true"===parameters.AutoReset.toLowerCase()?_this.bAutoReset=!0:"string"!=typeof parameters.AutoReset&&(_this.bAutoReset=parameters.AutoReset),_this}return __extends(DeformationInteractor,_super),DeformationInteractor.prototype.SetPosition=function(t){this.SetStagePosition(this.parameters.Stage,t===Std.Start?this.parameters[Std.Start]:this.parameters[Std.End])},DeformationInteractor.prototype.SetStagePosition=function(t,e){var i;t===this.parameters.Stage&&(i=this.bAutoReset?e<.5?2*(this.parameters.Inverse?1-e-.5:e):2*(1-(this.parameters.Inverse?1-e+.5:e)):this.parameters.Inverse?1-e:e,t===this.parameters.Stage&&IGX.API.SetDeformation(this.GetComponentId(),i))},DeformationInteractor}(IGX.Core.Interactor);Std.DeformationInteractor=DeformationInteractor})(Std=IGX.Std||(IGX.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,"Maximum",90),e.SetupValue(t,"Minimum",0),e.SetupValue(t,"Thickness",0),"X"!=t.RotationAxis&&"Y"!=t.RotationAxis&&"Z"!=t.RotationAxis&&(t.RotationAxis="X"),"Right"!=t.Offset&&(t.Offset="Left"),e.SetupAnimation(t),(a=i.call(this,t)||this).bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(t){switch(t){case e.Start:this.setPosition(0);break;case e.End:this.setPosition(1)}},a.prototype.setPosition=function(e){this.position||(this.position=t.API.GetPosition(this.GetComponentId()));var i=this.parameters.Offset,a=this.parameters.RotationAxis,o=this.parameters.Thickness*e;if(!(void 0===this.parameters.Start&&void 0===this.parameters.StageStart&&void 0===this.parameters.Minimum||void 0===this.parameters.End&&void 0===this.parameters.StageEnd&&void 0===this.parameters.Maximum)){var n,r=(n=void 0===this.parameters.StageStart?void 0===this.parameters.Start?this.parameters.Minimum:this.parameters.Start:this.parameters.StageStart)+((void 0===this.parameters.StageEnd?void 0===this.parameters.End?this.parameters.Maximum:this.parameters.End:this.parameters.StageEnd)-n)*e,s=new t.Float3;if(s.x=this.position.x,s.y=this.position.y,s.z=this.position.z,"Left"===i)switch(a){case"X":s.z+=o,t.API.SetPosition(this.GetComponentId(),s),t.API.SetXRotation(this.GetComponentId(),-r);break;case"Y":s.z+=o,t.API.SetPosition(this.GetComponentId(),s),t.API.SetYRotation(this.GetComponentId(),-r);break;case"Z":s.x-=o,t.API.SetPosition(this.GetComponentId(),s),t.API.SetZRotation(this.GetComponentId(),-r)}else switch(a){case"X":s.z+=o,t.API.SetPosition(this.GetComponentId(),s),t.API.SetXRotation(this.GetComponentId(),r);break;case"Y":s.z+=o,t.API.SetPosition(this.GetComponentId(),s),t.API.SetYRotation(this.GetComponentId(),r);break;case"Z":s.x+=o,t.API.SetPosition(this.GetComponentId(),s),t.API.SetZRotation(this.GetComponentId(),r)}}},a.prototype.SetStagePosition=function(t,e){if(t.toString()===this.parameters.Stage.toString()){var i=e;this.bAutoReset&&(i=e<.5?2*e:2*(1-e)),this.setPosition(i)}},a}(t.Core.Interactor);e.OffsetRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(IGX){var Std;(function(Std){var VisibilityInteractor=function(_super){function VisibilityInteractor(parameters){var _this=this;return Std.SetupAnimation(parameters),_this=_super.call(this,parameters)||this,"string"==typeof parameters.Threshold?parameters.Threshold=eval(parameters.Threshold):"number"==typeof parameters.Threshold?parameters.Threshold=parameters.Threshold:void 0===parameters.Threshold&&(parameters.Threshold=.1),_this}return __extends(VisibilityInteractor,_super),VisibilityInteractor.prototype.SetPosition=function(t){this.SetStagePosition(this.parameters.Stage,t===Std.Start?0:1)},VisibilityInteractor.prototype.SetStagePosition=function(t,e){t===this.parameters.Stage&&IGX.API.SetVisibility(this.GetComponentId(),e<this.parameters.Threshold)},VisibilityInteractor}(IGX.Core.Interactor);Std.VisibilityInteractor=VisibilityInteractor})(Std=IGX.Std||(IGX.Std={}))}(IGX||(IGX={})),console.log("IG.GFX.Standard 1.9.2 (1.9.2.100). Copyright (C) 2013 - 2023 intelligentgraphics AG. All Rights Reserved."),!IGX.Float3){var Float3=function(t,e,i){this.x=void 0===t?0:t,this.y=void 0===e?0:e,this.z=void 0===i?0:i};IGX.Float3=Float3}!function(t){!function(e){var i=function(t){function i(i){return e.SetupAnimation(i),t.call(this,i)||this}return __extends(i,t),i.prototype.SetPosition=function(t){},i.prototype.SetStagePosition=function(t,e){},i}(t.Core.Interactor);e.EmptyInteractor=i}(t.Std||(t.Std={}))}(IGX||(IGX={}));
8
+ var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(t){for(var e,i=1,a=arguments.length;i<a;i++)for(var o in e=arguments[i])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},__assign.apply(this,arguments)},__spreadArray=this&&this.__spreadArray||function(t,e,i){if(i||2===arguments.length)for(var a,o=0,n=e.length;o<n;o++)!a&&o in e||(a||(a=Array.prototype.slice.call(e,0,o)),a[o]=e[o]);return t.concat(a||Array.prototype.slice.call(e))},__extends=this&&this.__extends||function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};return function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function a(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(a.prototype=i.prototype,new a)}}(),IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX;if(function(IGX){var Std;(function(Std){Std.Minimum="Minimum",Std.Maximum="Maximum",Std.Snap="Snap",Std.Raster="Raster",Std.Values="Values",Std.StartValue="StartValue",Std.EndValue="EndValue",Std.StartTime="StartTime",Std.EndTime="EndTime",Std.Steps="Steps",Std.Mode="Mode",Std.XPosition="XPosition",Std.YPosition="YPosition",Std.ZPosition="ZPosition",Std.XRotation="XRotation",Std.YRotation="YRotation",Std.ZRotation="ZRotation",Std.Start="Start",Std.End="End",Std.Stage="Stage",Std.Period="Period",Std.BackwardPeriod="BackwardPeriod",Std.StageStart="StageStart",Std.StageEnd="StageEnd",Std.Manual="Manual",Std.cString="string",Std.cNumber="number";var commaRegex=/,/g;function SetupValue(parameters,key,fallbackValue){void 0===parameters[key]?parameters[key]=fallbackValue:typeof parameters[key]===Std.cNumber||(typeof parameters[key]===Std.cString?(parameters[key]=eval(parameters[key].replace(commaRegex,".")),typeof parameters[key]!==Std.cNumber&&(parameters[key]=fallbackValue)):parameters[key]=fallbackValue)}function GetValue(t,e){return t[e]}function getAbsPath(t,e){var i=t.slice(0);if("."!==e)if(0===e.indexOf("..")){var a=t.lastIndexOf(".");i=(-1===a?t.substring(0,t.lastIndexOf("o")):t.substring(0,a+1))+e.substr(2)}else"."===t[t.length-1]?i+=e:i+="."+e;return i}Std.SetupValue=SetupValue,Std.SetupValues=function(parameters,fallbackValues){void 0===parameters.Values?parameters.Values=fallbackValues:"string"==typeof parameters.Values&&(parameters.Values=eval(parameters.Values)),parameters.Values.sort((function(t,e){return t-e}))},Std.GetValue=GetValue,Std.SetupAnimation=function(parameters){"string"==typeof parameters.Start&&(parameters.Start=eval(parameters.Start)),"string"==typeof parameters.End&&(parameters.End=eval(parameters.End)),"string"==typeof parameters.StageStart&&(parameters.StageStart=eval(parameters.StageStart)),"string"==typeof parameters.StageEnd&&(parameters.StageEnd=eval(parameters.StageEnd)),void 0===parameters.Stage?parameters.Stage=1:"string"==typeof parameters.Stage&&(parameters.Stage=eval(parameters.Stage)),void 0===parameters.Period?parameters.Period=1:"string"==typeof parameters.Period&&(parameters.Period=eval(parameters.Period)),void 0===parameters.BackwardPeriod?parameters.BackwardPeriod=parameters.Period:"string"==typeof parameters.BackwardPeriod&&(parameters.BackwardPeriod=eval(parameters.BackwardPeriod)),"string"==typeof parameters.IntermediateCalculation&&(parameters.IntermediateCalculation=eval(parameters.IntermediateCalculation)),void 0===parameters.Record?parameters.Record=!1:"string"==typeof parameters.Record&&(parameters.Record="true"===parameters.Record.toLowerCase()),void 0===parameters.DebugLevel?parameters.DebugLevel=0:"string"==typeof parameters.DebugLevel&&(parameters.DebugLevel=eval(parameters.DebugLevel))},Std.getAbsPath=getAbsPath})(Std=IGX.Std||(IGX.Std={}))}(IGX||(IGX={})),function(t){!function(t){var e=function(){};t.KinematicChain=e}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(t){var e=function(){};t.AnimationState=e;var i=function(){};t.Animation=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(){function i(t){void 0===t&&(t=!1),this.useShadowApi=!1,this.callLog=[],this.printCallAsError=!1,this.debug=t,this.debug&&console.log("new ApiConnection()")}return i.prototype.getNodeInfo=function(e){return{position:t.API.GetPosition(e),rotation:[t.API.GetXRotation(e),t.API.GetYRotation(e),t.API.GetZRotation(e)],scaling:t.API.GetScaling(e),visibility:t.API.GetVisibility(e),deformation:t.API.GetDeformation?t.API.GetDeformation(e):0,activedeformation:!1}},i.prototype.makeShadow=function(t,e){var i={};if(i[t]=__assign({},this.getNodeInfo(t)),e)for(var a=t+".",o=0,n=e;o<n.length;o++){var r=n[o];i[a+r]=__assign({},this.getNodeInfo(a+r))}return i},i.prototype.setShadowWithParameters=function(t,e,i,a,o,n){var r={},s=[t];e.forEach((function(t){return s=__spreadArray(__spreadArray([],s,!0),[t],!1)}));var h=t;h=h.slice(0,h.lastIndexOf("_")+1);for(var p=0,d=s;p<d.length;p++){for(var m=d[p],u=void 0,l=0;l<a._loops.length;l++)if(m===a._loops[l].path){u=l;break}if(u){var c=t+"."+m;"."===m&&(c=t);var S=a._loops[u];r[c]=__assign({},this.getNodeInfo(c)),void 0!==S.states[0].state1.Deformation&&(r[c].deformation=Number(S.states[0].state1.Deformation)),isNaN(r[c].deformation)&&(r[c].deformation=Number(o[r[c].deformation]))}else{var I="."===m?t:m===t?m:t+"."+m;r[I]=__assign({},this.getNodeInfo(I))}}for(var f=0,v=i;f<v.length;f++){var g=v[f];r[h+g]=__assign({},this.getNodeInfo(h+g))}return this.shadow=this.cloneShadow(r),r},i.prototype.cloneShadow=function(t){var e=null!=t?t:this.shadow;return JSON.parse(JSON.stringify(e))},i.prototype.setShadow=function(t,e){return this.shadow=this.makeShadow(t,e),this.cloneShadow()},i.prototype.getShadow=function(){if(this.shadow)return this.cloneShadow()},i.prototype.setUseShadow=function(t){this.useShadowApi=t},i.prototype.getUseShadow=function(){return this.useShadowApi},i.prototype.setOriginalSceneFromShadow=function(i,a,o){if(this.shadow||i){var n=null!=i?i:this.shadow,r={};for(var s in o&&a&&Object.keys(o).forEach((function(i){(o[i]||[]).forEach((function(o){var n=a,s=n.split("_")[0]+"__",h=e.Util.GetLocalTransform(s+".",n+"."+i,t.API),p=t.API.GetVisibility(n+"."+i);r[o]={ppath:i,tf:h,oldvisibility:p}}))})),n){var h=n[s];t.API.SetPosition(s,h.position),t.API.SetVisibility(s,h.visibility),t.API.SetScaling(s,h.scaling),t.API.SetXRotation(s,h.rotation[0]),t.API.SetYRotation(s,h.rotation[1]),t.API.SetZRotation(s,h.rotation[2]),h.activedeformation&&t.API.SetDeformation(s,h.deformation)}r&&a&&Object.keys(r).forEach((function(i){var o=r[i].ppath,n=r[i].oldvisibility,s=a,h=s.split("_")[0]+"__",p=e.Util.GetLocalTransform(h+".",s+"."+o,t.API),d=t.API.GetVisibility(s+"."+o);t.API.SetPoint(h+".",i,p[0],p[1],d!=n?d:null)}))}},i.prototype.appendNode=function(e){return console.warn("WTF appendNode() onDemand",e),!!t.API.IsValid(e)&&(this.shadow[e]=__assign({},this.getNodeInfo(e)),!0)},i.prototype.SetPoint=function(e,i,a,o,n){this.useShadowApi?console.warn("SetPoint not implemented !!!"):t.API.SetPoint(e,i,a,o,n)},i.prototype.GetParent=function(e){var i=t.API.GetParent;return this.printCallAsError&&console.error("disabled GetParent() [id] called !!!"),this.useShadowApi?this.useShadowApi?i(e):void 0:i(e)},i.prototype.IsValid=function(e){var i=t.API.IsValid;return this.printCallAsError&&console.error("disabled IsValid() called !!!"),this.useShadowApi?this.useShadowApi?i(e):void 0:i(e)},i.prototype.GetPosition=function(e){var i,a=t.API.GetPosition;if(this.printCallAsError&&console.error("disabled GetPosition() called !!!"),!this.useShadowApi){var o=a(e);return this.callLog.push("GetPosition native "+e+" "+JSON.stringify(o)),o}var n=null===(i=this.shadow)||void 0===i?void 0:i[e];if(n){o=n.position;return this.callLog.push("GetPosition ovrw "+e+" "+JSON.stringify(o)),o}return this.appendNode(e)?(n=this.shadow[e]).position:(console.warn("nothing found for "+e),a(e))},i.prototype.GetVisibility=function(e){var i,a=t.API.GetVisibility;if(this.printCallAsError&&console.error("disabled GetVisibility() called !!!"),!this.useShadowApi)return a(e);var o=null===(i=this.shadow)||void 0===i?void 0:i[e];return o?o.visibility:this.appendNode(e)?(o=this.shadow[e]).visibility:(console.warn("nothing found for "+e),a(e))},i.prototype.GetScaling=function(e){var i,a=t.API.GetScaling;if(this.printCallAsError&&console.error("disabled GetScaling() called !!!"),!this.useShadowApi)return a(e);var o=null===(i=this.shadow)||void 0===i?void 0:i[e];return o?o.scaling:this.appendNode(e)?(o=this.shadow[e]).scaling:(console.warn("nothing found for "+e),a(e))},i.prototype.GetXRotation=function(e){var i,a=t.API.GetXRotation;if(this.printCallAsError&&console.error("disabled GetXRotation() called !!!"),!this.useShadowApi)return a(e);var o=null===(i=this.shadow)||void 0===i?void 0:i[e];return o?o.rotation[0]:this.appendNode(e)?(o=this.shadow[e]).rotation[0]:(console.warn("nothing found for "+e),a(e))},i.prototype.GetYRotation=function(e){var i,a=t.API.GetYRotation;if(this.printCallAsError&&console.error("disabled GetYRotation() called !!!"),!this.useShadowApi)return a(e);var o=null===(i=this.shadow)||void 0===i?void 0:i[e];return o?o.rotation[1]:this.appendNode(e)?(o=this.shadow[e]).rotation[1]:(console.warn("nothing found for "+e),a(e))},i.prototype.GetZRotation=function(e){var i,a=t.API.GetZRotation;if(this.printCallAsError&&console.error("disabled GetZRotation() called !!!"),!this.useShadowApi)return a(e);var o=null===(i=this.shadow)||void 0===i?void 0:i[e];return o?o.rotation[2]:this.appendNode(e)?(o=this.shadow[e]).rotation[2]:(console.warn("nothing found for "+e),a(e))},i.prototype.GetDeformation=function(e){var i;if(this.useShadowApi){var a=null===(i=this.shadow)||void 0===i?void 0:i[e];return a&&null!==a.deformation&&void 0!==a.deformation?a.deformation:0}return t.API.GetDeformation?t.API.GetDeformation(e):0},i.prototype.SetDeformation=function(e,i){var a,o=t.API.SetDeformation;if(this.printCallAsError&&console.error("disabled SetDeformation() called !!!"),this.useShadowApi){var n=null===(a=this.shadow)||void 0===a?void 0:a[e];if(n)return n.deformation=i,void(n.activedeformation=!0);if(!this.appendNode(e))return console.warn("nothing found for "+e),o(e,i);n.deformation=i}else o(e,i)},i.prototype.SetPosition=function(e,i){var a;if(this.printCallAsError&&console.error("disabled SetPosition() called !!!"),this.useShadowApi){var o=null===(a=this.shadow)||void 0===a?void 0:a[e];return o?void(o.position=i):void console.warn("set: nothing found for "+e)}t.API.SetPosition(e,i)},i.prototype.SetXRotation=function(e,i){var a;if(this.printCallAsError&&console.error("disabled SetXRotation() called !!!"),this.useShadowApi){var o=null===(a=this.shadow)||void 0===a?void 0:a[e];return o?void(o.rotation[0]=i):void console.warn("set: nothing found for "+e)}t.API.SetXRotation(e,i)},i.prototype.SetYRotation=function(e,i){var a;if(this.printCallAsError&&console.error("disabled SetYRotation() called !!!"),this.useShadowApi){var o=null===(a=this.shadow)||void 0===a?void 0:a[e];return o?void(o.rotation[1]=i):void console.warn("set: nothing found for "+e)}t.API.SetYRotation(e,i)},i.prototype.SetZRotation=function(e,i){var a;if(this.printCallAsError&&console.error("disabled SetZRotation() called !!!"),this.useShadowApi){var o=null===(a=this.shadow)||void 0===a?void 0:a[e];return o?void(o.rotation[2]=i):void console.warn("set: nothing found for "+e)}t.API.SetZRotation(e,i)},i.prototype.SetVisibility=function(e,i){var a;if(this.printCallAsError&&console.error("disabled SetVisibility() called !!!"),this.useShadowApi){var o=null===(a=this.shadow)||void 0===a?void 0:a[e];return o?void(o.visibility=i):void console.warn("set: nothing found for "+e)}t.API.SetVisibility(e,i)},i.prototype.SetScaling=function(e,i){var a;if(this.printCallAsError&&console.error("disabled SetSCaling() called !!!"),this.useShadowApi){var o=null===(a=this.shadow)||void 0===a?void 0:a[e];return o?void(o.scaling=i):void console.warn("set: nothing found for "+e)}t.API.SetScaling(e,i)},i}();e.ApiConnection=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(){function e(){}return e.dlog=function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];e.debug&&console.log(t)},e.calculatePosition=function(i,o,n,r,s,h,p,d,m,u){var l,c=r,S=s,I=p,f=h;m=m?[S,f].concat(m):[S,f],e.dlog("internal top attached",m),l=null!=u?a.GetLocalPosition(u,i,t.API):t.API.GetWorldPosition(i),e.dlog("#--MatressInitialPosition",l);var v,g,P,A,G,y=o,M=n;e.dlog("minangleDeg",o),e.dlog("maxangleDeg",M),null!=u?(v=a.GetLocalPosition(u,c,t.API),g=a.GetLocalPosition(u,S,t.API),P=a.GetLocalPosition(u,I,t.API),A=a.GetLocalPosition(u,f,t.API),G=a.GetLocalPosition(u,i,t.API)):(v=t.API.GetWorldPosition(c),g=t.API.GetWorldPosition(S),P=t.API.GetWorldPosition(I),A=t.API.GetWorldPosition(f),G=t.API.GetWorldPosition(i));var C={};m.forEach((function(i){e.dlog("attach1",i),C[i]={originalpos:null!=u?a.GetLocalPosition(u,i,t.API):t.API.GetWorldPosition(i),newpos:null},e.dlog("attached")})),e.dlog("leftLowPosRaw",v),e.dlog("leftUpPosRaw",g),e.dlog("rightLowPosRaw",P),e.dlog("rightUpPosRaw",A),e.dlog("articleToBeMoved",G);var R=IG.Math.Vector3.sub(P,v);R.y=0,e.dlog("baseLineDir",R);var _=IG.Math.Vector3.sub(v,P),b=IG.Math.Vector3.sub(g,v);_.y=0;var w=IG.Math.Vector3.magnitude(_)*IG.Math.Vector3.magnitude(b),x=IG.Math.Vector3.innerProduct(_,b);e.dlog("mag",w,"dot",x);var V=IG.Math.MathS.acos(x/w);if(e.dlog("baseAngleRad",V,"baseAngleDeg",V*IG.Math.Rad2Deg),0===d){var T=IG.Math.Vector3.sub(A,P),X=IG.Math.Vector3.magnitude(_)*IG.Math.Vector3.magnitude(T),E=IG.Math.Vector3.innerProduct(_,T),D=IG.Math.MathS.acos(E/X);e.dlog("0: initial A angle ",V*IG.Math.Rad2Deg,"deg","initial B angle ",D*IG.Math.Rad2Deg,"deg")}var N=IG.Math.Vector3.normalize(IG.Math.Vector3.crossProduct(_,b));e.dlog("rotationnormal",N);var z=y*IG.Math.Deg2Rad,L=z+d*(M*IG.Math.Deg2Rad-z),k=L-V;e.dlog(d,"baseAngleRad:",V,"angwanted:",L,"ang difference:",k);var Y=IG.Math.Matrix3.makeRotationMatrixFromNormalVector(N,k);e.dlog("rotationsmatrix",Y);var Z=IG.Math.Vector3.add(v,IG.Math.Matrix3.multiplyWithVector3(IG.Math.Vector3.sub(g,v),Y));e.dlog("rotated",Z);var F=Z.x,O=Z.y,B=Z.z,J=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(g,A))*IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(g,A)),H=P.x,K=P.y,U=P.z,j=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(A,P))*IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(A,P));e.dlog(F,O,B,"---\x3e",H,K,U,"]");var Q=IG.Math.Vector3.sub(Z,P),W=new t.Float3(0,0,0);2*H-2*F!=0?W.x=(J-j-F*F+H*H-O*O+K*K-B*B+U*U)/(2*H-2*F):2*K-2*O!=0?W.y=(J-j-F*F+H*H-O*O+K*K-B*B+U*U)/(2*K-2*O):2*U-2*B!=0?W.z=(J-j-F*F+H*H-O*O+K*K-B*B+U*U)/(2*U-2*B):console.warn("plane normal is null vector ?!");var q={point:W,normal:IG.Math.Vector3.normalize({x:2*H-2*F,y:2*K-2*O,z:2*U-2*B})},$=a.intersectionPoint({origin:P,direction:Q},q);e.dlog("schnittkreiszentrum",$);var tt=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(g,A)),et=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub($,Z)),it=IG.Math.MathS.sqrt(tt*tt-et*et);isNaN(it)&&console.warn("physical breakdown @ ",L*IG.Math.Rad2Deg),e.dlog("schnittkreisradius",it);var at=IG.Math.Vector3.normalize(IG.Math.Vector3.crossProduct(q.normal,N));e.dlog(at);var ot=IG.Math.Vector3.add($,IG.Math.Vector3.scalarMultiply(it,at));e.dlog("tRotatedUpperRight",ot);var nt=R,rt=IG.Math.Vector3.sub(A,g),st=IG.Math.Vector3.magnitude(nt)*IG.Math.Vector3.magnitude(rt),ht=IG.Math.Vector3.innerProduct(nt,rt),pt=IG.Math.MathS.acos(ht/st);e.dlog("old baseAngle Deg ",pt*(180/Math.PI));var dt=R,mt=IG.Math.Vector3.sub(ot,Z),ut=IG.Math.Vector3.magnitude(dt)*IG.Math.Vector3.magnitude(mt),lt=IG.Math.Vector3.innerProduct(dt,mt),ct=IG.Math.MathS.acos(lt/ut),St=ct*IG.Math.Rad2Deg;e.dlog("new baseAngle Deg ",ct*IG.Math.Rad2Deg,"newbaseAngleRad:",ct);var It=a.rotatedVectorAaroundPointBbyNormalCangleRadR(g,l,N,-(ct-pt));e.dlog("detachedUpPosRaw calc",It);var ft=IG.Math.Vector3.sub(Z,It);return Object.keys(C).forEach((function(t){var e=C[t],i=a.rotatedVectorAaroundPointBbyNormalCangleRadR(e.originalpos,l,N,-(ct-pt));e.newpos=IG.Math.Vector3.add(i,ft)})),{rotation:St,positionDifference:ft,topAttached:C,baseLineDir:R}},e.calculateAngleAgainstBaseBack=function(e,i,o,n,r){var s;r||(r=t.API),s=null!=n?a.GetLocalPosition(n,i,r):t.API.GetWorldPosition(i);var h=IG.Math.Vector3.sub(s,e.topAttached[o].newpos),p=e.baseLineDir;return IG.Math.Vector3.angleBetween(h,p)*IG.Math.Rad2Deg},e.debug=!1,e}();e.FourBar=i;var a=function(){function e(){}return e.factorOfDirectionFromRayToPlane=function(t,e){var i=IG.Math.Vector3.innerProduct(e.normal,t.direction),a=-IG.Math.Vector3.innerProduct(e.point,e.normal);if(0===i)return 0===IG.Math.Vector3.innerProduct(e.normal,t.origin)+a?0:null;var o=-(IG.Math.Vector3.innerProduct(t.origin,e.normal)+a)/i;return o>=0?o:null},e.intersectionPoint=function(t,i){var a=e.factorOfDirectionFromRayToPlane(t,i);if(null===a)return null;var o=IG.Math.Vector3.scalarMultiply(a,t.direction);return IG.Math.Vector3.add(o,t.origin)},e.rotatedVectorAaroundPointBbyNormalCangleRadR=function(t,e,a,o){var n=a.x,r=a.y,s=a.z,h=Math.sin,p=Math.cos,d=1-p(o),m=h(o),u=p(o),l=[[n*n*d+u,n*r*d-s*m,n*s*d+r*m],[r*n*d+s*m,r*r*d+u,r*s*d-n*m],[s*n*d-r*m,s*r*d+n*m,s*s*d+u]],c=IG.Math.Vector3.add(e,IG.Math.Matrix3.multiplyWithVector3(IG.Math.Vector3.sub(t,e),IG.Math.Matrix3.create(l)));return i.dlog("RotateVectorAaroundPointBbyNormalCangleRadR",t,e,a,o,"--\x3e",c),c},e.GetLocalPosition=function(t,e,i){return this.GetLocalTransform(t,e,i)[0]},e.GetLocalRotation=function(t,e,i){var a=this.GetLocalTransform(t,e,i);return IG.Math.Euler.createFromQuaternion(a[1])},e.GetLocalTransform=function(e,i,a){var o=i;if(a||(a=t.API),a.IsValid(e)){if(a.IsValid(o)){if(null==a.GetParent(o))return console.warn("node has no parent!"),new Object[3]([new t.Float3,IG.Math.Quaternion.create(),new t.Float3(1,1,1)]);if(o===e)return console.warn("node is root!"),new Object[3]([new t.Float3,IG.Math.Quaternion.create(),new t.Float3(1,1,1)]);var n=new Array;for(n.push(o);o!==e;)o=a.GetParent(o),n.push(o);n.pop(),n.reverse();var r=IG.Math.Matrix4.create();n.forEach((function(t){var e,i,o=a.GetScaling(t),n={x:a.GetXRotation(t)*IG.Math.Deg2Rad,y:a.GetYRotation(t)*IG.Math.Deg2Rad,z:a.GetZRotation(t)*IG.Math.Deg2Rad};i=IG.Math.Quaternion.createFromEuler({x:n.x,y:n.y,z:n.z,order:"xyz"});var s=a.GetPosition(t);e=IG.Math.Matrix4.composeTRS(s,i,o),r=IG.Math.Matrix4.multiply(r,e)}));var s=IG.Math.Matrix4.decomposeTRS(r),h=new Array;return h.push(s.translate),h.push(s.rotation),h.push(s.scale),h}console.warn("node is not valid!",o)}else console.warn("node is not valid!",e)},e.GetRelativePosition=function(e,i,a,o){if(!o.IsValid(e)||!o.IsValid(i)||!o.IsValid(a))return console.warn("GetRelativePosition: Path not valid."),null;var n=t.Std.Util.GetLocalTransform(e,i,o),r=IG.Math.Matrix4.composeTRS(n[0],n[1],n[2]),s=IG.Math.Matrix4.getInverse(r),h=t.Std.Util.GetLocalTransform(e,a,o),p=IG.Math.Matrix4.composeTRS(h[0],h[1],h[2]),d=IG.Math.Matrix4.multiply(s,p);return IG.Math.Matrix4.decomposeTRS(d).translate},e.add=function(e,i){return new t.Float3(e.x+i.x,e.y+i.y,e.z+i.z)},e.sub=function(e,i){return new t.Float3(e.x-i.x,e.y-i.y,e.z-i.z)},e.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z},e.mag=function(t){return Math.sqrt(IG.Math.Vector3.innerProduct(t,t))},e.cross=function(e,i){return new t.Float3(e.y*i.z-e.z*i.y,e.z*i.x-e.x*i.z,e.x*i.y-e.y*i.x)},e.scale=function(e,i){return new t.Float3(e*i.x,e*i.y,e*i.z)},e.normalize=function(e){var i=IG.Math.Vector3.magnitude(e);return 0===i?null:new t.Float3(e.x/i,e.y/i,e.z/i)},e.multMat=function(e,i){return new t.Float3(e[0][0]*i.x+e[0][1]*i.y+e[0][2]*i.z,e[1][0]*i.x+e[1][1]*i.y+e[1][2]*i.z,e[2][0]*i.x+e[2][1]*i.y+e[2][2]*i.z)},e.angleBetweenRad=function(t,e){var i=IG.Math.Vector3.magnitude(t)*IG.Math.Vector3.magnitude(e),a=IG.Math.Vector3.innerProduct(t,e);return Math.acos(a/i)},e.rotationMatrix=function(t,e){var i=t,a=i.x,o=i.y,n=i.z,r=e,s=Math.sin,h=Math.cos,p=1-h(r),d=s(r),m=h(r);return[[a*a*p+m,a*o*p-n*d,a*n*p+o*d],[o*a*p+n*d,o*o*p+m,o*n*p-a*d],[n*a*p-o*d,n*o*p+a*d,n*n*p+m]]},e.DEG2RAD=Math.PI/180,e.RAD2DEG=180/Math.PI,e}();e.Util=a}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,90),e.SetupValue(t,e.Snap,0),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){var a,o;void 0===this.parameters[i]&&void 0===this.parameters[e.Minimum]&&void 0===this.parameters[e.Maximum]||("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a&&t.API.SetXRotation(this.GetComponentId(),a),void 0!==o&&t.API.SetXRotation(this.GetComponentId(),o))},a.prototype.SetStagePosition=function(i,a){var o,n,r;i.toString()===this.parameters[e.Stage].toString()&&(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum]||(o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a,Math.abs(r-o)<this.parameters[e.Snap]?r=o:Math.abs(r-n)<this.parameters[e.Snap]&&(r=n),t.API.SetXRotation(this.GetComponentId(),r)))},a.prototype.SingleTouchStart=function(e){this.nullAxis=t.API.GetInteractionData(this,e,"x",void 0).nullAxis,this.absRotation=t.API.GetXRotation(this.GetComponentId())},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetXRotation(this.GetComponentId()),o=t.API.GetInteractionData(this,e,"x",this.nullAxis);this.absRotation+=o.angle*t.API.MotionScale;var n=i?this.parameters.Snap:0;a=this.absRotation>=this.parameters.Maximum-n?this.parameters.Maximum:this.absRotation<=this.parameters.Minimum+n?this.parameters.Minimum:this.absRotation,t.API.SetXRotation(this.GetComponentId(),a),this.nullAxis=t.API.GetInteractionData(this,e,"x",void 0).nullAxis},a}(t.Core.Interactor);e.XRangeRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,1),e.SetupValue(t,e.Snap,0),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){if(void 0!==this.parameters[i]||void 0!==this.parameters[e.Minimum]||void 0!==this.parameters[e.Maximum]){var a,o,n;if("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a)(n=t.API.GetPosition(this.GetComponentId())).x=a,t.API.SetPosition(this.GetComponentId(),n);if(void 0!==o)(n=t.API.GetPosition(this.GetComponentId())).x=o,t.API.SetPosition(this.GetComponentId(),n)}},a.prototype.SetStagePosition=function(i,a){if(i.toString()===this.parameters[e.Stage].toString()&&!(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum])){var o,n,r;o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a,Math.abs(r-o)<this.parameters[e.Snap]?r=o:Math.abs(r-n)<this.parameters[e.Snap]&&(r=n);var s=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(r,s.y,s.z))}},a.prototype.SingleTouchStart=function(e){this.osCoords=t.API.GetInteractionData(this,e).point,this.startPosition=t.API.GetPosition(this.GetComponentId()).x},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(this.startPosition,a.y,a.z));var o=this.parameters.Minimum,n=this.parameters.Maximum,r=i?this.parameters.Snap:0,s=t.API.GetInteractionData(this,e).point.x-this.osCoords.x,h=i?a.x:this.startPosition+.2*s;h>=n-r?h=n:h<=o+r&&(h=o),t.API.SetPosition(this.GetComponentId(),new t.Float3(h,a.y,a.z))},a}(t.Core.Interactor);e.XRangeTranslator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,90),e.SetupValue(t,e.Raster,15),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){var a,o;void 0===this.parameters[i]&&void 0===this.parameters[e.Minimum]&&void 0===this.parameters[e.Maximum]||("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a&&t.API.SetXRotation(this.GetComponentId(),a),void 0!==o&&t.API.SetXRotation(this.GetComponentId(),o))},a.prototype.SetStagePosition=function(i,a){var o,n,r;i.toString()===this.parameters[e.Stage].toString()&&(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum]||(o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],(r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a)<o?r=o:r>n&&(r=n),t.API.SetXRotation(this.GetComponentId(),r)))},a.prototype.SingleTouchStart=function(e){this.nullAxis=t.API.GetInteractionData(this,e,"x",void 0).nullAxis,this.absRotation=t.API.GetXRotation(this.GetComponentId())},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetXRotation(this.GetComponentId()),o=t.API.GetInteractionData(this,e,"x",this.nullAxis).angle*t.API.MotionScale;this.absRotation+=o;for(var n=this.parameters.Minimum;n<=this.absRotation;)n+=this.parameters.Raster;var r=n-this.parameters.Raster,s=.5*(n+r);(a=this.absRotation>s?n:r)<this.parameters.Minimum?a=this.parameters.Minimum:a>=this.parameters.Maximum&&(a=this.parameters.Maximum),t.API.SetXRotation(this.GetComponentId(),a),this.nullAxis=t.API.GetInteractionData(this,e,"x",void 0).nullAxis},a}(t.Core.Interactor);e.XRasterRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,1),e.SetupValue(t,e.Raster,.25),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){if(void 0!==this.parameters[i]||void 0!==this.parameters[e.Minimum]||void 0!==this.parameters[e.Maximum]){var a,o,n;if("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a)(n=t.API.GetPosition(this.GetComponentId())).x=a,t.API.SetPosition(this.GetComponentId(),n);if(void 0!==o)(n=t.API.GetPosition(this.GetComponentId())).x=o,t.API.SetPosition(this.GetComponentId(),n)}},a.prototype.SetStagePosition=function(i,a){if(i.toString()===this.parameters[e.Stage].toString()&&!(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum])){var o,n,r;o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],(r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a)<o?r=o:r>n&&(r=n);var s=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(r,s.y,s.z))}},a.prototype.SingleTouchStart=function(e){this.osCoords=t.API.GetInteractionData(this,e).point,this.startPosition=t.API.GetPosition(this.GetComponentId()).x},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetPosition(this.GetComponentId()),o=this.parameters.Minimum,n=this.parameters.Maximum,r=this.parameters.Raster,s=t.API.GetInteractionData(this,e).point,h=s.x-this.osCoords.x;if(Math.abs(h)>Math.abs(r)){var p=a.x;p+=h>0?r:-r,(p=o+r*Math.round((p-o)/r))<o?p=o:p>n&&(p=n),t.API.SetPosition(this.GetComponentId(),new t.Float3(p,a.y,a.z)),this.osCoords=s}},a}(t.Core.Interactor);e.XRasterTranslator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValues(t,[0,90]),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a}return __extends(a,i),a.prototype.SetPosition=function(e){var i=this.parameters[e];void 0!==i&&t.API.SetXRotation(this.GetComponentId(),i)},a.prototype.SingleTouchStart=function(e){this.nullAxis=t.API.GetInteractionData(this,e,"x",void 0).nullAxis,this.absRotation=t.API.GetXRotation(this.GetComponentId())},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){t.API.GetXRotation(this.GetComponentId());var a=t.API.GetInteractionData(this,e,"x",this.nullAxis).angle*t.API.MotionScale;this.absRotation+=a;for(var o=this.parameters.Values[0],n=Math.abs(this.absRotation-o),r=1;r<this.parameters.Values.length;r++){var s=Math.abs(this.absRotation-this.parameters.Values[r]);s<n&&(o=this.parameters.Values[r],n=s)}t.API.SetXRotation(this.GetComponentId(),o),this.nullAxis=t.API.GetInteractionData(this,e,"x",void 0).nullAxis},a}(t.Core.Interactor);e.XValueRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValues(t,[0,1]),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a}return __extends(a,i),a.prototype.SetPosition=function(e){var i=this.parameters[e];if(void 0!==i){var a=t.API.GetPosition(this.GetComponentId());a.x=i,t.API.SetPosition(this.GetComponentId(),a)}},a.prototype.SingleTouchStart=function(e){this.osCoords=t.API.GetInteractionData(this,e).point,this.startPosition=t.API.GetPosition(this.GetComponentId()).x},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(this.startPosition,a.y,a.z));for(var o=this.parameters.Values,n=t.API.GetInteractionData(this,e).point,r=n.x-this.osCoords.x,s=a.x,h=0,p=Math.abs(s-o[h]),d=1;d<o.length;d++){var m=Math.abs(s-o[d]);m<p&&(h=d,p=m)}r>0?h<o.length-1&&h++:r<0&&h>0&&h--,s=o[h],t.API.SetPosition(this.GetComponentId(),new t.Float3(s,a.y,a.z)),this.osCoords=n},a}(t.Core.Interactor);e.XValueTranslator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,90),e.SetupValue(t,e.Snap,0),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){var a,o;void 0===this.parameters[i]&&void 0===this.parameters[e.Minimum]&&void 0===this.parameters[e.Maximum]||("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a&&t.API.SetYRotation(this.GetComponentId(),a),void 0!==o&&t.API.SetYRotation(this.GetComponentId(),o))},a.prototype.SetStagePosition=function(i,a){var o,n,r;i.toString()===this.parameters[e.Stage].toString()&&(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum]||(o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a,Math.abs(r-o)<this.parameters[e.Snap]?r=o:Math.abs(r-n)<this.parameters[e.Snap]&&(r=n),t.API.SetYRotation(this.GetComponentId(),r)))},a.prototype.SingleTouchStart=function(e){this.nullAxis=t.API.GetInteractionData(this,e,"y",void 0).nullAxis,this.absRotation=t.API.GetYRotation(this.GetComponentId())},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetYRotation(this.GetComponentId()),o=t.API.GetInteractionData(this,e,"y",this.nullAxis);this.absRotation+=o.angle*t.API.MotionScale;var n=i?this.parameters.Snap:0;a=this.absRotation>=this.parameters.Maximum-n?this.parameters.Maximum:this.absRotation<=this.parameters.Minimum+n?this.parameters.Minimum:this.absRotation,t.API.SetYRotation(this.GetComponentId(),a),this.nullAxis=t.API.GetInteractionData(this,e,"y",void 0).nullAxis},a}(t.Core.Interactor);e.YRangeRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,1),e.SetupValue(t,e.Snap,0),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){if(void 0!==this.parameters[i]||void 0!==this.parameters[e.Minimum]||void 0!==this.parameters[e.Maximum]){var a,o,n;if("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a)(n=t.API.GetPosition(this.GetComponentId())).y=a,t.API.SetPosition(this.GetComponentId(),n);if(void 0!==o)(n=t.API.GetPosition(this.GetComponentId())).y=o,t.API.SetPosition(this.GetComponentId(),n)}},a.prototype.SetStagePosition=function(i,a){if(i.toString()===this.parameters[e.Stage].toString()&&!(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum])){var o,n,r;o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a,Math.abs(r-o)<this.parameters[e.Snap]?r=o:Math.abs(r-n)<this.parameters[e.Snap]&&(r=n);var s=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(s.x,r,s.z))}},a.prototype.SingleTouchStart=function(e){this.osCoords=t.API.GetInteractionData(this,e).point,this.startPosition=t.API.GetPosition(this.GetComponentId()).y},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(a.x,this.startPosition,a.z));var o=this.parameters.Minimum,n=this.parameters.Maximum,r=i?this.parameters.Snap:0,s=t.API.GetInteractionData(this,e).point.y-this.osCoords.y,h=i?a.y:this.startPosition+.2*s;h>=n-r?h=n:h<=o+r&&(h=o),t.API.SetPosition(this.GetComponentId(),new t.Float3(a.x,h,a.z))},a}(t.Core.Interactor);e.YRangeTranslator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,90),e.SetupValue(t,e.Raster,15),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){var a,o;void 0===this.parameters[i]&&void 0===this.parameters[e.Minimum]&&void 0===this.parameters[e.Maximum]||("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a&&t.API.SetYRotation(this.GetComponentId(),a),void 0!==o&&t.API.SetYRotation(this.GetComponentId(),o))},a.prototype.SetStagePosition=function(i,a){var o,n,r;i.toString()===this.parameters[e.Stage].toString()&&(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum]||(o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],(r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a)<o?r=o:r>n&&(r=n),t.API.SetYRotation(this.GetComponentId(),r)))},a.prototype.SingleTouchStart=function(e){this.nullAxis=t.API.GetInteractionData(this,e,"y",void 0).nullAxis,this.absRotation=t.API.GetYRotation(this.GetComponentId())},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetYRotation(this.GetComponentId()),o=t.API.GetInteractionData(this,e,"y",this.nullAxis).angle*t.API.MotionScale;this.absRotation+=o;for(var n=this.parameters.Minimum;n<=this.absRotation;)n+=this.parameters.Raster;var r=n-this.parameters.Raster,s=.5*(n+r);(a=this.absRotation>s?n:r)<this.parameters.Minimum?a=this.parameters.Minimum:a>=this.parameters.Maximum&&(a=this.parameters.Maximum),t.API.SetYRotation(this.GetComponentId(),a),this.nullAxis=t.API.GetInteractionData(this,e,"y",void 0).nullAxis},a}(t.Core.Interactor);e.YRasterRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,1),e.SetupValue(t,e.Raster,.25),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){if(void 0!==this.parameters[i]||void 0!==this.parameters[e.Minimum]||void 0!==this.parameters[e.Maximum]){var a,o,n;if("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a)(n=t.API.GetPosition(this.GetComponentId())).y=a,t.API.SetPosition(this.GetComponentId(),n);if(void 0!==o)(n=t.API.GetPosition(this.GetComponentId())).y=o,t.API.SetPosition(this.GetComponentId(),n)}},a.prototype.SetStagePosition=function(i,a){if(i.toString()===this.parameters[e.Stage].toString()&&!(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum])){var o,n,r;o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],(r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a)<o?r=o:r>n&&(r=n);var s=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(s.x,r,s.z))}},a.prototype.SingleTouchStart=function(e){this.osCoords=t.API.GetInteractionData(this,e).point,this.startPosition=t.API.GetPosition(this.GetComponentId()).y},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetPosition(this.GetComponentId()),o=this.parameters.Minimum,n=this.parameters.Maximum,r=this.parameters.Raster,s=t.API.GetInteractionData(this,e).point,h=s.y-this.osCoords.y;if(Math.abs(h)>Math.abs(r)){var p=a.y;p+=h>0?r:-r,(p=o+r*Math.round((p-o)/r))<o?p=o:p>n&&(p=n),t.API.SetPosition(this.GetComponentId(),new t.Float3(a.x,p,a.z)),this.osCoords=s}},a}(t.Core.Interactor);e.YRasterTranslator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValues(t,[0,90]),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a}return __extends(a,i),a.prototype.SetPosition=function(e){var i=this.parameters[e];void 0!==i&&t.API.SetYRotation(this.GetComponentId(),i)},a.prototype.SingleTouchStart=function(e){this.nullAxis=t.API.GetInteractionData(this,e,"y",void 0).nullAxis,this.absRotation=t.API.GetYRotation(this.GetComponentId())},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){t.API.GetYRotation(this.GetComponentId());var a=t.API.GetInteractionData(this,e,"y",this.nullAxis).angle*t.API.MotionScale;this.absRotation+=a;for(var o=this.parameters.Values[0],n=Math.abs(this.absRotation-o),r=1;r<this.parameters.Values.length;r++){var s=Math.abs(this.absRotation-this.parameters.Values[r]);s<n&&(o=this.parameters.Values[r],n=s)}t.API.SetYRotation(this.GetComponentId(),o),this.nullAxis=t.API.GetInteractionData(this,e,"y",void 0).nullAxis},a}(t.Core.Interactor);e.YValueRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValues(t,[0,1]),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a}return __extends(a,i),a.prototype.SetPosition=function(e){var i=this.parameters[e];if(void 0!==i){var a=t.API.GetPosition(this.GetComponentId());a.y=i,t.API.SetPosition(this.GetComponentId(),a)}},a.prototype.SingleTouchStart=function(e){this.osCoords=t.API.GetInteractionData(this,e).point,this.startPosition=t.API.GetPosition(this.GetComponentId()).y},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(a.x,this.startPosition,a.z));for(var o=this.parameters.Values,n=t.API.GetInteractionData(this,e).point,r=n.y-this.osCoords.y,s=a.y,h=0,p=Math.abs(s-o[h]),d=1;d<o.length;d++){var m=Math.abs(s-o[d]);m<p&&(h=d,p=m)}r>0?h<o.length-1&&h++:r<0&&h>0&&h--,s=o[h],t.API.SetPosition(this.GetComponentId(),new t.Float3(a.x,s,a.z)),this.osCoords=n},a}(t.Core.Interactor);e.YValueTranslator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,90),e.SetupValue(t,e.Snap,0),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){var a,o;void 0===this.parameters[i]&&void 0===this.parameters[e.Minimum]&&void 0===this.parameters[e.Maximum]||("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a&&t.API.SetZRotation(this.GetComponentId(),a),void 0!==o&&t.API.SetZRotation(this.GetComponentId(),o))},a.prototype.SetStagePosition=function(i,a){var o,n,r;i.toString()===this.parameters[e.Stage].toString()&&(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum]||(o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a,Math.abs(r-o)<this.parameters[e.Snap]?r=o:Math.abs(r-n)<this.parameters[e.Snap]&&(r=n),t.API.SetZRotation(this.GetComponentId(),r)))},a.prototype.SingleTouchStart=function(e){this.nullAxis=t.API.GetInteractionData(this,e,"z",void 0).nullAxis,this.absRotation=t.API.GetZRotation(this.GetComponentId())},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetZRotation(this.GetComponentId()),o=t.API.GetInteractionData(this,e,"z",this.nullAxis);this.absRotation+=o.angle*t.API.MotionScale;var n=i?this.parameters.Snap:0;a=this.absRotation>=this.parameters.Maximum-n?this.parameters.Maximum:this.absRotation<=this.parameters.Minimum+n?this.parameters.Minimum:this.absRotation,t.API.SetZRotation(this.GetComponentId(),a),this.nullAxis=t.API.GetInteractionData(this,e,"z",void 0).nullAxis},a}(t.Core.Interactor);e.ZRangeRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,1),e.SetupValue(t,e.Snap,0),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){if(void 0!==this.parameters[i]||void 0!==this.parameters[e.Minimum]||void 0!==this.parameters[e.Maximum]){var a,o,n;if("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a)(n=t.API.GetPosition(this.GetComponentId())).z=a,t.API.SetPosition(this.GetComponentId(),n);if(void 0!==o)(n=t.API.GetPosition(this.GetComponentId())).z=o,t.API.SetPosition(this.GetComponentId(),n)}},a.prototype.SetStagePosition=function(i,a){if(i.toString()===this.parameters[e.Stage].toString()&&!(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum])){var o,n,r;o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a,Math.abs(r-o)<this.parameters[e.Snap]?r=o:Math.abs(r-n)<this.parameters[e.Snap]&&(r=n);var s=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(s.x,s.y,r))}},a.prototype.SingleTouchStart=function(e){this.osCoords=t.API.GetInteractionData(this,e).point,this.startPosition=t.API.GetPosition(this.GetComponentId()).z},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(a.x,a.y,this.startPosition));var o=this.parameters.Minimum,n=this.parameters.Maximum,r=i?this.parameters.Snap:0,s=t.API.GetInteractionData(this,e).point.z-this.osCoords.z,h=i?a.z:this.startPosition+.2*s;h>=n-r?h=n:h<=o+r&&(h=o),t.API.SetPosition(this.GetComponentId(),new t.Float3(a.x,a.y,h))},a}(t.Core.Interactor);e.ZRangeTranslator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,90),e.SetupValue(t,e.Raster,15),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){var a,o;void 0===this.parameters[i]&&void 0===this.parameters[e.Minimum]&&void 0===this.parameters[e.Maximum]||("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a&&t.API.SetZRotation(this.GetComponentId(),a),void 0!==o&&t.API.SetZRotation(this.GetComponentId(),o))},a.prototype.SetStagePosition=function(i,a){var o,n,r;i.toString()===this.parameters[e.Stage].toString()&&(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum]||(o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],(r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a)<o?r=o:r>n&&(r=n),t.API.SetZRotation(this.GetComponentId(),r)))},a.prototype.SingleTouchStart=function(e){this.nullAxis=t.API.GetInteractionData(this,e,"z",void 0).nullAxis,this.absRotation=t.API.GetZRotation(this.GetComponentId())},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){if(!i){var a=t.API.GetZRotation(this.GetComponentId()),o=t.API.GetInteractionData(this,e,"z",this.nullAxis).angle*t.API.MotionScale;this.absRotation+=o;for(var n=this.parameters.Minimum;n<=this.absRotation;)n+=this.parameters.Raster;var r=n-this.parameters.Raster,s=.5*(n+r);(a=this.absRotation>s?n:r)<this.parameters.Minimum?a=this.parameters.Minimum:a>=this.parameters.Maximum&&(a=this.parameters.Maximum),t.API.SetZRotation(this.GetComponentId(),a),this.nullAxis=t.API.GetInteractionData(this,e,"z",void 0).nullAxis}},a}(t.Core.Interactor);e.ZRasterRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,e.Minimum,0),e.SetupValue(t,e.Maximum,1),e.SetupValue(t,e.Raster,.25),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a.bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(i){if(void 0!==this.parameters[i]||void 0!==this.parameters[e.Minimum]||void 0!==this.parameters[e.Maximum]){var a,o,n;if("Start"===i&&(a=void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]),"End"===i&&(o=void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]),void 0!==a)(n=t.API.GetPosition(this.GetComponentId())).z=a,t.API.SetPosition(this.GetComponentId(),n);if(void 0!==o)(n=t.API.GetPosition(this.GetComponentId())).z=o,t.API.SetPosition(this.GetComponentId(),n)}},a.prototype.SetStagePosition=function(i,a){if(i.toString()===this.parameters[e.Stage].toString()&&!(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters[e.Minimum]||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters[e.Maximum])){var o,n,r;o=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters[e.Minimum]:this.parameters[e.Start]:this.parameters[e.StageStart],n=void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters[e.Maximum]:this.parameters[e.End]:this.parameters[e.StageEnd],(r=this.bAutoReset?a<.5?o+(n-o)*a*2:o+(n-o)*(1-a)*2:o+(n-o)*a)<o?r=o:r>n&&(r=n);var s=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(s.x,s.y,r))}},a.prototype.SingleTouchStart=function(e){this.osCoords=t.API.GetInteractionData(this,e).point,this.startPosition=t.API.GetPosition(this.GetComponentId()).z},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetPosition(this.GetComponentId()),o=this.parameters.Minimum,n=this.parameters.Maximum,r=this.parameters.Raster,s=t.API.GetInteractionData(this,e).point,h=s.z-this.osCoords.z;if(Math.abs(h)>Math.abs(r)){var p=a.z;p+=h>0?r:-r,(p=o+r*Math.round((p-o)/r))<o?p=o:p>n&&(p=n),t.API.SetPosition(this.GetComponentId(),new t.Float3(a.x,a.y,p)),this.osCoords=s}},a}(t.Core.Interactor);e.ZRasterTranslator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValues(t,[0,90]),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a}return __extends(a,i),a.prototype.SetPosition=function(e){var i=this.parameters[e];void 0!==i&&t.API.SetZRotation(this.GetComponentId(),i)},a.prototype.SingleTouchStart=function(e){this.nullAxis=t.API.GetInteractionData(this,e,"z",void 0).nullAxis,this.absRotation=t.API.GetZRotation(this.GetComponentId())},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){this.ApplyMotion(t,!0)},a.prototype.ApplyMotion=function(e,i){t.API.GetZRotation(this.GetComponentId());var a=t.API.GetInteractionData(this,e,"z",this.nullAxis).angle*t.API.MotionScale;this.absRotation+=a;for(var o=this.parameters.Values[0],n=Math.abs(this.absRotation-o),r=1;r<this.parameters.Values.length;r++){var s=Math.abs(this.absRotation-this.parameters.Values[r]);s<n&&(o=this.parameters.Values[r],n=s)}t.API.SetZRotation(this.GetComponentId(),o),this.nullAxis=t.API.GetInteractionData(this,e,"z",void 0).nullAxis},a}(t.Core.Interactor);e.ZValueRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValues(t,[0,1]),e.SetupAnimation(t),(a=i.call(this,t)||this).parameters.Manual=!0,a}return __extends(a,i),a.prototype.SetPosition=function(e){var i=this.parameters[e];if(void 0!==i){var a=t.API.GetPosition(this.GetComponentId());a.z=i,t.API.SetPosition(this.GetComponentId(),a)}},a.prototype.SingleTouchStart=function(e){this.osCoords=t.API.GetInteractionData(this,e).point,this.startPosition=t.API.GetPosition(this.GetComponentId()).z},a.prototype.SingleTouchMotion=function(t){this.ApplyMotion(t,!1)},a.prototype.SingleTouchEnd=function(t){},a.prototype.ApplyMotion=function(e,i){var a=t.API.GetPosition(this.GetComponentId());t.API.SetPosition(this.GetComponentId(),new t.Float3(a.x,a.y,this.startPosition));for(var o=this.parameters.Values,n=t.API.GetInteractionData(this,e).point,r=n.z-this.osCoords.z,s=a.z,h=0,p=Math.abs(s-o[h]),d=1;d<o.length;d++){var m=Math.abs(s-o[d]);m<p&&(h=d,p=m)}r>0?h<o.length-1&&h++:r<0&&h>0&&h--,s=o[h],t.API.SetPosition(this.GetComponentId(),new t.Float3(a.x,a.y,s)),this.osCoords=n},a}(t.Core.Interactor);e.ZValueTranslator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){return e.SetupValue(t,e.StartValue,0),e.SetupValue(t,e.EndValue,0),e.SetupValue(t,e.StartTime,0),e.SetupValue(t,e.EndTime,1),e.SetupAnimation(t),i.call(this,t)||this}return __extends(a,i),a.prototype.SetPosition=function(t){},a.prototype.ApplyValue=function(i){var a,o=this.GetComponentId();switch(this.parameters[e.Mode]){case e.XPosition:a=t.API.GetPosition(o),t.API.SetPosition(o,new t.Float3(i,a.y,a.z));break;case e.YPosition:a=t.API.GetPosition(o),t.API.SetPosition(o,new t.Float3(a.x,i,a.z));break;case e.ZPosition:a=t.API.GetPosition(o),t.API.SetPosition(o,new t.Float3(a.x,a.y,i));break;case e.XRotation:t.API.SetXRotation(o,i);break;case e.YRotation:t.API.SetYRotation(o,i);break;case e.ZRotation:t.API.SetZRotation(o,i)}},a.prototype.SetStagePosition=function(t,i){var a=e.GetValue(this.parameters,e.Stage),o=e.GetValue(this.parameters,e.StartValue),n=e.GetValue(this.parameters,e.EndValue);if(t<a)this.ApplyValue(o);else if(t>a)this.ApplyValue(n);else{var r=e.GetValue[(this.parameters,e.StartTime)],s=e.GetValue[(this.parameters,e.EndTime)];if(i<r)this.ApplyValue(o);else if(i>s)this.ApplyValue(n);else{var h=(n-o)/(s-r);this.ApplyValue(n-(s-i)*h)}}},a}(t.Core.Interactor);e.BasicLinearInteractor=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(){function e(e,i){if(this.IGX_API=i||t.API,"object"==typeof e){if(this._ChainList=new Array,Array.isArray(e))for(var a=0,o=e;a<o.length;a++){var n=s=o[a];if(!n.Target)return void console.warn("IGX.Std.KinematicsInteractor: Subchain has no target!");if(!n.Tolerance)return void console.warn("IGX.Std.KinematicsInteractor: Subchain has no tolerance!");if(!n.GeometryBase)return void console.warn("IGX.Std.KinematicsInteractor: Subchain has no GeometryBase defined!");if(n.Parent&&"string"==typeof n.Parent)"root"===n.Parent&&(this._MultiTargetChain=new Array,this._ChainList.push(this._MultiTargetChain)),this._MultiTargetChain.push(n);else{var r=new Array;r.push(n),this._ChainList.push(r)}}else{if(this._Chain=e,!this._Chain.Target)return void console.warn("IGX.Std.KinematicsInteractor: Chain has no target!");if(!this._Chain.Tolerance)return void console.warn("IGX.Std.KinematicsInteractor: Chain has no tolerance!");if(!this._Chain.GeometryBase)return void console.warn("IGX.Std.KinematicsInteractor: Interactor has no GeometryBase defined!");var s;(s=new Array).push(this._Chain),this._ChainList.push(s)}this._MaxIteration=3}else console.warn("IGX.Std.KinematicsInteractor: Not defined.")}return e.prototype.KinematicSolver=function(t,e,i,a){this._ComponentId=t;for(var o=this._ComponentId.split("_")[0]+"__",n=this._ComponentId+".",r=0;r<this._MaxIteration;r++)for(var s=0,h=this._ChainList;s<h.length;s++){var p=h[s];if(1===p.length)this._Chain=this.buildDataStructure(p[0],e,i,n,o,a),this.singleTargetKinematics(n,a);else{this._MultiTargetChain=p;for(var d=0;d<this._MultiTargetChain.length;d++){var m=this._MultiTargetChain[d];m=this.buildDataStructure(m,e,i,n,o,a)}this.multiTargetKinematics(n,a)}}},e.prototype.buildDataStructure=function(e,i,a,o,n,r){var s=this;if(e.Joints.length>0&&e.Joints[0].HeadX){e._Origin=e.Joints[0].HeadX;for(var h=e._Origin.split("."),p="",d=0;d<h.length-1;d++)p+=h[d],d+1<h.length-1&&(p+=".");e._ChainPath=p,e._RootId=""===p?this._ComponentId:this._ComponentId+"."+p;var m=[],u=0,l=/param(\d+)/i;e.Joints.forEach((function(n,h){var p,d,c,S,I,f,v,g,P,A,G,y,M,C,R,_=!1;n.Name?d=(R=n.Name.match(l))?i[parseInt(R[1])-1]:n.Name:d="b".concat(h);n.HeadX?c=(R=n.HeadX.match(l))?i[parseInt(R[1])-1]:n.HeadX:console.warn("IGX.Std.KinematicsInteractor: Joint",d,"is missing its Head (X)!");n.HeadY?S=(R=n.HeadY.match(l))?i[parseInt(R[1])-1]:n.HeadY:console.warn("IGX.Std.KinematicsInteractor: Joint",d,"is missing its Head (Y)!");n.HeadZ?I=(R=n.HeadZ.match(l))?i[parseInt(R[1])-1]:n.HeadZ:console.warn("IGX.Std.KinematicsInteractor: Joint",d,"is missing its Head (Z)!");n.Tail?(f=(R=n.Tail.match(l))?i[parseInt(R[1])-1]:n.Tail,s.isParent(I,f)||console.warn("IGX.Std.KinematicsInteractor: Joint",d,"- Tail isn't child of Head!")):console.warn("IGX.Std.KinematicsInteractor: Joint",d,"is missing its Tail!");C=n.FollowJointNode,A=n.LimitLeft,G=n.LimitRight,y=n.LimitUp,M=n.LimitDown;var b=o+c,w=o+S,x=o+I,V=o+f;a.forEach((function(t){b!==t&&w!==t&&x!==t&&V!==t||(_=!0)})),g=t.Std.Util.GetLocalPosition(e._RootId,o+c,r),P=t.Std.Util.GetLocalPosition(e._RootId,o+f,r),v=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(g,P)),u+=v,p={Name:d,HeadX:c,HeadY:S,HeadZ:I,Tail:f,FollowJointNode:C,LimitLeft:A,LimitRight:G,LimitUp:y,LimitDown:M,_Length:v,_HeadPos:g,_TailPos:P,_Blocked:_},m.push(p)})),e.Joints=m;var c=e.Target.match(l);if(c&&(e.Target=i[parseInt(c[1])-1]),r.IsValid(o+e._Origin)){if(e._OriginPos=t.Std.Util.GetLocalPosition(e._RootId,o+e._Origin,r),r.IsValid(n+e.Target))e._TargetPos=t.Std.Util.GetRelativePosition(n+".",e._RootId,n+e.Target,r);else{if("subbase"!==e.Target)return void console.warn("Target path",e.Target,"not valid.");e._TargetPos=e.Joints[e.Joints.length-1]._TailPos}return e._TotalLength=u,"x"!==e.GeometryBase&&"y"!==e.GeometryBase&&"z"!==e.GeometryBase&&(console.warn('GeometryBase param received not allowed value! Only "x", "y" and "z" are allowed! Returning to default value ("z")'),e.GeometryBase="z"),"y"===e.GeometryBase&&(console.warn("GeometryBase = y not implemented yet. Switching to z now."),e.GeometryBase="z"),e}console.warn("Origin path",e._Origin,"not valid.")}else console.warn("IGX.Std.KinematicsInteractor: Chain has no defined joints!")},e.prototype.isParent=function(t,e){return 0===e.indexOf(t)},e.prototype.getGeometryBase=function(t){var e=this._Chain,i=e.Joints[t],a=e.GeometryBase;return void 0!==i.GeometryBase&&(a=i.GeometryBase),a},e.prototype.getBoneEuler=function(t,e,i){var a=IG.Math.Quaternion.lookAt(e,i),o=IG.Math.Euler.createFromQuaternion(a);return"x"!==t||o.x!==Math.PI&&o.x!==-Math.PI?"z"!==t||o.z!==Math.PI&&o.z!==-Math.PI||(o.z=0,o.x*=-1):(o.x=0,o.z*=-1),o},e.prototype.isConstraintActive=function(t){var e=this._Chain.Joints[t];return void 0!==e.LimitLeft&&void 0!==e.LimitRight&&void 0!==e.LimitUp&&void 0!==e.LimitDown},e.prototype.getChainLevel=function(t){if(!t._ParentChain||"root"===t.Parent)return t._Level=0,0;var e=this.getChainLevel(t._ParentChain)+1;return t._Level=e,e},e.prototype.getEndEffectors=function(t){var e={};return this._MultiTargetChainStructure[t].forEach((function(t){e[t.Parent]||(e[t.Parent]=new Array),e[t.Parent].push(t)})),e},e.prototype.getJoint=function(t){for(var e=0,i=this._ChainList;e<i.length;e++)for(var a=0,o=i[e];a<o.length;a++)for(var n=0,r=o[a].Joints;n<r.length;n++){var s=r[n];if(0===t.indexOf(s.HeadX))return s}return console.warn("IGX.Std.KinematicsInteractor: Couldn't find follow joint",t),null},e.prototype.isFollowingJoint=function(t){var e=this._Chain.Joints[t];return!(!e.FollowJointNode||null===this.getJoint(e.FollowJointNode))},e.prototype.singleTargetKinematics=function(t,e){this.forward(e),this.solve(e),this.draw(t,e)},e.prototype.multiTargetKinematics=function(t,e){for(var i=this,a=this._MultiTargetChain[0],o=0,n=this._MultiTargetChain;o<n.length;o++){if(!(f=n[o]).Parent)return void console.warn("IGX.Std.KinematicsInteractor: A chain has no set Root param! (multi target kinematics)");if("root"===f.Parent)a=f;else{for(var r=0;r<this._MultiTargetChain.length;r++)if(f._ChainPath!==this._MultiTargetChain[r]._ChainPath&&f.Parent===this._MultiTargetChain[r]._ChainPath){f._ParentChain=this._MultiTargetChain[r];break}if(!f._ParentChain)return void console.warn("Couldn't find parent for kinematic chain",f._ChainPath)}}this._MultiTargetChain.forEach((function(t){t._Level||(t._Level=i.getChainLevel(t))})),this._MultiTargetChainStructure={};var s=0;this._MultiTargetChain.forEach((function(t){i._MultiTargetChainStructure[t._Level]||(i._MultiTargetChainStructure[t._Level]=new Array),i._MultiTargetChainStructure[t._Level].push(t),t._Level>s&&(s=t._Level)}));var h=!0,p=0,d=10;for(null!=a.MaxIterations&&(d=a.MaxIterations);h;){for(var m=s;m>0;m--)if(this._MultiTargetChainStructure.hasOwnProperty(m)){var u=this.getEndEffectors(m);for(var l in u)if(u.hasOwnProperty(l)){var c=u[l];this.multiTargetSolve(c,m,e)}}for(var S=0,I=this._MultiTargetChain;S<I.length;S++){var f,v=(f=I[S]).Joints[f.Joints.length-1]._TailPos;if(!(IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(v,f._TargetPos))<f.Tolerance)){h=!0;break}h=!1}if(++p>d)break}this._MultiTargetChain.forEach((function(a){i._Chain=a,i.draw(t,e)}))},e.prototype.multiTargetSolve=function(t,e,i){for(var a=0;a<t.length;a++){var o=t[a];this._Chain=o,this.backward(i)}var n,r=this.solveCentroid(t,i);this._Chain=this._Chain._ParentChain;var s=!1;for(a=0;a<this._Chain.Joints.length;a++){if(!this._Chain.Joints[a]._Blocked){s=!1;break}s=!0}if(s)n=r;else{var h=r;this._Chain._TargetPos=h,this.forward(i),this.solve(i)}var p=this._Chain;if(e>1&&"root"!==p.Parent){var d=this.getEndEffectors(p._Level);this.multiTargetSolve(d[p.Parent],p._Level,i)}n=p.Joints[p.Joints.length-1]._TailPos;for(a=0;a<t.length;a++){o=t[a];this._Chain=o,this._Chain._OriginPos=n,this.forward(i)}},e.prototype.draw=function(t,e){var i=this;this._Chain.Joints.forEach((function(a,o){e.SetPosition(t+a.HeadX,a._HeadPos);var n=i.getGeometryBase(o),r=i.getBoneEuler(n,a._HeadPos,a._TailPos),s=r.x*IG.Math.Rad2Deg,h=r.y*IG.Math.Rad2Deg,p=r.z*IG.Math.Rad2Deg;e.SetXRotation(t+a.HeadX,s),e.SetYRotation(t+a.HeadY,h),e.SetZRotation(t+a.HeadZ,p)}))},e.prototype.solveCentroid=function(t,e){var i=new IG.Math.Vector3(0,0,0);t.forEach((function(t){i=IG.Math.Vector3.add(i,t.Joints[0]._HeadPos)})),i=IG.Math.Vector3.scalarMultiply(1/t.length,i);for(var a=0;a<t.length;a++){var o=t[a];if(this._Chain=o,IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(i,this._Chain._TargetPos))>this._Chain._TotalLength){this._Chain=this._Chain._ParentChain,this._Chain._TargetPos=i,this.forward(e),this.solve(e),i=this._Chain.Joints[this._Chain.Joints.length-1]._TailPos,this._Chain=o,this._Chain._OriginPos=i,this.forward(e),this.solve(e);var n=IG.Math.Vector3.sub(this._Chain._TargetPos,this._Chain.Joints[this._Chain.Joints.length-1]._TailPos);i=IG.Math.Vector3.add(i,n),this.backward(e)}}return i},e.prototype.solve=function(t){var e=this._Chain;if(IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(e._OriginPos,e._TargetPos))>e._TotalLength)for(var i=0;i<e.Joints.length;i++){var a=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(e._TargetPos,e.Joints[i]._HeadPos)),o=e.Joints[i]._Length/a,n=IG.Math.Vector3.add(IG.Math.Vector3.scalarMultiply(1-o,e.Joints[i]._HeadPos),IG.Math.Vector3.scalarMultiply(o,e._TargetPos));e.Joints[i]._TailPos=n,e.Joints[i+1]&&(e.Joints[i+1]._HeadPos=n)}else{var r=0,s=20;null!=e.MaxIterations&&(s=e.MaxIterations);var h=e.Joints[e.Joints.length-1]._TailPos;for(a=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(h,e._TargetPos));a>e.Tolerance&&(this.backward(t),this.forward(t),a=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(h,e._TargetPos)),!(++r>s)););}},e.prototype.backward=function(e){for(var i=this._Chain,a=i.Joints.length-1;a>=0;a--){var o=i.Joints[a];if(!o._Blocked){a===i.Joints.length-1?o._TailPos=i._TargetPos:o._TailPos=i.Joints[a+1]._HeadPos;var n=o._HeadPos;if(this.isFollowingJoint(a)){this._ComponentId.split("_")[0];var r=this._ComponentId+".";n=t.Std.Util.GetRelativePosition(this._ComponentId,i._RootId,r+o.FollowJointNode,e)}var s=IG.Math.Vector3.sub(o._TailPos,n),h=IG.Math.Vector3.magnitude(s),p=o._Length/h,d=IG.Math.Vector3.add(IG.Math.Vector3.scalarMultiply(1-p,o._TailPos),IG.Math.Vector3.scalarMultiply(p,n));o._HeadPos=d}}},e.prototype.forward=function(e){for(var i=this._Chain,a=0;a<i.Joints.length;a++){var o=i.Joints[a];if(!o._Blocked){o._HeadPos=0===a?i._OriginPos:i.Joints[a-1]._TailPos;var n=o._TailPos;if(a+1<i.Joints.length&&this.isFollowingJoint(a+1)){this._ComponentId.split("_")[0];var r=this._ComponentId+".";n=t.Std.Util.GetRelativePosition(this._ComponentId,i._RootId,r+i.Joints[a+1].FollowJointNode,e)}var s=IG.Math.Vector3.sub(n,o._HeadPos),h=IG.Math.Vector3.magnitude(s),p=o._Length/h,d=IG.Math.Vector3.add(IG.Math.Vector3.scalarMultiply(1-p,o._HeadPos),IG.Math.Vector3.scalarMultiply(p,n));if(this.isConstraintActive(a)){var m=IG.Math.Vector3.normalize(s);d=IG.Math.Vector3.add(o._HeadPos,this.constrain(IG.Math.Vector3.sub(d,o._HeadPos),m,a))}o._TailPos=d}}},e.prototype.constrain=function(t,e,i){var a=this._Chain.Joints[i],o=this.getGeometryBase(i),n=this.getBoneEuler(o,a._HeadPos,IG.Math.Vector3.add(a._HeadPos,e)),r=n.x*IG.Math.Rad2Deg,s=n.y*IG.Math.Rad2Deg,h=n.z*IG.Math.Rad2Deg;"x"===o?(s>a.LimitLeft?s=a.LimitLeft:s<-a.LimitRight&&(s=-a.LimitRight),h>a.LimitUp?h=a.LimitUp:h<-a.LimitDown&&(h=-a.LimitDown)):"z"===o&&(s>a.LimitLeft?s=a.LimitLeft:s<-a.LimitRight&&(s=-a.LimitRight),r>a.LimitDown?r=a.LimitDown:r<-a.LimitUp&&(r=-a.LimitUp));var p=r*IG.Math.Deg2Rad-n.x,d=s*IG.Math.Deg2Rad-n.y,m=h*IG.Math.Deg2Rad-n.z,u=0,l=IG.Math.Matrix4.create();if(IG.Math.isCloseTo(p,0,1e-5)?IG.Math.isCloseTo(d,0,1e-5)?IG.Math.isCloseTo(m,0,1e-5)||(u=m,l=IG.Math.Matrix4.getZRotationMatrix(u)):(u=d,l=IG.Math.Matrix4.getYRotationMatrix(u)):(u=p,l=IG.Math.Matrix4.getXRotationMatrix(u)),0!==u){var c=new IG.Math.Vector3(0,0,0);return c=IG.Math.Vector3.multiplyWithMatrix4Right(t,l),this.constrain(c,IG.Math.Vector3.normalize(c),i)}return t},e}();e.KinematicsInteractor=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(){function e(t,e,i,a,o){this.rootId=t,this.stepSize=e,this.subNodes=i,this.animation=a,this.interactorParams=o,this.date=0,this.steps=1/e,this.cachedScenes=[],this.date=Date.now()}return e.prototype.initialize=function(t){this.cachedScenes=[t]},e.prototype.debugInfo=function(){console.log("stepSize",this.stepSize,this.steps),console.log("cachedOnes:",this.cachedScenes)},e.prototype.getStepSize=function(){return this.stepSize},e.prototype.getCache=function(){return this.cachedScenes},e.prototype.setCache=function(t,e){var i=e;if(t.toString().split(".")[1])console.warn("invalid array index");else if(this.cachedScenes[t]=i,t>0&&this.cachedScenes[0])for(var a in e)this.cachedScenes[0][a].activedeformation=this.cachedScenes[0][a].activedeformation||e[a].activedeformation},e.prototype.clearCache=function(){this.cachedScenes=[this.cachedScenes[0]]},e.prototype.interpolate=function(e){var i=Math.floor(e*this.steps),a=Math.ceil(e*this.steps),o=e*this.steps,n=this.cachedScenes[i],r=this.cachedScenes[a];if(i===a)return n;var s=function(t,e,i,a,o){return e===a?e:e+(a-e)/(i-t)*(o-t)},h=function(t,e,i,a,o){if(e===a)return e;for(;e<0;)e+=360;for(;a<0;)a+=360;for(;e>360;)e-=360;for(;a>360;)a-=360;if(e<a){var n=Math.abs(a-e);Math.abs(a-(e+360))<n&&(e+=360)}else{n=Math.abs(e-a);Math.abs(e-(a+360))<n&&(a+=360)}return e+(a-e)/(i-t)*(o-t)},p={};for(var d in n){var m=n[d],u=r[d],l=s(i,m.position.x,a,u.position.x,o),c=s(i,m.position.y,a,u.position.y,o),S=s(i,m.position.z,a,u.position.z,o),I=s(i,m.scaling.x,a,u.scaling.x,o),f=s(i,m.scaling.y,a,u.scaling.y,o),v=s(i,m.scaling.z,a,u.scaling.z,o),g=h(i,m.rotation[0],a,u.rotation[0],o),P=h(i,m.rotation[1],a,u.rotation[1],o),A=h(i,m.rotation[2],a,u.rotation[2],o);p[d]={position:new t.Float3(l,c,S),scaling:new t.Float3(I,f,v),rotation:[g,P,A],visibility:n[d].visibility},(m.activedeformation||u.activedeformation)&&(p[d].deformation=s(i,m.deformation,a,u.deformation,o),p[d].activedeformation=!0)}return p},e}();e.Cache=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(IGX){var Std;(function(Std){var defaultState={Position:{X:0,Y:0,Z:0},Rotation:{X:0,Y:0,Z:0},Scaling:{X:1,Y:1,Z:1},Deformation:0},createDefaultInjectedAnimationState=function(t,e){var i=__assign(__assign({},t),{Position:__assign({},t.Position),Rotation:__assign({},t.Rotation),Scaling:__assign({},t.Scaling)});for(var a in e){for(var o=a.split("."),n=i,r=defaultState,s=0;s<o.length-1;s++){var h=o[s];n=n[h],r&&(r=r[h])}var p=o[o.length-1];(void 0===n[p]||null===n[p]&&r)&&(n[p]=r[p])}return i},AnimationInteractor=function(_super){function AnimationInteractor(t){var e=this;Std.SetupValue(t,Std.Start,0),Std.SetupValue(t,Std.End,1),Std.SetupAnimation(t),(e=_super.call(this,t)||this).d=Date.now(),t.DebugLevel&&(e.Debug=!0,console.log("AnimationInteractor parameters",t,e.d)),e.useCache=Boolean(t.Record),e.stepSize=.1,e.nodesToBeCached=[],e.absoluteNodesToBeCached=[],e.IGX_API=new Std.ApiConnection(e.Debug),e.IGX_API.setUseShadow(e.useCache),e.useDebugCache=!1,e.debugapi=new Std.ApiConnection(e.Debug),e.debugapi.setUseShadow(!0),e.Debug&&console.log("animation parameters: usedDebugCache",e.useDebugCache,"useCache",e.useCache);var i=e.PrepAnimation(t.Animation);if(e.animation=i.Animation,e.kinematics=i.Kinematics,e.parameters.BackwardAnimation){var a=e.PrepAnimation(t.BackwardAnimation);e.backwardAnimation=a.Animation,e.backwardKinematics=a.Kinematics}e.params=new Array(AnimationInteractor.PARAM_COUNT);for(var o=0;o<AnimationInteractor.PARAM_COUNT;o++){e.params[o]=null;var n=t["Param"+(o+1)];n&&(n="string"!=typeof n?n.toString():n,e.params[o]=n)}return e.Debug&&(window.AInteractor=e),e}return __extends(AnimationInteractor,_super),AnimationInteractor.prototype.setUseCache=function(t){this.useCache=t},AnimationInteractor.prototype.PrepAnimation=function(paramsAnimation){var _this=this;if(this.Debug&&console.log("in PrepAnimation()",paramsAnimation),"string"==typeof paramsAnimation){try{paramsAnimation=eval(paramsAnimation)}catch(t){throw new Error('Could not create animation "'.concat(paramsAnimation,'": ').concat(String(t)))}this.lastPositionForIntermediateCalculationOnly=0;var tAnimations_1=[];paramsAnimation.Animations.forEach((function(animation){var usedProperties={};for(var timeString in animation.States){var state=animation.States[timeString];for(var key in state){var value=state[key];if("object"==typeof value)for(var subKey in value)usedProperties["".concat(key,".").concat(subKey)]=!0;else usedProperties[key]=!0}}var tStates=[],tLastTimeString,tLastTime;for(var tTimeString in animation.States){var tTime=eval(tTimeString);tLastTimeString?tStates.push({time:tTime,period:tTime-tLastTime,state1:createDefaultInjectedAnimationState(animation.States[tLastTimeString],usedProperties),state2:createDefaultInjectedAnimationState(animation.States[tTimeString],usedProperties)}):tStates.push({time:tTime,state1:createDefaultInjectedAnimationState(animation.States[tTimeString],usedProperties)}),tLastTimeString=tTimeString,tLastTime=tTime}tStates.push({time:9999,state1:createDefaultInjectedAnimationState(animation.States[tLastTimeString],usedProperties)}),void 0===animation.Path&&(animation.Path="."),void 0===animation.Mode&&(animation.Mode="Linear"),tAnimations_1.push({path:animation.Path,mode:animation.Mode,states:tStates}),_this.Debug&&console.log("+++",animation._,animation.Path),_this.nodesToBeCached.push(animation.Path)})),paramsAnimation._loops=tAnimations_1;var paramsKinematics=null;if("object"==typeof paramsAnimation.Kinematics){paramsKinematics=new Std.KinematicsInteractor(JSON.parse(JSON.stringify(paramsAnimation.Kinematics)),this.IGX_API);var kinematics=[];Array.isArray(paramsAnimation.Kinematics)?kinematics.push.apply(kinematics,paramsAnimation.Kinematics):kinematics.push(paramsAnimation.Kinematics);for(var _i=0,kinematics_1=kinematics;_i<kinematics_1.length;_i++){for(var state=kinematics_1[_i],_a=0,_b=state.Joints;_a<_b.length;_a++){var joint=_b[_a];this.nodesToBeCached.push(joint.HeadX),this.nodesToBeCached.push(joint.HeadY),this.nodesToBeCached.push(joint.HeadZ),this.nodesToBeCached.push(joint.Tail),joint.FollowJointNode&&this.nodesToBeCached.push(joint.FollowJointNode)}if(state.Target&&"subbase"!=state.Target&&0!=state.Target.indexOf("Param")&&this.absoluteNodesToBeCached.push(state.Target),state.Target&&0==state.Target.indexOf("Param")){var val=this.parameters[state.Target];val&&this.absoluteNodesToBeCached.push(val)}}}var missings=[];this.nodesToBeCached.forEach((function(t){var e=""+t;if("."!==e)for(;e.indexOf(".");){if(_this.nodesToBeCached.filter((function(t){return t===e})).length>0||missings.indexOf(e)<0&&missings.push(""+e),e.lastIndexOf(".")<0)break;e=e.slice(0,e.lastIndexOf("."))}})),this.nodesToBeCached=__spreadArray(__spreadArray([],this.nodesToBeCached,!0),missings,!0);var missingsA=[];return this.absoluteNodesToBeCached.forEach((function(t){for(var e=""+t;e.indexOf(".");){if(_this.absoluteNodesToBeCached.filter((function(t){return t===e})).length>0||missingsA.indexOf(e)<0&&missingsA.push(""+e),e.lastIndexOf(".")<0)break;e=e.slice(0,e.lastIndexOf("."))}})),this.absoluteNodesToBeCached=__spreadArray(__spreadArray([],this.absoluteNodesToBeCached,!0),missingsA,!0),{Animation:paramsAnimation,Kinematics:paramsKinematics}}return console.warn("IGX.Std.AnimationInteractor: No Animation specified."),{}},AnimationInteractor.prototype.SetPosition=function(t){return this.SetStagePosition(this.parameters.Stage,t===Std.Start?this.parameters[Std.Start]:this.parameters[Std.End])},AnimationInteractor.prototype.SetStagePosition=function(t,e,i){if(this.Debug&&console.log("SetStagePosition",this.GetComponentId(),this.useCache?"CACHED":"NOT cached",t,e,i),this.parameters.Stage===t){if(this.useDebugCache&&!this.useCache&&(window&&!window.animcaches&&(window.animcaches=[]),!this.forwardCache_debug)){this.forwardCache_debug=new Std.Cache(this.GetComponentId(),this.stepSize,this.nodesToBeCached,this.animation,this.parameters);var a=this.IGX_API.setShadowWithParameters(this.GetComponentId(),this.nodesToBeCached,this.absoluteNodesToBeCached,this.animation,this.parameters);this.forwardCache_debug.initialize(a),this.forwardCache_debug.name="forwardcache_debug"+this.GetComponentId(),window.animcaches.push(this.forwardCache_debug),console.log("initial via IGX_API:"),console.log(JSON.stringify(a));var o=this.debugapi.setShadowWithParameters(this.GetComponentId(),this.nodesToBeCached,this.absoluteNodesToBeCached,this.animation,this.parameters);console.log("initial via debugapi"),console.log(JSON.stringify(o))}if(this.useCache){if(window&&!window.animcaches&&(window.animcaches=[]),!this.forwardCache){this.forwardCache=new Std.Cache(this.GetComponentId(),this.stepSize,this.nodesToBeCached,this.animation,this.parameters);a=this.IGX_API.setShadowWithParameters(this.GetComponentId(),this.nodesToBeCached,this.absoluteNodesToBeCached,this.animation,this.parameters);this.forwardCache.initialize(a),this.forwardCache.name="forwardcache"+this.GetComponentId(),window.animcaches.push(this.forwardCache)}if(this.backwardAnimation&&!this.backwardsCache){this.backwardsCache=new Std.Cache(this.GetComponentId(),this.stepSize,this.nodesToBeCached,this.backwardAnimation,this.parameters);a=this.IGX_API.setShadowWithParameters(this.GetComponentId(),this.nodesToBeCached,this.absoluteNodesToBeCached,this.animation,this.parameters);this.backwardsCache.initialize(a),this.backwardsCache.name="backwardscache"+this.GetComponentId(),window.animcaches.push(this.backwardsCache)}}if(this.backwardAnimation&&i){if(this.backwardsCache){this.calculateMissing(e,!0,this.backwardsCache,this.IGX_API);n=this.backwardsCache.interpolate(e);return void this.IGX_API.setOriginalSceneFromShadow(n,this.GetComponentId(),this.animation.LinkedPoints)}}else if(this.forwardCache){this.calculateMissing(e,!1,this.forwardCache,this.IGX_API);var n=this.forwardCache.interpolate(e);return void this.IGX_API.setOriginalSceneFromShadow(n,this.GetComponentId(),this.animation.LinkedPoints)}if(null!==this.parameters.IntermediateCalculation){this.Debug&&console.log("lastPositionForIntermediateCalculationOnly",this.lastPositionForIntermediateCalculationOnly);for(var r=[],s=this.parameters.IntermediateCalculation,h=this.lastPositionForIntermediateCalculationOnly;Math.abs(e-h)>s;)h=e-h>0?h+s:h-s,r.push(h);this.Debug&&console.log("IntermediateCalculation steps would be",this.lastPositionForIntermediateCalculationOnly,r,e);for(var p=0;p<r.length;p++)this.calculate___SetStagePositionInternal(t,r[p],i,this.IGX_API);this.calculate___SetStagePositionInternal(t,e,i,this.IGX_API),this.lastPositionForIntermediateCalculationOnly=e}else this.calculate___SetStagePositionInternal(t,e,i,this.IGX_API);if(this.Debug){var d=this.IGX_API.setShadowWithParameters(this.GetComponentId(),this.nodesToBeCached,this.absoluteNodesToBeCached,this.animation,this.parameters);window.scene_reality=d}}},AnimationInteractor.prototype.debug_compareShadows=function(t,e){if(t&&e){var i=Object.keys(t),a=Object.keys(e);i.forEach((function(i){t[i]&&!e[i]&&console.log("key",i,"missing in b!!")})),a.forEach((function(i){e[i]&&!t[i]&&console.log("key",i,"missing in a!!")})),console.log("checking for missing paths in bk");this.GetComponentId();var o=[];a.forEach((function(t){for(var e=""+t;e.indexOf(".");){if(a.filter((function(t){return t===e})).length>0||o.indexOf(e)<0&&o.push(""+e),e.lastIndexOf(".")<0)break;e=e.slice(0,e.lastIndexOf("."))}})),console.log("missings",o),i.forEach((function(i){var a=t[i],o=e[i],n=Math.abs(a.position.x-o.position.x)>1e-6,r=Math.abs(a.position.y-o.position.y)>1e-6,s=Math.abs(a.position.z-o.position.z)>1e-6;(n||r||s)&&console.log("DIFFERENCE Position",i,a.position,o.position);var h=Math.abs(a.rotation[0]-o.rotation[0])>1e-6,p=Math.abs(a.rotation[1]-o.rotation[1])>1e-6,d=Math.abs(a.rotation[2]-o.rotation[2])>1e-6;(h||p||d)&&console.log("DIFFERENCE Rotation",i,a.rotation,o.rotation),a.scaling.x===o.scaling.x&&a.scaling.y===o.scaling.y&&a.scaling.z===o.scaling.z||console.log("DIFFERENCE Scaling",i,a.scaling,o.scaling)}))}else console.log("a or b is undefined !!")},AnimationInteractor.prototype.calculateMissing=function(t,e,i,a){if(0===t)return!1;for(var o=1/this.stepSize,n=Math.ceil(t*o),r=i?i.getCache():e?this.backwardsCache.getCache():this.forwardCache.getCache(),s=[],h=n;h>0;h--)r[h]||(s=__spreadArray([h],s,!0));if(s.length<1)return!1;for(var p=0,d=s;p<d.length;p++){var m=d[p];this.calculate___SetStagePositionInternal(this.parameters.Stage,m/o,e,a);var u=a.getShadow();e?this.backwardsCache.setCache(m,u):this.forwardCache.setCache(m,u),this.useCache&&this.Debug&&console.log("Add missing",m)}return!0},AnimationInteractor.prototype.readQuat=function(t,e){var i=t.X,a="string"==typeof i?e(i,this.params):i;a=isNaN(a)?0:a;var o=t.Y,n="string"==typeof o?e(o,this.params):o;n=isNaN(n)?0:n;var r=t.Z,s="string"==typeof r?e(r,this.params):r;s=isNaN(s)?0:s;var h=t.W,p="string"==typeof h?e(h,this.params):h;return{x:a,y:n,z:s,w:p=isNaN(p)?0:p}},AnimationInteractor.prototype.detectQuaternion=function(t){return"True"===t.Q||"true"===t.Q||"TRUE"===t.Q||!0===t.Q},AnimationInteractor.prototype.slerpInPlaceA=function(t,e,i){if(0===i)return t;if(1===i)return t=__assign({},e);var a=t.x,o=t.y,n=t.z,r=t.w,s=r*e.w+a*e.x+o*e.y+n*e.z;if(s<0?(t.w=-e.w,t.x=-e.x,t.y=-e.y,t.z=-e.z,s=-s):t=__assign({},e),s>=1)return t.w=r,t.x=a,t.y=o,t.z=n,t;var h=1-s*s;if(h<=1e-8){var p=1-i;return t.w=p*r+i*t.w,t.x=p*a+i*t.x,t.y=p*o+i*t.y,t.z=p*n+i*t.z,IG.Math.Quaternion.normalizeInPlace(t),t}var d=Math.sqrt(h),m=Math.atan2(d,s),u=Math.sin((1-i)*m)/d,l=Math.sin(i*m)/d;return t.w=r*u+t.w*l,t.x=a*u+t.x*l,t.y=o*u+t.y*l,t.z=n*u+t.z*l,t},AnimationInteractor.prototype.calculate___SetStagePositionInternal=function(t,e,i,a){var o=this;if(void 0!==this.animation&&(this.backwardAnimation||(i=!1),this.parameters.Stage===t)){e<0?e=0:e>1&&(e=1);var n=this.animation;i&&(n=this.backwardAnimation);var r={};this.animation.LinkedPoints&&Object.keys(this.animation.LinkedPoints).forEach((function(t){(o.animation.LinkedPoints[t]||[]).forEach((function(e){var i=o.GetComponentId(),n=i.split("_")[0]+"__",s=Std.Util.GetLocalTransform(n+".",i+"."+t,a),h=a.GetVisibility(i+"."+t);r[e]={ppath:t,tf:s,oldvisibility:h}}))}));var s=new Array;n._loops.forEach((function(t){var i=!1;t.states.forEach((function(n){if(!1===i&&e<=n.time){var r=o.GetComponentId();if("."!==t.path&&(r=Std.getAbsPath(r,t.path)),!1===a.IsValid(r))return;s.push(r);var h=/param(\d+)/i,p=function(t,e){var i=t.match(h);if(i){var a=parseInt(i[1]);return a--,parseFloat(e[a])}};if(void 0===n.state2){if(n.state1.Position){var d=a.GetPosition(r);if(void 0!==n.state1.Position.X){var m=n.state1.Position.X;d.x="string"==typeof m?p(m,o.params):m,d.x=isNaN(d.x)?0:d.x}if(void 0!==n.state1.Position.Y){var u=n.state1.Position.Y;d.y="string"==typeof u?p(u,o.params):u,d.y=isNaN(d.y)?0:d.y}if(void 0!==n.state1.Position.Z){var l=n.state1.Position.Z;d.z="string"==typeof l?p(l,o.params):l,d.z=isNaN(d.z)?0:d.z}a.SetPosition(r,d)}if(n.state1.Rotation)if(o.detectQuaternion(n.state1.Rotation)){var c=o.readQuat(n.state1.Rotation,p),S=IG.Math.Euler.createFromQuaternion(c,"xyz");a.SetXRotation(r,S.x*IG.Math.Rad2Deg),a.SetYRotation(r,S.y*IG.Math.Rad2Deg),a.SetZRotation(r,S.z*IG.Math.Rad2Deg)}else{if(void 0!==n.state1.Rotation.X){var I="string"==typeof(m=n.state1.Rotation.X)?p(m,o.params):m;I=isNaN(I)?0:I,a.SetXRotation(r,I)}if(void 0!==n.state1.Rotation.Y){var f="string"==typeof(u=n.state1.Rotation.Y)?p(u,o.params):u;f=isNaN(f)?0:f,a.SetYRotation(r,f)}if(void 0!==n.state1.Rotation.Z){var v="string"==typeof(l=n.state1.Rotation.Z)?p(l,o.params):l;v=isNaN(v)?0:v,a.SetZRotation(r,v)}}if(n.state1.Scaling){var g=a.GetScaling(r);if(void 0!==n.state1.Scaling.X){m=n.state1.Scaling.X;g.x="string"==typeof m?p(m,o.params):m,g.x=isNaN(g.x)?1:g.x}if(void 0!==n.state1.Scaling.Y){u=n.state1.Scaling.Y;g.y="string"==typeof u?p(u,o.params):u,g.y=isNaN(g.y)?1:g.y}if(void 0!==n.state1.Scaling.Z){l=n.state1.Scaling.Z;g.z="string"==typeof l?p(l,o.params):l,g.z=isNaN(g.z)?1:g.z}a.SetScaling(r,g)}if(void 0!==n.state1.Deformation){var P=n.state1.Deformation,A="string"==typeof P?p(P,o.params):P;A=isNaN(A)?0:A,a.SetDeformation(r,A)}if(void 0!==n.state1.Visibility)"string"==typeof(z=n.state1.Visibility)&&(z="true"===o.params[parseInt(z.match(h)[1])-1]),a.SetVisibility(r,z)}else{var G=(n.time-e)/n.period,y=1-G;if(n.state1.Position){d=a.GetPosition(r);if(void 0!==n.state1.Position.X){var M="string"==typeof(w=n.state1.Position.X)?p(w,o.params):w;M=isNaN(M)?0:M;var C="string"==typeof(T=n.state2.Position.X?n.state2.Position.X:0)?p(T,o.params):T;C=isNaN(C)||void 0===C?0:C,d.x=G*M+y*C}if(void 0!==n.state1.Position.Y){M="string"==typeof(x=n.state1.Position.Y)?p(x,o.params):x;M=isNaN(M)?0:M;C="string"==typeof(X=n.state2.Position.Y?n.state2.Position.Y:0)?p(X,o.params):X;C=isNaN(C)||void 0===C?0:C,d.y=G*M+y*C}if(void 0!==n.state1.Position.Z){M="string"==typeof(V=n.state1.Position.Z)?p(V,o.params):V;M=isNaN(M)?0:M;C="string"==typeof(E=n.state2.Position.Z?n.state2.Position.Z:0)?p(E,o.params):E;C=isNaN(C)||void 0===C?0:C,d.z=G*M+y*C}a.SetPosition(r,d)}else if(n.state2.Position){d=o.IGX_API.GetPosition(r);if(void 0!==n.state2.Position.X){C="string"==typeof(T=n.state2.Position.X)?p(T,o.params):T;C=isNaN(C)?0:C,d.x=y*C}if(void 0!==n.state2.Position.Y){C="string"==typeof(X=n.state2.Position.Y)?p(X,o.params):X;C=isNaN(C)?0:C,d.y=y*C}if(void 0!==n.state2.Position.Z){C="string"==typeof(E=n.state2.Position.Z)?p(E,o.params):E;C=isNaN(C)?0:C,d.z=y*C}a.SetPosition(r,d)}if(n.state1.Rotation)if(o.detectQuaternion(n.state1.Rotation)){var R=o.readQuat(n.state1.Rotation,p),_=o.readQuat(n.state2.Rotation,p),b=__assign({},R);b=o.slerpInPlaceA(b,_,y);S=IG.Math.Euler.createFromQuaternion(b,"xyz");a.SetXRotation(r,S.x*IG.Math.Rad2Deg),a.SetYRotation(r,S.y*IG.Math.Rad2Deg),a.SetZRotation(r,S.z*IG.Math.Rad2Deg)}else{if(void 0!==n.state1.Rotation.X){M="string"==typeof(w=n.state1.Rotation.X)?p(w,o.params):w;M=isNaN(M)?0:M;C="string"==typeof(T=n.state2.Rotation.X?n.state2.Rotation.X:0)?p(T,o.params):T;C=isNaN(C)||void 0===C?0:C,a.SetXRotation(r,G*M+y*C)}if(void 0!==n.state1.Rotation.Y){M="string"==typeof(x=n.state1.Rotation.Y)?p(x,o.params):x;M=isNaN(M)?0:M;C="string"==typeof(X=n.state2.Rotation.Y?n.state2.Rotation.Y:0)?p(X,o.params):X;C=isNaN(C)||void 0===C?0:C,a.SetYRotation(r,G*M+y*C)}if(void 0!==n.state1.Rotation.Z){M="string"==typeof(V=n.state1.Rotation.Z)?p(V,o.params):V;M=isNaN(M)?0:M;C="string"==typeof(E=n.state2.Rotation.Z?n.state2.Rotation.Z:0)?p(E,o.params):E;C=isNaN(C)||void 0===C?0:C,a.SetZRotation(r,G*M+y*C)}}else if(n.state2.Rotation)if(o.detectQuaternion(n.state2.Rotation)){c=o.readQuat(n.state2.Rotation,p),S=IG.Math.Euler.createFromQuaternion(c,"xyz");a.SetXRotation(r,S.x*IG.Math.Rad2Deg),a.SetYRotation(r,S.y*IG.Math.Rad2Deg),a.SetZRotation(r,S.z*IG.Math.Rad2Deg)}else{if(void 0!==n.state2.Rotation.X){C="string"==typeof(T=n.state2.Rotation.X)?p(T,o.params):T;C=isNaN(C)?0:C,a.SetXRotation(r,y*C)}if(void 0!==n.state2.Rotation.Y){C="string"==typeof(X=n.state2.Rotation.Y)?p(X,o.params):X;C=isNaN(C)?0:C,a.SetYRotation(r,y*C)}if(void 0!==n.state2.Rotation.Z){C="string"==typeof(E=n.state2.Rotation.Z)?p(E,o.params):E;C=isNaN(C)?0:C,a.SetZRotation(r,y*C)}}if(n.state1.Scaling){g=a.GetScaling(r);if(void 0!==n.state1.Scaling.X){var w;M="string"==typeof(w=n.state1.Scaling.X)?p(w,o.params):w;M=isNaN(M)?1:M;C="string"==typeof(T=n.state2.Scaling.X?n.state2.Scaling.X:1)?p(T,o.params):T;void 0===(C=isNaN(C)?1:C)&&(C=1),g.x=G*M+y*C}if(void 0!==n.state1.Scaling.Y){var x;M="string"==typeof(x=n.state1.Scaling.Y)?p(x,o.params):x;M=isNaN(M)?1:M;C="string"==typeof(X=n.state2.Scaling.Y?n.state2.Scaling.Y:1)?p(X,o.params):X;void 0===(C=isNaN(C)?1:C)&&(C=1),g.y=G*M+y*C}if(void 0!==n.state1.Scaling.Z){var V;M="string"==typeof(V=n.state1.Scaling.Z)?p(V,o.params):V;M=isNaN(M)?1:M;C="string"==typeof(E=n.state2.Scaling.Z?n.state2.Scaling.Z:1)?p(E,o.params):E;void 0===(C=isNaN(C)?1:C)&&(C=1),g.z=G*M+y*C}a.SetScaling(r,g)}else if(n.state2.Scaling){g=a.GetScaling(r);if(void 0!==n.state2.Scaling.X){var T;C="string"==typeof(T=n.state2.Scaling.X)?p(T,o.params):T;C=isNaN(C)?1:C,g.x=G+y*C}if(void 0!==n.state2.Scaling.Y){var X;C="string"==typeof(X=n.state2.Scaling.Y)?p(X,o.params):X;C=isNaN(C)?1:C,g.y=G+y*C}if(void 0!==n.state2.Scaling.Z){var E;C="string"==typeof(E=n.state2.Scaling.Z)?p(E,o.params):E;C=isNaN(C)?1:C,g.z=G+y*C}a.SetScaling(r,g)}if(void 0!==n.state1.Deformation){var D=n.state1.Deformation;M="string"==typeof D?p(D,o.params):D;M=isNaN(M)?0:M;C="string"==typeof(N=n.state2.Deformation)?p(N,o.params):N;void 0===(C=isNaN(C)?0:C)&&(C=0),a.SetDeformation(r,G*M+y*C)}else if(void 0!==n.state2.Deformation){var N;C="string"==typeof(N=n.state2.Deformation)?p(N,o.params):N;C=isNaN(C)?0:C,a.SetDeformation(r,y*C)}if(void 0!==n.state1.Visibility)"string"==typeof(z=n.state1.Visibility)&&(z="true"===o.params[parseInt(z.match(h)[1])-1]),a.SetVisibility(r,z);else if(void 0!==n.state2.Visibility){var z;"string"==typeof(z=n.state2.Visibility)&&(z="true"===o.params[parseInt(z.match(h)[1])-1]),a.SetVisibility(r,z)}}i=!0}}))}));var h=this.kinematics;i&&(h=this.backwardKinematics),h&&h.KinematicSolver(this.GetComponentId(),this.params,s,a),r&&Object.keys(r).forEach((function(t){var e=r[t].ppath,i=r[t].oldvisibility,n=o.GetComponentId(),s=n.split("_")[0]+"__",h=Std.Util.GetLocalTransform(s+".",n+"."+e,a),p=a.GetVisibility(n+"."+e);a.SetPoint(s+".",t,h[0],h[1],p!=i?p:null)}))}},AnimationInteractor.PARAM_COUNT=50,AnimationInteractor}(IGX.Core.Interactor);Std.AnimationInteractor=AnimationInteractor,Std.Test1={Id:"Test1",Animations:[{States:{.1:{Position:{Y:.1}},.6:{Position:{Y:.2}},.9:{Position:{Y:1}}}}]}})(Std=IGX.Std||(IGX.Std={}))}(IGX||(IGX={})),function(IGX){var Std;(function(Std){var DeformationInteractor=function(_super){function DeformationInteractor(parameters){var _this=this;return Std.SetupValue(parameters,Std.Start,0),Std.SetupValue(parameters,Std.End,1),Std.SetupAnimation(parameters),_this=_super.call(this,parameters)||this,void 0===parameters.Inverse?parameters.Inverse=!1:"string"==typeof parameters.Inverse?parameters.Inverse=1==eval(parameters.Inverse):parameters.Inverse=1==parameters.Inverse,_this.parameters[Std.Manual]=!1,_this.bAutoReset=!1,"string"==typeof parameters.AutoReset&&"true"===parameters.AutoReset.toLowerCase()?_this.bAutoReset=!0:"string"!=typeof parameters.AutoReset&&(_this.bAutoReset=parameters.AutoReset),_this}return __extends(DeformationInteractor,_super),DeformationInteractor.prototype.SetPosition=function(t){this.SetStagePosition(this.parameters.Stage,t===Std.Start?this.parameters[Std.Start]:this.parameters[Std.End])},DeformationInteractor.prototype.SetStagePosition=function(t,e){var i;t===this.parameters.Stage&&(i=this.bAutoReset?e<.5?2*(this.parameters.Inverse?1-e-.5:e):2*(1-(this.parameters.Inverse?1-e+.5:e)):this.parameters.Inverse?1-e:e,t===this.parameters.Stage&&IGX.API.SetDeformation(this.GetComponentId(),i))},DeformationInteractor}(IGX.Core.Interactor);Std.DeformationInteractor=DeformationInteractor})(Std=IGX.Std||(IGX.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,"Maximum",90),e.SetupValue(t,"Minimum",0),e.SetupValue(t,"Thickness",0),"X"!=t.RotationAxis&&"Y"!=t.RotationAxis&&"Z"!=t.RotationAxis&&(t.RotationAxis="X"),"Right"!=t.Offset&&(t.Offset="Left"),e.SetupAnimation(t),(a=i.call(this,t)||this).bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(t){switch(t){case e.Start:this.setPosition(0);break;case e.End:this.setPosition(1)}},a.prototype.setPosition=function(e){this.position||(this.position=t.API.GetPosition(this.GetComponentId()));var i=this.parameters.Offset,a=this.parameters.RotationAxis,o=this.parameters.Thickness*e;if(!(void 0===this.parameters.Start&&void 0===this.parameters.StageStart&&void 0===this.parameters.Minimum||void 0===this.parameters.End&&void 0===this.parameters.StageEnd&&void 0===this.parameters.Maximum)){var n,r=(n=void 0===this.parameters.StageStart?void 0===this.parameters.Start?this.parameters.Minimum:this.parameters.Start:this.parameters.StageStart)+((void 0===this.parameters.StageEnd?void 0===this.parameters.End?this.parameters.Maximum:this.parameters.End:this.parameters.StageEnd)-n)*e,s=new t.Float3;if(s.x=this.position.x,s.y=this.position.y,s.z=this.position.z,"Left"===i)switch(a){case"X":s.z+=o,t.API.SetPosition(this.GetComponentId(),s),t.API.SetXRotation(this.GetComponentId(),-r);break;case"Y":s.z+=o,t.API.SetPosition(this.GetComponentId(),s),t.API.SetYRotation(this.GetComponentId(),-r);break;case"Z":s.x-=o,t.API.SetPosition(this.GetComponentId(),s),t.API.SetZRotation(this.GetComponentId(),-r)}else switch(a){case"X":s.z+=o,t.API.SetPosition(this.GetComponentId(),s),t.API.SetXRotation(this.GetComponentId(),r);break;case"Y":s.z+=o,t.API.SetPosition(this.GetComponentId(),s),t.API.SetYRotation(this.GetComponentId(),r);break;case"Z":s.x+=o,t.API.SetPosition(this.GetComponentId(),s),t.API.SetZRotation(this.GetComponentId(),r)}}},a.prototype.SetStagePosition=function(t,e){if(t.toString()===this.parameters.Stage.toString()){var i=e;this.bAutoReset&&(i=e<.5?2*e:2*(1-e)),this.setPosition(i)}},a}(t.Core.Interactor);e.OffsetRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(IGX){var Std;(function(Std){var VisibilityInteractor=function(_super){function VisibilityInteractor(parameters){var _this=this;return Std.SetupAnimation(parameters),_this=_super.call(this,parameters)||this,"string"==typeof parameters.Threshold?parameters.Threshold=eval(parameters.Threshold):"number"==typeof parameters.Threshold?parameters.Threshold=parameters.Threshold:void 0===parameters.Threshold&&(parameters.Threshold=.1),_this}return __extends(VisibilityInteractor,_super),VisibilityInteractor.prototype.SetPosition=function(t){this.SetStagePosition(this.parameters.Stage,t===Std.Start?0:1)},VisibilityInteractor.prototype.SetStagePosition=function(t,e){t===this.parameters.Stage&&IGX.API.SetVisibility(this.GetComponentId(),e<this.parameters.Threshold)},VisibilityInteractor}(IGX.Core.Interactor);Std.VisibilityInteractor=VisibilityInteractor})(Std=IGX.Std||(IGX.Std={}))}(IGX||(IGX={})),console.log("IG.GFX.Standard 1.9.3 (1.9.3.100). Copyright (C) 2013 - 2024 intelligentgraphics AG. All Rights Reserved."),!IGX.Float3){var Float3=function(t,e,i){this.x=void 0===t?0:t,this.y=void 0===e?0:e,this.z=void 0===i?0:i};IGX.Float3=Float3}!function(t){!function(e){var i=function(t){function i(i){return e.SetupAnimation(i),t.call(this,i)||this}return __extends(i,t),i.prototype.SetPosition=function(t){},i.prototype.SetStagePosition=function(t,e){},i}(t.Core.Interactor);e.EmptyInteractor=i}(t.Std||(t.Std={}))}(IGX||(IGX={}));
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/Readme.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## History
4
4
 
5
+ **IG.GFX.Standard 1.9.3**
6
+
7
+ - readd images to distribution artefact
8
+
5
9
  **IG.GFX.Standard 1.9.2**
6
10
 
7
11
  - properly mark api parameters as optional
package/_Package.json CHANGED
@@ -4,6 +4,6 @@
4
4
  "Description": "Standard Interactors",
5
5
  "Type": "Interactor",
6
6
  "RunTime": true,
7
- "Copyright": "Copyright (C) 2013 - 2023 intelligentgraphics AG. All Rights Reserved.",
7
+ "Copyright": "Copyright (C) 2013 - 2024 intelligentgraphics AG. All Rights Reserved.",
8
8
  "Version": "1.9.1.100"
9
9
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@intelligentgraphics/3d.ig.gfx.standard",
3
- "description": "IG.GFX.Standard 1.9.2 (1.9.2.100)",
4
- "version": "1.9.2",
3
+ "description": "IG.GFX.Standard 1.9.3 (1.9.3.100)",
4
+ "version": "1.9.3",
5
5
  "dependencies": {
6
6
  "@intelligentgraphics/3d.ig.gfx.core": "^2.6.1",
7
7
  "@intelligentgraphics/3d.ig.math": "^1.1.0"