@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.
- package/IG.GFX.Standard.d.ts +1045 -0
- package/IG.GFX.Standard.js +8 -0
- package/Readme.md +221 -0
- package/_Index.json +1 -0
- package/_Package.json +8 -0
- package/package.json +17 -0
|
@@ -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
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
|
+
}
|