@intelligentgraphics/3d.ig.gfx.standard 1.8.2

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.
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Version: 1.8.2.100
3
+ * Commit: 6f0359b
4
+ * Date: 2023-01-26T10:52:15.606Z
5
+ *
6
+ * @preserve
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}).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])})(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(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(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(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,G,A,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),G=a.GetLocalPosition(u,f,t.API),A=a.GetLocalPosition(u,i,t.API)):(v=t.API.GetWorldPosition(c),g=t.API.GetWorldPosition(S),P=t.API.GetWorldPosition(I),G=t.API.GetWorldPosition(f),A=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",G),e.dlog("articleToBeMoved",A);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 X=IG.Math.Vector3.sub(G,P),T=IG.Math.Vector3.magnitude(_)*IG.Math.Vector3.magnitude(X),E=IG.Math.Vector3.innerProduct(_,X),D=IG.Math.MathS.acos(E/T);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 O=Z.x,F=Z.y,B=Z.z,J=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(g,G))*IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(g,G)),K=P.x,H=P.y,U=P.z,j=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(G,P))*IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(G,P));e.dlog(O,F,B,"---\x3e",K,H,U,"]");var W=IG.Math.Vector3.sub(Z,P),Q=new t.Float3(0,0,0);2*K-2*O!=0?Q.x=(J-j-O*O+K*K-F*F+H*H-B*B+U*U)/(2*K-2*O):2*H-2*F!=0?Q.y=(J-j-O*O+K*K-F*F+H*H-B*B+U*U)/(2*H-2*F):2*U-2*B!=0?Q.z=(J-j-O*O+K*K-F*F+H*H-B*B+U*U)/(2*U-2*B):console.warn("plane normal is null vector ?!");var q={point:Q,normal:IG.Math.Vector3.normalize({x:2*K-2*O,y:2*H-2*F,z:2*U-2*B})},$=a.intersectionPoint({origin:P,direction:W},q);e.dlog("schnittkreiszentrum",$);var tt=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(g,G)),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(G,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;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(IGX){var Std;!function(Std){var inverse="Inverse",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:typeof parameters[inverse]===Std.cString?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(i){this.position||(this.position=t.API.GetPosition(this.GetComponentId()));var a=this.parameters.Offset,o=this.parameters.RotationAxis,n=this.parameters.Thickness*i;if(!(void 0===this.parameters[e.Start]&&void 0===this.parameters[e.StageStart]&&void 0===this.parameters.Minimum||void 0===this.parameters[e.End]&&void 0===this.parameters[e.StageEnd]&&void 0===this.parameters.Maximum)){var r,s=(r=void 0===this.parameters[e.StageStart]?void 0===this.parameters[e.Start]?this.parameters.Minimum:this.parameters[e.Start]:this.parameters[e.StageStart])+((void 0===this.parameters[e.StageEnd]?void 0===this.parameters[e.End]?this.parameters.Maximum:this.parameters[e.End]:this.parameters[e.StageEnd])-r)*i,h=new t.Float3;if(h.x=this.position.x,h.y=this.position.y,h.z=this.position.z,"Left"===a)switch(o){case"X":h.z+=n,t.API.SetPosition(this.GetComponentId(),h),t.API.SetXRotation(this.GetComponentId(),-s);break;case"Y":h.z+=n,t.API.SetPosition(this.GetComponentId(),h),t.API.SetYRotation(this.GetComponentId(),-s);break;case"Z":h.x-=n,t.API.SetPosition(this.GetComponentId(),h),t.API.SetZRotation(this.GetComponentId(),-s)}else switch(o){case"X":h.z+=n,t.API.SetPosition(this.GetComponentId(),h),t.API.SetXRotation(this.GetComponentId(),s);break;case"Y":h.z+=n,t.API.SetPosition(this.GetComponentId(),h),t.API.SetYRotation(this.GetComponentId(),s);break;case"Z":h.x+=n,t.API.SetPosition(this.GetComponentId(),h),t.API.SetZRotation(this.GetComponentId(),s)}}},a.prototype.SetStagePosition=function(t,i){if(t.toString()===this.parameters[e.Stage].toString()){var a=i;this.bAutoReset&&(a=i<.5?2*i:2*(1-i)),this.setPosition(a)}},a}(t.Core.Interactor);e.OffsetRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(IGX){var Std;!function(Std){var treshold="Treshold",VisibilityInteractor=function(_super){function VisibilityInteractor(parameters){var _this=this;return Std.SetupAnimation(parameters),_this=_super.call(this,parameters)||this,typeof parameters[treshold]===Std.cString?parameters[treshold]=eval(parameters[treshold]):typeof parameters[treshold]===Std.cNumber?parameters[treshold]=parameters[treshold]:void 0===parameters[treshold]&&(parameters[treshold]=.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[treshold])},VisibilityInteractor}(IGX.Core.Interactor);Std.VisibilityInteractor=VisibilityInteractor}(Std=IGX.Std||(IGX.Std={}))}(IGX||(IGX={})),function(IGX){var Std;!function(Std){var KinematicsInteractor=function(){function KinematicsInteractor(param,api){if(this.IGX_API=api||IGX.API,"object"==typeof param){if(this._ChainList=new Array,Array.isArray(param))for(var _i=0,param_1=param;_i<param_1.length;_i++){var chain=param_1[_i],currentChain=eval(chain);if(!currentChain.Target)return void console.warn("IGX.Std.KinematicsInteractor: Subchain has no target!");if(!currentChain.Tolerance)return void console.warn("IGX.Std.KinematicsInteractor: Subchain has no tolerance!");if(!currentChain.GeometryBase)return void console.warn("IGX.Std.KinematicsInteractor: Subchain has no GeometryBase defined!");if(currentChain.Parent&&"string"==typeof currentChain.Parent)"root"===currentChain.Parent&&(this._MultiTargetChain=new Array,this._ChainList.push(this._MultiTargetChain)),this._MultiTargetChain.push(currentChain);else{var singlechain=new Array;singlechain.push(currentChain),this._ChainList.push(singlechain)}}else{if(this._Chain=eval(param),!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 chain=new Array;chain.push(this._Chain),this._ChainList.push(chain)}this._MaxIteration=3}else console.warn("IGX.Std.KinematicsInteractor: Not defined.")}return KinematicsInteractor.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)}}},KinematicsInteractor.prototype.buildDataStructure=function(t,e,i,a,o,n){var r=this;if(t.Joints.length>0&&t.Joints[0].HeadX){t._Origin=t.Joints[0].HeadX;for(var s=t._Origin.split("."),h="",p=0;p<s.length-1;p++)h+=s[p],p+1<s.length-1&&(h+=".");t._ChainPath=h,t._RootId=""===h?this._ComponentId:this._ComponentId+"."+h;var d=[],m=0,u=/param(\d+)/i;t.Joints.forEach((function(o,s){var h,p,l,c,S,I,f,v,g,P,G,A,y,M,C,R=!1;o.Name?p=(C=o.Name.match(u))?e[parseInt(C[1])-1]:o.Name:p="b".concat(s);o.HeadX?l=(C=o.HeadX.match(u))?e[parseInt(C[1])-1]:o.HeadX:console.warn("IGX.Std.KinematicsInteractor: Joint",p,"is missing its Head (X)!");o.HeadY?c=(C=o.HeadY.match(u))?e[parseInt(C[1])-1]:o.HeadY:console.warn("IGX.Std.KinematicsInteractor: Joint",p,"is missing its Head (Y)!");o.HeadZ?S=(C=o.HeadZ.match(u))?e[parseInt(C[1])-1]:o.HeadZ:console.warn("IGX.Std.KinematicsInteractor: Joint",p,"is missing its Head (Z)!");o.Tail?(I=(C=o.Tail.match(u))?e[parseInt(C[1])-1]:o.Tail,r.isParent(S,I)||console.warn("IGX.Std.KinematicsInteractor: Joint",p,"- Tail isn't child of Head!")):console.warn("IGX.Std.KinematicsInteractor: Joint",p,"is missing its Tail!");M=o.FollowJointNode,P=o.LimitLeft,G=o.LimitRight,A=o.LimitUp,y=o.LimitDown;var _=a+l,b=a+c,w=a+S,x=a+I;i.forEach((function(t){_!==t&&b!==t&&w!==t&&x!==t||(R=!0)})),v=IGX.Std.Util.GetLocalPosition(t._RootId,a+l,n),g=IGX.Std.Util.GetLocalPosition(t._RootId,a+I,n),f=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(v,g)),m+=f,h={Name:p,HeadX:l,HeadY:c,HeadZ:S,Tail:I,FollowJointNode:M,LimitLeft:P,LimitRight:G,LimitUp:A,LimitDown:y,_Length:f,_HeadPos:v,_TailPos:g,_Blocked:R},d.push(h)})),t.Joints=d;var l=t.Target.match(u);if(l&&(t.Target=e[parseInt(l[1])-1]),n.IsValid(a+t._Origin)){if(t._OriginPos=IGX.Std.Util.GetLocalPosition(t._RootId,a+t._Origin,n),n.IsValid(o+t.Target))t._TargetPos=IGX.Std.Util.GetRelativePosition(o+".",t._RootId,o+t.Target,n);else{if("subbase"!==t.Target)return void console.warn("Target path",t.Target,"not valid.");t._TargetPos=t.Joints[t.Joints.length-1]._TailPos}return t._TotalLength=m,"x"!==t.GeometryBase&&"y"!==t.GeometryBase&&"z"!==t.GeometryBase&&(console.warn('GeometryBase param received not allowed value! Only "x", "y" and "z" are allowed! Returning to default value ("z")'),t.GeometryBase="z"),"y"===t.GeometryBase&&(console.warn("GeometryBase = y not implemented yet. Switching to z now."),t.GeometryBase="z"),t}console.warn("Origin path",t._Origin,"not valid.")}else console.warn("IGX.Std.KinematicsInteractor: Chain has no defined joints!")},KinematicsInteractor.prototype.isParent=function(t,e){return 0===e.indexOf(t)},KinematicsInteractor.prototype.getGeometryBase=function(t){var e=this._Chain,i=e.Joints[t],a=e.GeometryBase;return void 0!==i.GeometryBase&&(a=i.GeometryBase),a},KinematicsInteractor.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},KinematicsInteractor.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},KinematicsInteractor.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},KinematicsInteractor.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},KinematicsInteractor.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},KinematicsInteractor.prototype.isFollowingJoint=function(t){var e=this._Chain.Joints[t];return!(!e.FollowJointNode||null===this.getJoint(e.FollowJointNode))},KinematicsInteractor.prototype.singleTargetKinematics=function(t,e){this.forward(e),this.solve(e),this.draw(t,e)},KinematicsInteractor.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)}))},KinematicsInteractor.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)}},KinematicsInteractor.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)}))},KinematicsInteractor.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},KinematicsInteractor.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)););}},KinematicsInteractor.prototype.backward=function(t){for(var e=this._Chain,i=e.Joints.length-1;i>=0;i--){var a=e.Joints[i];if(!a._Blocked){i===e.Joints.length-1?a._TailPos=e._TargetPos:a._TailPos=e.Joints[i+1]._HeadPos;var o=a._HeadPos;if(this.isFollowingJoint(i)){this._ComponentId.split("_")[0];var n=this._ComponentId+".";o=IGX.Std.Util.GetRelativePosition(this._ComponentId,e._RootId,n+a.FollowJointNode,t)}var r=IG.Math.Vector3.sub(a._TailPos,o),s=IG.Math.Vector3.magnitude(r),h=a._Length/s,p=IG.Math.Vector3.add(IG.Math.Vector3.scalarMultiply(1-h,a._TailPos),IG.Math.Vector3.scalarMultiply(h,o));a._HeadPos=p}}},KinematicsInteractor.prototype.forward=function(t){for(var e=this._Chain,i=0;i<e.Joints.length;i++){var a=e.Joints[i];if(!a._Blocked){a._HeadPos=0===i?e._OriginPos:e.Joints[i-1]._TailPos;var o=a._TailPos;if(i+1<e.Joints.length&&this.isFollowingJoint(i+1)){this._ComponentId.split("_")[0];var n=this._ComponentId+".";o=IGX.Std.Util.GetRelativePosition(this._ComponentId,e._RootId,n+e.Joints[i+1].FollowJointNode,t)}var r=IG.Math.Vector3.sub(o,a._HeadPos),s=IG.Math.Vector3.magnitude(r),h=a._Length/s,p=IG.Math.Vector3.add(IG.Math.Vector3.scalarMultiply(1-h,a._HeadPos),IG.Math.Vector3.scalarMultiply(h,o));if(this.isConstraintActive(i)){var d=IG.Math.Vector3.normalize(r);p=IG.Math.Vector3.add(a._HeadPos,this.constrain(IG.Math.Vector3.sub(p,a._HeadPos),d,i))}a._TailPos=p}}},KinematicsInteractor.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},KinematicsInteractor}();Std.KinematicsInteractor=KinematicsInteractor}(Std=IGX.Std||(IGX.Std={}))}(IGX||(IGX={})),console.log("IG.GFX.Standard 1.8.2 (1.8.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(){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){console.log("interpolate()",e,this.name,this.date);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),G=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,G],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=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){paramsAnimation=eval(paramsAnimation),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.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(void 0!==n.state1.Rotation.X){var c="string"==typeof(m=n.state1.Rotation.X)?p(m,o.params):m;c=isNaN(c)?0:c,a.SetXRotation(r,c)}if(void 0!==n.state1.Rotation.Y){var S="string"==typeof(u=n.state1.Rotation.Y)?p(u,o.params):u;S=isNaN(S)?0:S,a.SetYRotation(r,S)}if(void 0!==n.state1.Rotation.Z){var I="string"==typeof(l=n.state1.Rotation.Z)?p(l,o.params):l;I=isNaN(I)?0:I,a.SetZRotation(r,I)}}if(n.state1.Scaling){var f=a.GetScaling(r);if(void 0!==n.state1.Scaling.X){m=n.state1.Scaling.X;f.x="string"==typeof m?p(m,o.params):m,f.x=isNaN(f.x)?1:f.x}if(void 0!==n.state1.Scaling.Y){u=n.state1.Scaling.Y;f.y="string"==typeof u?p(u,o.params):u,f.y=isNaN(f.y)?1:f.y}if(void 0!==n.state1.Scaling.Z){l=n.state1.Scaling.Z;f.z="string"==typeof l?p(l,o.params):l,f.z=isNaN(f.z)?1:f.z}a.SetScaling(r,f)}if(void 0!==n.state1.Deformation){var v=n.state1.Deformation,g="string"==typeof v?p(v,o.params):v;g=isNaN(g)?0:g,a.SetDeformation(r,g)}if(void 0!==n.state1.Visibility)"string"==typeof(X=n.state1.Visibility)&&(X="true"===o.params[parseInt(X.match(h)[1])-1]),a.SetVisibility(r,X)}else{var P=(n.time-e)/n.period,G=1-P;if(n.state1.Position){d=a.GetPosition(r);if(void 0!==n.state1.Position.X){var A="string"==typeof(M=n.state1.Position.X)?p(M,o.params):M;A=isNaN(A)?0:A;var y="string"==typeof(_=n.state2.Position.X?n.state2.Position.X:0)?p(_,o.params):_;y=isNaN(y)||void 0===y?0:y,d.x=P*A+G*y}if(void 0!==n.state1.Position.Y){A="string"==typeof(C=n.state1.Position.Y)?p(C,o.params):C;A=isNaN(A)?0:A;y="string"==typeof(b=n.state2.Position.Y?n.state2.Position.Y:0)?p(b,o.params):b;y=isNaN(y)||void 0===y?0:y,d.y=P*A+G*y}if(void 0!==n.state1.Position.Z){A="string"==typeof(R=n.state1.Position.Z)?p(R,o.params):R;A=isNaN(A)?0:A;y="string"==typeof(w=n.state2.Position.Z?n.state2.Position.Z:0)?p(w,o.params):w;y=isNaN(y)||void 0===y?0:y,d.z=P*A+G*y}a.SetPosition(r,d)}else if(n.state2.Position){d=o.IGX_API.GetPosition(r);if(void 0!==n.state2.Position.X){y="string"==typeof(_=n.state2.Position.X)?p(_,o.params):_;y=isNaN(y)?0:y,d.x=G*y}if(void 0!==n.state2.Position.Y){y="string"==typeof(b=n.state2.Position.Y)?p(b,o.params):b;y=isNaN(y)?0:y,d.y=G*y}if(void 0!==n.state2.Position.Z){y="string"==typeof(w=n.state2.Position.Z)?p(w,o.params):w;y=isNaN(y)?0:y,d.z=G*y}a.SetPosition(r,d)}if(n.state1.Rotation){if(void 0!==n.state1.Rotation.X){A="string"==typeof(M=n.state1.Rotation.X)?p(M,o.params):M;A=isNaN(A)?0:A;y="string"==typeof(_=n.state2.Rotation.X?n.state2.Rotation.X:0)?p(_,o.params):_;y=isNaN(y)||void 0===y?0:y,a.SetXRotation(r,P*A+G*y)}if(void 0!==n.state1.Rotation.Y){A="string"==typeof(C=n.state1.Rotation.Y)?p(C,o.params):C;A=isNaN(A)?0:A;y="string"==typeof(b=n.state2.Rotation.Y?n.state2.Rotation.Y:0)?p(b,o.params):b;y=isNaN(y)||void 0===y?0:y,a.SetYRotation(r,P*A+G*y)}if(void 0!==n.state1.Rotation.Z){A="string"==typeof(R=n.state1.Rotation.Z)?p(R,o.params):R;A=isNaN(A)?0:A;y="string"==typeof(w=n.state2.Rotation.Z?n.state2.Rotation.Z:0)?p(w,o.params):w;y=isNaN(y)||void 0===y?0:y,a.SetZRotation(r,P*A+G*y)}}else if(n.state2.Rotation){if(void 0!==n.state2.Rotation.X){y="string"==typeof(_=n.state2.Rotation.X)?p(_,o.params):_;y=isNaN(y)?0:y,a.SetXRotation(r,G*y)}if(void 0!==n.state2.Rotation.Y){y="string"==typeof(b=n.state2.Rotation.Y)?p(b,o.params):b;y=isNaN(y)?0:y,a.SetYRotation(r,G*y)}if(void 0!==n.state2.Rotation.Z){y="string"==typeof(w=n.state2.Rotation.Z)?p(w,o.params):w;y=isNaN(y)?0:y,a.SetZRotation(r,G*y)}}if(n.state1.Scaling){f=a.GetScaling(r);if(void 0!==n.state1.Scaling.X){var M;A="string"==typeof(M=n.state1.Scaling.X)?p(M,o.params):M;A=isNaN(A)?1:A;y="string"==typeof(_=n.state2.Scaling.X?n.state2.Scaling.X:1)?p(_,o.params):_;void 0===(y=isNaN(y)?1:y)&&(y=1),f.x=P*A+G*y}if(void 0!==n.state1.Scaling.Y){var C;A="string"==typeof(C=n.state1.Scaling.Y)?p(C,o.params):C;A=isNaN(A)?1:A;y="string"==typeof(b=n.state2.Scaling.Y?n.state2.Scaling.Y:1)?p(b,o.params):b;void 0===(y=isNaN(y)?1:y)&&(y=1),f.y=P*A+G*y}if(void 0!==n.state1.Scaling.Z){var R;A="string"==typeof(R=n.state1.Scaling.Z)?p(R,o.params):R;A=isNaN(A)?1:A;y="string"==typeof(w=n.state2.Scaling.Z?n.state2.Scaling.Z:1)?p(w,o.params):w;void 0===(y=isNaN(y)?1:y)&&(y=1),f.z=P*A+G*y}a.SetScaling(r,f)}else if(n.state2.Scaling){f=a.GetScaling(r);if(void 0!==n.state2.Scaling.X){var _;y="string"==typeof(_=n.state2.Scaling.X)?p(_,o.params):_;y=isNaN(y)?1:y,f.x=P+G*y}if(void 0!==n.state2.Scaling.Y){var b;y="string"==typeof(b=n.state2.Scaling.Y)?p(b,o.params):b;y=isNaN(y)?1:y,f.y=P+G*y}if(void 0!==n.state2.Scaling.Z){var w;y="string"==typeof(w=n.state2.Scaling.Z)?p(w,o.params):w;y=isNaN(y)?1:y,f.z=P+G*y}a.SetScaling(r,f)}if(void 0!==n.state1.Deformation){var x=n.state1.Deformation;A="string"==typeof x?p(x,o.params):x;A=isNaN(A)?0:A;y="string"==typeof(V=n.state2.Deformation)?p(V,o.params):V;void 0===(y=isNaN(y)?0:y)&&(y=0),a.SetDeformation(r,P*A+G*y)}else if(void 0!==n.state2.Deformation){var V;y="string"==typeof(V=n.state2.Deformation)?p(V,o.params):V;y=isNaN(y)?0:y,a.SetDeformation(r,G*y)}if(void 0!==n.state1.Visibility)"string"==typeof(X=n.state1.Visibility)&&(X="true"===o.params[parseInt(X.match(h)[1])-1]),a.SetVisibility(r,X);else if(void 0!==n.state2.Visibility){var X;"string"==typeof(X=n.state2.Visibility)&&(X="true"===o.params[parseInt(X.match(h)[1])-1]),a.SetVisibility(r,X)}}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(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={}));
package/Readme.md ADDED
@@ -0,0 +1,221 @@
1
+ # IG.GFX.Standard - Standard Interactors
2
+
3
+ ## History
4
+
5
+ **IG.GFX.Standard 1.8.2**
6
+
7
+ - add EmptyInteractor for placeholder usage
8
+
9
+
10
+ **IG.GFX.Standard 1.8.1**
11
+
12
+ - fix cached deformation for 0 state
13
+
14
+
15
+ **IG.GFX.Standard 1.8.1**
16
+
17
+ - add missing FourBar.calculatePosition
18
+
19
+
20
+ **IG.GFX.Standard 1.8.0**
21
+
22
+ - fix animation interactor cache for . path
23
+
24
+
25
+ **IG.GFX.Standard 1.8.0**
26
+
27
+ - animation interactor cache for stable kinematics and better performance
28
+ - restructured code
29
+
30
+
31
+ **IG.GFX.Standard 1.7.6**
32
+
33
+ - added more params (up to 50 now) for the animation and kinematics interactor
34
+ - stage fix for deformation interactor
35
+
36
+
37
+ **IG.GFX.Standard 1.7.5**
38
+
39
+ - support visibility changes of attached children via LinkedPoints
40
+
41
+
42
+ **IG.GFX.Standard 1.7.4**
43
+
44
+ - AutoReset param for:
45
+ - all range and raster translators
46
+ - all range and raster rotators
47
+ - deformation interactor
48
+ - offset rotator
49
+ - code cleanup
50
+
51
+
52
+ **IG.GFX.Standard 1.7.3**
53
+
54
+ - Added AutoReset param for ZRangeTranslator
55
+
56
+
57
+ **IG.GFX.Standard 1.7.3**
58
+
59
+ - ICOM loading new product with kinematics bugfix
60
+
61
+
62
+ **IG.GFX.Standard 1.7.3**
63
+
64
+ - single kinematic chain bugfix
65
+
66
+
67
+ **IG.GFX.Standard 1.7.3**
68
+
69
+ - intermediate calculation for special cases in kinematic animation
70
+ - kinematic subbase bugfix
71
+
72
+
73
+ **IG.GFX.Standard 1.7.3**
74
+
75
+ - fix for scaled FourBar interactor
76
+ - deprecated old vector / matrix functions in Utils
77
+ - code cleanup
78
+
79
+
80
+ **IG.GFX.Standard 1.7.2**
81
+
82
+ - Kinematics Interactor:
83
+ - better centroid calculation (multi target)
84
+ - fixed constraints
85
+ - follow target feature
86
+ - independent multiple chains in one animation.json
87
+ - Utilities:
88
+ - updated GetLocalTransform with correct math functions (composeTRS - needs Math library 1.0.2)
89
+ - new GetRelativePosition function
90
+
91
+
92
+ **IG.GFX.Standard 1.7.1**
93
+
94
+ - Animation Interactor: mapping of object paths to attachment points:
95
+ - new entry "LinkedPoints" parallel to "Animations": path -> array of point keys
96
+
97
+
98
+ **IG.GFX.Standard 1.7.0**
99
+
100
+ - in case, BackwardPeriod is not set, use (Forward)Period as fallback, was: 1.0
101
+ - auto-correct localized float parameters by replacing , with .
102
+
103
+
104
+ **IG.GFX.Standard 1.7.0**
105
+
106
+ - Kinematics Interactor: added support for multiple targets
107
+
108
+
109
+ **IG.GFX.Standard 1.6.4**
110
+
111
+ - Animation Interactor: new params "BackwardAnimation" and "BackwardPeriod"
112
+
113
+
114
+ **IG.GFX.Standard 1.6.3**
115
+
116
+ - Animation Interactor: auto-insertion of default definition for animated values
117
+
118
+
119
+ **IG.GFX.Standard 1.6.2**
120
+
121
+ - fix for z rotation issue ( was assigned to x rotation due to copy paste type )
122
+
123
+
124
+ **IG.GFX.Standard 1.6.2**
125
+
126
+ - parametrics for animations and kinematics: now up to 20 parameters (was: 10), also support for plain types instead of string conversions
127
+
128
+
129
+ **IG.GFX.Standard 1.6.1**
130
+
131
+ - parametrics added to animations and kinematics
132
+
133
+
134
+ **IG.GFX.Standard 1.6.0**
135
+
136
+ - new interactor: KinematicsInteractor
137
+
138
+
139
+ **IG.GFX.Standard 1.5.3**
140
+
141
+ - new interactor: OffsetRotator
142
+
143
+
144
+ **IG.GFX.Standard 1.5.2**
145
+
146
+ - automatically provide IGX.Float3 if not available by the run-time environment
147
+
148
+
149
+ **IG.GFX.Standard 1.5.2**
150
+
151
+ - AnimationInteractor: improved robustness if component does not exist
152
+
153
+
154
+ **IG.GFX.Standard 1.5.2**
155
+
156
+ - new interactor: VisibilityInteractor
157
+
158
+
159
+ **IG.GFX.Standard 1.5.1**
160
+
161
+ - AnimationInteractor:
162
+ -- access to neighbors via path prefix '..'
163
+ -- new parameter Visibility
164
+ -- fix for assignment to root components
165
+
166
+
167
+ **IG.GFX.Standard 1.5.0**
168
+
169
+ - new special functions for particular hinges: IGX.Std.FourBar
170
+ - new basic vector functions: IGX.Std.Util
171
+
172
+
173
+ **IG.GFX.Standard 1.4.1**
174
+
175
+ - SetupValue() more robustness in case of bad input
176
+ - new interactor: DeformationInteractor
177
+
178
+
179
+ **IG.GFX.Standard 1.4.0**
180
+
181
+ - new interactor: AnimationInteractor
182
+
183
+
184
+ **IG.GFX.Standard 1.3.0**
185
+
186
+ - new interactor: BasicLinearInterpolator
187
+
188
+
189
+ **IG.GFX.Standard 1.2.0**
190
+
191
+ - Fixes x, y, z raster translator movements
192
+
193
+
194
+ **IG.GFX.Standard 1.2.0**
195
+
196
+ - Adds animation stages to x y z range rotator and range translator
197
+
198
+
199
+ **IG.GFX.Standard 1.1.0**
200
+
201
+ - Adds Animation stages start and end to range rotators and range translators
202
+
203
+
204
+ **IG.GFX.Standard 1.1.0**
205
+
206
+ - FIX issue with IGX.Vector3
207
+
208
+
209
+ **IG.GFX.Standard 1.1.0**
210
+
211
+ - (X,Y,Z)(Range,Raster)(Rotator,Translator) fixed SetStagePosition()
212
+ - number conversion of Start/End parameters if provided as strings
213
+
214
+
215
+ **IG.GFX.Standard 1.0.0**
216
+
217
+ - number conversion of numeric parameters if provided as strings
218
+ - (X,Y,Z)(Range,Raster)(Rotator,Translator) added SetStagePosition()
219
+
220
+
221
+ **IG.GFX.Standard 1.0.0**
package/_Index.json ADDED
@@ -0,0 +1 @@
1
+ [{"Name":"IGX.Std.XRangeRotator","Description":"Restricted rotation around local X axis.","Type":"Interactor","DisplayIndex":1,"Parameters":[{"Name":"Minimum","Description":"The minimum value of the object X rotation","Type":"ArcDEG","Default":0,"DisplayIndex":1},{"Name":"Maximum","Description":"The maximum value of the object X rotation","Type":"ArcDEG","Default":90,"DisplayIndex":2},{"Name":"Snap","Description":"Snap range for both limits","Type":"ArcDEG","Default":0,"DisplayIndex":3},{"Name":"Start","Description":"Value for Start state","Type":"ArcDEG","Default":null,"DisplayIndex":90},{"Name":"End","Description":"Value for End state","Type":"ArcDEG","Default":null,"DisplayIndex":91},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"StageStart","Description":"Start state animation","Type":"Integer","Default":null,"DisplayIndex":102},{"Name":"StageEnd","Description":"End state for animation","Type":"Integer","Default":null,"DisplayIndex":103},{"Name":"Manual","Description":"Mouse interaction possible","Type":"Boolean","Default":true,"DisplayIndex":105},{"Name":"AutoReset","Description":"Plays the full animation [0.0] to [0.5] and then backwards [0.5] to [1.0].","Type":"Boolean","Default":false,"DisplayIndex":106}]},{"Name":"IGX.Std.XRasterRotator","Description":"Rasterized rotation around local X axis.","Type":"Interactor","DisplayIndex":2,"Parameters":[{"Name":"Minimum","Description":"The minimum value of the object X rotation","Type":"ArcDEG","Default":0,"DisplayIndex":1},{"Name":"Maximum","Description":"The maximum value of the object X rotation","Type":"ArcDEG","Default":90,"DisplayIndex":2},{"Name":"Raster","Description":"The raster value","Type":"ArcDEG","Default":15,"DisplayIndex":3},{"Name":"Start","Description":"Value for Start state","Type":"ArcDEG","Default":null,"DisplayIndex":90},{"Name":"End","Description":"Value for End state","Type":"ArcDEG","Default":null,"DisplayIndex":91},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"StageStart","Description":"Start state animation","Type":"Integer","Default":null,"DisplayIndex":102},{"Name":"StageEnd","Description":"Start state animation","Type":"Integer","Default":null,"DisplayIndex":103},{"Name":"Manual","Description":"Mouse interaction possible","Type":"Boolean","Default":true,"DisplayIndex":105},{"Name":"AutoReset","Description":"Plays the full animation [0.0] to [0.5] and then backwards [0.5] to [1.0].","Type":"Boolean","Default":false,"DisplayIndex":106}]},{"Name":"IGX.Std.XValueRotator","Description":"Rotation to fix values around local X axis.","Type":"Interactor","DisplayIndex":3,"Parameters":[{"Name":"Values","Description":"Array of available rotation values","Type":"ArcDEG[]","Default":"[0.0, 90.0]","DisplayIndex":1},{"Name":"Start","Description":"Value for Start state","Type":"ArcDEG","Default":null,"DisplayIndex":90},{"Name":"End","Description":"Value for End state","Type":"ArcDEG","Default":null,"DisplayIndex":91},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"Manual","Description":"Mouse interaction possible","Type":"Boolean","Default":true,"DisplayIndex":105}]},{"Name":"IGX.Std.YRangeRotator","Description":"Rasterized rotation around local Y axis.","Type":"Interactor","DisplayIndex":4,"Parameters":[{"Name":"Minimum","Description":"The minimum value of the object Y rotation","Type":"ArcDEG","Default":0,"DisplayIndex":1},{"Name":"Maximum","Description":"The maximum value of the object Y rotation","Type":"ArcDEG","Default":90,"DisplayIndex":2},{"Name":"Snap","Description":"Snap range for both limits","Type":"ArcDEG","Default":0,"DisplayIndex":3},{"Name":"Start","Description":"Value for Start state","Type":"ArcDEG","Default":null,"DisplayIndex":90},{"Name":"End","Description":"Value for End state","Type":"ArcDEG","Default":null,"DisplayIndex":91},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"StageStart","Description":"Start state animation","Type":"Integer","Default":null,"DisplayIndex":102},{"Name":"StageEnd","Description":"Start state animation","Type":"Integer","Default":null,"DisplayIndex":103},{"Name":"Manual","Description":"Mouse interaction possible","Type":"Boolean","Default":true,"DisplayIndex":105},{"Name":"AutoReset","Description":"Plays the full animation [0.0] to [0.5] and then backwards [0.5] to [1.0].","Type":"Boolean","Default":false,"DisplayIndex":106}]},{"Name":"IGX.Std.YRasterRotator","Description":"Rasterized rotation around local Y axis.","Type":"Interactor","DisplayIndex":5,"Parameters":[{"Name":"Minimum","Description":"The minimum value of the object Y rotation","Type":"ArcDEG","Default":0,"DisplayIndex":1},{"Name":"Maximum","Description":"The maximum value of the object Y rotation","Type":"ArcDEG","Default":90,"DisplayIndex":2},{"Name":"Raster","Description":"The raster value","Type":"ArcDEG","Default":15,"DisplayIndex":3},{"Name":"Start","Description":"Value for Start state","Type":"ArcDEG","Default":null,"DisplayIndex":90},{"Name":"End","Description":"Value for End state","Type":"ArcDEG","Default":null,"DisplayIndex":91},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"Manual","Description":"Mouse interaction possible","Type":"Boolean","Default":true,"DisplayIndex":105},{"Name":"AutoReset","Description":"Plays the full animation [0.0] to [0.5] and then backwards [0.5] to [1.0].","Type":"Boolean","Default":false,"DisplayIndex":106}]},{"Name":"IGX.Std.YValueRotator","Description":"Rotation to fix values around local Y axis.","Type":"Interactor","DisplayIndex":6,"Parameters":[{"Name":"Values","Description":"Array of available rotation values","Type":"ArcDEG[]","Default":"[0.0, 90.0]","DisplayIndex":1},{"Name":"Start","Description":"Value for Start state","Type":"ArcDEG","Default":null,"DisplayIndex":90},{"Name":"End","Description":"Value for End state","Type":"ArcDEG","Default":null,"DisplayIndex":91},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"Manual","Description":"Mouse interaction possible","Type":"Boolean","Default":true,"DisplayIndex":105}]},{"Name":"IGX.Std.ZRangeRotator","Description":"Rasterized rotation around local Z axis.","Type":"Interactor","DisplayIndex":7,"Parameters":[{"Name":"Minimum","Description":"The minimum value of the object Z rotation","Type":"ArcDEG","Default":0,"DisplayIndex":1},{"Name":"Maximum","Description":"The maximum value of the object Z rotation","Type":"ArcDEG","Default":90,"DisplayIndex":2},{"Name":"Snap","Description":"Snap range for both limits","Type":"ArcDEG","Default":0,"DisplayIndex":3},{"Name":"Start","Description":"Value for Start state","Type":"ArcDEG","Default":null,"DisplayIndex":90},{"Name":"End","Description":"Value for End state","Type":"ArcDEG","Default":null,"DisplayIndex":91},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"StageStart","Description":"Start state animation","Type":"Integer","Default":null,"DisplayIndex":102},{"Name":"StageEnd","Description":"Start state animation","Type":"Integer","Default":null,"DisplayIndex":103},{"Name":"Manual","Description":"Mouse interaction possible","Type":"Boolean","Default":true,"DisplayIndex":105},{"Name":"AutoReset","Description":"Plays the full animation [0.0] to [0.5] and then backwards [0.5] to [1.0].","Type":"Boolean","Default":false,"DisplayIndex":106}]},{"Name":"IGX.Std.ZRasterRotator","Description":"Rasterized rotation around local Z axis.","Type":"Interactor","DisplayIndex":8,"Parameters":[{"Name":"Minimum","Description":"The minimum value of the object Z rotation","Type":"ArcDEG","Default":0,"DisplayIndex":1},{"Name":"Maximum","Description":"The maximum value of the object Z rotation","Type":"ArcDEG","Default":90,"DisplayIndex":2},{"Name":"Raster","Description":"The raster value","Type":"ArcDEG","Default":15,"DisplayIndex":3},{"Name":"Start","Description":"Value for Start state","Type":"ArcDEG","Default":null,"DisplayIndex":90},{"Name":"End","Description":"Value for End state","Type":"ArcDEG","Default":null,"DisplayIndex":91},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"Manual","Description":"Mouse interaction possible","Type":"Boolean","Default":true,"DisplayIndex":105},{"Name":"AutoReset","Description":"Plays the full animation [0.0] to [0.5] and then backwards [0.5] to [1.0].","Type":"Boolean","Default":false,"DisplayIndex":106}]},{"Name":"IGX.Std.ZValueRotator","Description":"Rotation to fix values around local Z axis.","Type":"Interactor","DisplayIndex":9,"Parameters":[{"Name":"Values","Description":"Array of available rotation values","Type":"ArcDEG[]","Default":"[0.0, 90.0]","DisplayIndex":1},{"Name":"Start","Description":"Value for Start state","Type":"ArcDEG","Default":null,"DisplayIndex":90},{"Name":"End","Description":"Value for End state","Type":"ArcDEG","Default":null,"DisplayIndex":91},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"Manual","Description":"Mouse interaction possible","Type":"Boolean","Default":true,"DisplayIndex":105}]},{"Name":"IGX.Std.XRangeTranslator","Description":"Restricted translation along local X axis.","Type":"Interactor","DisplayIndex":11,"Parameters":[{"Name":"Minimum","Description":"The minimum value of the object X position","Type":"LengthM","Default":0,"DisplayIndex":1},{"Name":"Maximum","Description":"The maximum value of the object X position","Type":"LengthM","Default":1,"DisplayIndex":2},{"Name":"Snap","Description":"The snap distance","Type":"LengthM","Default":0,"DisplayIndex":3},{"Name":"Start","Description":"Value for Start state","Type":"LengthM","Default":null,"DisplayIndex":90},{"Name":"End","Description":"Value for End state","Type":"LengthM","Default":null,"DisplayIndex":91},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"StageStart","Description":"Start state animation","Type":"Integer","Default":null,"DisplayIndex":102},{"Name":"StageEnd","Description":"Start state animation","Type":"Integer","Default":null,"DisplayIndex":103},{"Name":"Manual","Description":"Mouse interaction possible","Type":"Boolean","Default":true,"DisplayIndex":105},{"Name":"AutoReset","Description":"Plays the full animation [0.0] to [0.5] and then backwards [0.5] to [1.0].","Type":"Boolean","Default":false,"DisplayIndex":106}]},{"Name":"IGX.Std.XRasterTranslator","Description":"Rasterized translation along local X axis.","Type":"Interactor","DisplayIndex":12,"Parameters":[{"Name":"Minimum","Description":"The minimum value of the object X position","Type":"LengthM","Default":0,"DisplayIndex":1},{"Name":"Maximum","Description":"The maximum value of the object X position","Type":"LengthM","Default":1,"DisplayIndex":2},{"Name":"Raster","Description":"The raster value","Type":"LengthM","Default":0.1,"DisplayIndex":3},{"Name":"Start","Description":"Value for Start state","Type":"LengthM","Default":null,"DisplayIndex":90},{"Name":"End","Description":"Value for End state","Type":"LengthM","Default":null,"DisplayIndex":91},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"StageStart","Description":"Start state animation","Type":"Integer","Default":null,"DisplayIndex":102},{"Name":"StageEnd","Description":"Start state animation","Type":"Integer","Default":null,"DisplayIndex":103},{"Name":"Manual","Description":"Mouse interaction possible","Type":"Boolean","Default":true,"DisplayIndex":105},{"Name":"AutoReset","Description":"Plays the full animation [0.0] to [0.5] and then backwards [0.5] to [1.0].","Type":"Boolean","Default":false,"DisplayIndex":106}]},{"Name":"IGX.Std.XValueTranslator","Description":"Translation to fix values along local X axis.","Type":"Interactor","DisplayIndex":13,"Parameters":[{"Name":"Values","Description":"Array of available position values","Type":"LengthM[]","Default":"[0.0, 1.0]","DisplayIndex":1},{"Name":"Start","Description":"Value for Start state","Type":"LengthM","Default":null,"DisplayIndex":90},{"Name":"End","Description":"Value for End state","Type":"LengthM","Default":null,"DisplayIndex":91},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"Manual","Description":"Mouse interaction possible","Type":"Boolean","Default":true,"DisplayIndex":105}]},{"Name":"IGX.Std.YRangeTranslator","Description":"Restricted translation along local Y axis.","Type":"Interactor","DisplayIndex":14,"Parameters":[{"Name":"Minimum","Description":"The minimum value of the object Y position","Type":"LengthM","Default":0,"DisplayIndex":1},{"Name":"Maximum","Description":"The maximum value of the object Y position","Type":"LengthM","Default":1,"DisplayIndex":2},{"Name":"Snap","Description":"The snap distance","Type":"LengthM","Default":0,"DisplayIndex":3},{"Name":"Start","Description":"Value for Start state","Type":"LengthM","Default":null,"DisplayIndex":90},{"Name":"End","Description":"Value for End state","Type":"LengthM","Default":null,"DisplayIndex":91},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"StageStart","Description":"Start state animation","Type":"Integer","Default":null,"DisplayIndex":102},{"Name":"StageEnd","Description":"Start state animation","Type":"Integer","Default":null,"DisplayIndex":103},{"Name":"Manual","Description":"Mouse interaction possible","Type":"Boolean","Default":true,"DisplayIndex":105},{"Name":"AutoReset","Description":"Plays the full animation [0.0] to [0.5] and then backwards [0.5] to [1.0].","Type":"Boolean","Default":false,"DisplayIndex":106}]},{"Name":"IGX.Std.YRasterTranslator","Description":"Rasterized translation along local Y axis.","Type":"Interactor","DisplayIndex":15,"Parameters":[{"Name":"Minimum","Description":"The minimum value of the object Y position","Type":"LengthM","Default":0,"DisplayIndex":1},{"Name":"Maximum","Description":"The maximum value of the object Y position","Type":"LengthM","Default":1,"DisplayIndex":2},{"Name":"Raster","Description":"The raster value","Type":"LengthM","Default":0.1,"DisplayIndex":3},{"Name":"Start","Description":"Value for Start state","Type":"LengthM","Default":null,"DisplayIndex":90},{"Name":"End","Description":"Value for End state","Type":"LengthM","Default":null,"DisplayIndex":91},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"Manual","Description":"Mouse interaction possible","Type":"Boolean","Default":true,"DisplayIndex":105},{"Name":"AutoReset","Description":"Plays the full animation [0.0] to [0.5] and then backwards [0.5] to [1.0].","Type":"Boolean","Default":false,"DisplayIndex":106}]},{"Name":"IGX.Std.YValueTranslator","Description":"Translation to fix values along local Y axis.","Type":"Interactor","DisplayIndex":16,"Parameters":[{"Name":"Values","Description":"Array of available position values","Type":"LengthM[]","Default":"[0.0, 1.0]","DisplayIndex":1},{"Name":"Start","Description":"Value for Start state","Type":"LengthM","Default":null,"DisplayIndex":90},{"Name":"End","Description":"Value for End state","Type":"LengthM","Default":null,"DisplayIndex":91},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"Manual","Description":"Mouse interaction possible","Type":"Boolean","Default":true,"DisplayIndex":105}]},{"Name":"IGX.Std.ZRangeTranslator","Description":"Restricted translation along local Z axis.","Type":"Interactor","DisplayIndex":17,"Parameters":[{"Name":"Minimum","Description":"The minimum value of the object Z position","Type":"LengthM","Default":0,"DisplayIndex":1},{"Name":"Maximum","Description":"The maximum value of the object Z position","Type":"LengthM","Default":1,"DisplayIndex":2},{"Name":"Snap","Description":"The snap distance","Type":"LengthM","Default":0,"DisplayIndex":3},{"Name":"Start","Description":"Value for Start state","Type":"LengthM","Default":null,"DisplayIndex":90},{"Name":"End","Description":"Value for End state","Type":"LengthM","Default":null,"DisplayIndex":91},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"StageStart","Description":"Start state animation","Type":"Integer","Default":null,"DisplayIndex":102},{"Name":"StageEnd","Description":"Start state animation","Type":"Integer","Default":null,"DisplayIndex":103},{"Name":"Manual","Description":"Mouse interaction possible","Type":"Boolean","Default":true,"DisplayIndex":105},{"Name":"AutoReset","Description":"Plays the full animation [0.0] to [0.5] and then backwards [0.5] to [1.0].","Type":"Boolean","Default":false,"DisplayIndex":106}]},{"Name":"IGX.Std.ZRasterTranslator","Description":"Rasterized translation along local Z axis.","Type":"Interactor","DisplayIndex":18,"Parameters":[{"Name":"Minimum","Description":"The minimum value of the object Z position","Type":"LengthM","Default":0,"DisplayIndex":1},{"Name":"Maximum","Description":"The maximum value of the object Z position","Type":"LengthM","Default":1,"DisplayIndex":2},{"Name":"Raster","Description":"The raster value","Type":"LengthM","Default":0.1,"DisplayIndex":3},{"Name":"Start","Description":"Value for Start state","Type":"LengthM","Default":null,"DisplayIndex":90},{"Name":"End","Description":"Value for End state","Type":"LengthM","Default":null,"DisplayIndex":91},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"Manual","Description":"Mouse interaction possible","Type":"Boolean","Default":true,"DisplayIndex":105},{"Name":"AutoReset","Description":"Plays the full animation [0.0] to [0.5] and then backwards [0.5] to [1.0].","Type":"Boolean","Default":false,"DisplayIndex":106}]},{"Name":"IGX.Std.ZValueTranslator","Description":"Translation to fix values along local Z axis.","Type":"Interactor","DisplayIndex":19,"Parameters":[{"Name":"Values","Description":"Array of available position values","Type":"LengthM[]","Default":"[0.0, 1.0]","DisplayIndex":1},{"Name":"Start","Description":"Value for Start state","Type":"LengthM","Default":null,"DisplayIndex":90},{"Name":"End","Description":"Value for End state","Type":"LengthM","Default":null,"DisplayIndex":91},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"Manual","Description":"Mouse interaction possible","Type":"Boolean","Default":true,"DisplayIndex":105}]},{"Name":"IGX.Std.BasicLinearInterpolator","Description":"Linear interpolation of a position/rotation value","Type":"Interactor","DisplayIndex":25,"Parameters":[{"Name":"StartValue","Description":"Value before or at StartTime","Type":"Float","Default":"0.0","DisplayIndex":1},{"Name":"EndValue","Description":"Value at or after EndTime","Type":"Float","Default":"0.0","DisplayIndex":2},{"Name":"StartTime","Description":"Time where the movement starts.","Type":"Float","Default":"0.0","DisplayIndex":3},{"Name":"EndTime","Description":"Time where the movement ends.","Type":"Float","Default":"1.0","DisplayIndex":4},{"Name":"Mode","Description":"XPosition ... ZRotation","Type":"String","Default":null,"DisplayIndex":5},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"Manual","Description":"Mouse interaction possible","Type":"Boolean","Default":true,"DisplayIndex":105}]},{"Name":"IGX.Std.AnimationInteractor","Description":"Interactor based on external animation data","Type":"Interactor","DisplayIndex":20,"Parameters":[{"Name":"Animation","Description":"Fully scoped animation id","Type":"String","Default":null,"DisplayIndex":1},{"Name":"Start","Description":"Time value for Start state","Type":"Float","Default":0,"DisplayIndex":10},{"Name":"End","Description":"Time value for End state","Type":"Float","Default":1,"DisplayIndex":11},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":90},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":91},{"Name":"BackwardAnimation","Description":"(optional) Different backward animation","Type":"String","Default":null,"DisplayIndex":100},{"Name":"BackwardPeriod","Description":"Period used for the Backward Animation ","Type":"Float","Default":null,"DisplayIndex":101},{"Name":"IntermediateCalculation","Description":"Biggest jump without kinematic recalculation. Range: 0.01 to 0.99. Start with 0.2 (20%).","Type":"Float","Default":null,"DisplayIndex":102},{"Name":"Record","Description":"Save positions of first execution and reuse them. Avoid for iteractors modifying the same node.","Type":"Boolean","Default":false,"DisplayIndex":103},{"Name":"Param1","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":201},{"Name":"Param2","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":202},{"Name":"Param3","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":203},{"Name":"Param4","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":204},{"Name":"Param5","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":205},{"Name":"Param6","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":206},{"Name":"Param7","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":207},{"Name":"Param8","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":208},{"Name":"Param9","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":209},{"Name":"Param10","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":210},{"Name":"Param11","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":211},{"Name":"Param12","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":212},{"Name":"Param13","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":213},{"Name":"Param14","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":214},{"Name":"Param15","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":215},{"Name":"Param16","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":216},{"Name":"Param17","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":217},{"Name":"Param18","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":218},{"Name":"Param19","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":219},{"Name":"Param20","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":220},{"Name":"Param21","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":221},{"Name":"Param22","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":222},{"Name":"Param23","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":223},{"Name":"Param24","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":224},{"Name":"Param25","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":225},{"Name":"Param26","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":226},{"Name":"Param27","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":227},{"Name":"Param28","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":228},{"Name":"Param29","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":229},{"Name":"Param30","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":230},{"Name":"Param31","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":231},{"Name":"Param32","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":232},{"Name":"Param33","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":233},{"Name":"Param34","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":234},{"Name":"Param35","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":235},{"Name":"Param36","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":236},{"Name":"Param37","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":237},{"Name":"Param38","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":238},{"Name":"Param39","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":239},{"Name":"Param40","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":240},{"Name":"Param41","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":241},{"Name":"Param42","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":242},{"Name":"Param43","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":243},{"Name":"Param44","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":244},{"Name":"Param45","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":245},{"Name":"Param46","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":246},{"Name":"Param47","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":247},{"Name":"Param48","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":248},{"Name":"Param49","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":249},{"Name":"Param50","Description":"Parameter for animations and kinematics","Type":"String","Default":null,"DisplayIndex":250}]},{"Name":"IGX.Std.DeformationInteractor","Description":"Deforms an object","Type":"Interactor","DisplayIndex":30,"Parameters":[{"Name":"Inverse","Description":"Flip the direction the deformation is controlled.","Type":"Boolean","Default":false,"DisplayIndex":1},{"Name":"Start","Description":"Time value for Start state","Type":"Float","Default":0,"DisplayIndex":10},{"Name":"End","Description":"Time value for End state","Type":"Float","Default":1,"DisplayIndex":11},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101},{"Name":"AutoReset","Description":"Plays the full animation [0.0] to [0.5] and then backwards [0.5] to [1.0].","Type":"Boolean","Default":false,"DisplayIndex":102}]},{"Name":"IGX.Std.OffsetRotator","Description":"Interactor for offset rotation","Type":"Interactor","DisplayIndex":31,"Parameters":[{"Name":"Minimum","Description":"Minimum angle","Type":"ArcDEG","Default":0,"DisplayIndex":1},{"Name":"Maximum","Description":"Maximum angle","Type":"ArcDEG","Default":90,"DisplayIndex":2},{"Name":"Start","Description":"Start angle","Type":"ArcDEG","Default":0,"DisplayIndex":3},{"Name":"End","Description":"End angle","Type":"ArcDEG","Default":90,"DisplayIndex":4},{"Name":"StageStart","Description":"Start angle","Type":"ArcDEG","Default":0,"DisplayIndex":5},{"Name":"StageEnd","Description":"End angle","Type":"ArcDEG","Default":90,"DisplayIndex":6},{"Name":"Thickness","Description":"Thickness of the object","Type":"Float","Default":0,"DisplayIndex":7},{"Name":"RotationAxis","Description":"Axis to rotate arround","Type":"String","Default":"X","DisplayIndex":8},{"Name":"Offset","Description":"Side to rotate","Type":"String","Default":"Left","DisplayIndex":9},{"Name":"AutoReset","Description":"Plays the full animation [0.0] to [0.5] and then backwards [0.5] to [1.0].","Type":"Boolean","Default":false,"DisplayIndex":10}]},{"Name":"IGX.Std.VisibilityInteractor","Description":"Controls the visibility of a component","Type":"Interactor","DisplayIndex":40,"Parameters":[{"Name":"Threshold","Description":"Time value that triggers visibility","Type":"Float","Default":0.1,"DisplayIndex":10},{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101}]},{"Name":"IGX.Std.EmptyInteractor","Description":"Does nothing, can be used as placeholder","Type":"Interactor","DisplayIndex":41,"Parameters":[{"Name":"Stage","Description":"Animation stage","Type":"Integer","Default":1,"DisplayIndex":100},{"Name":"Period","Description":"Animation period","Type":"Float","Default":1,"DisplayIndex":101}]}]
package/_Package.json ADDED
@@ -0,0 +1,8 @@
1
+ {
2
+ "Package": "IG.GFX.Standard",
3
+ "Scope": "IGX.Std",
4
+ "Description": "Standard Interactors",
5
+ "Type": "Interactor",
6
+ "RunTime": true,
7
+ "Copyright": "Copyright (C) 2013 - 2023 intelligentgraphics AG. All Rights Reserved."
8
+ }
package/package.json ADDED
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "@intelligentgraphics/3d.ig.gfx.standard",
3
+ "description": "IG.GFX.Standard 1.8.2 (1.8.2.100)",
4
+ "version": "1.8.2",
5
+ "dependencies": {
6
+ "@intelligentgraphics/3d.ig.gfx.core": "^2.6.0",
7
+ "@intelligentgraphics/3d.ig.math": "^1.1.0"
8
+ },
9
+ "main": "IG.GFX.Standard.js",
10
+ "types": "IG.GFX.Standard.d.ts",
11
+ "publishConfig": {
12
+ "acccess": "public"
13
+ },
14
+ "ig": {
15
+ "scriptingLibrary": true
16
+ }
17
+ }