@intelligentgraphics/3d.ig.gfx.standard 1.10.2 → 1.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,13 @@
1
1
  /*
2
- * Version: 1.10.2.100
3
- * Commit: a1e67fa
4
- * Date: 2024-08-07T09:40:06.031Z
2
+ * Version: 1.10.4.100
3
+ * Commit: dd29657
4
+ * Date: 2024-11-07T12:19:50.842Z
5
5
  *
6
6
  * @preserve
7
7
  */
8
- declare namespace IGX.Std {
8
+ /// <reference types="@intelligentgraphics/3d.ig.math" />
9
+ /// <reference types="@intelligentgraphics/3d.ig.gfx.core" />
10
+ declare module IGX.Std {
9
11
  const Minimum = "Minimum";
10
12
  const Maximum = "Maximum";
11
13
  const Snap = "Snap";
@@ -118,7 +120,7 @@ declare namespace IGX.Std {
118
120
  */
119
121
  function getAbsPath(componentId: string, relPath: string): string;
120
122
  }
121
- declare namespace IGX.Std {
123
+ declare module IGX.Std {
122
124
  class KinematicChain {
123
125
  /** how are these joints inserted? (unit vector for all joints) */
124
126
  GeometryBase: string;
@@ -202,7 +204,7 @@ declare namespace IGX.Std {
202
204
  *
203
205
  * Copyright (C) 2013 - 2024 intelligentgraphics AG. All Rights Reserved.
204
206
  */
205
- declare namespace IGX.Std {
207
+ declare module IGX.Std {
206
208
  /**
207
209
  * Describes an animation state. An animation state may provide values for
208
210
  * Rotation and/or Position and/or Scaling and/or Deformation.
@@ -319,7 +321,7 @@ declare namespace IGX.Std {
319
321
  }[];
320
322
  }
321
323
  }
322
- declare namespace IGX.Std {
324
+ declare module IGX.Std {
323
325
  type Array3 = [number, number, number];
324
326
  export type ShadowScene = Record<string, {
325
327
  position: Float3;
@@ -634,7 +636,7 @@ declare namespace IGX.Std {
634
636
  static rotationMatrix(rotationNormal: Float3, angRad: number): number[][];
635
637
  }
636
638
  }
637
- declare namespace IGX.Std {
639
+ declare module IGX.Std {
638
640
  /**
639
641
  * Parameters for the XRangeRotator class
640
642
  */
@@ -732,7 +734,7 @@ declare namespace IGX.Std {
732
734
  }
733
735
  export {};
734
736
  }
735
- declare namespace IGX.Std {
737
+ declare module IGX.Std {
736
738
  /**
737
739
  * Parameters for the XRangeTranslator class
738
740
  */
@@ -830,7 +832,7 @@ declare namespace IGX.Std {
830
832
  }
831
833
  export {};
832
834
  }
833
- declare namespace IGX.Std {
835
+ declare module IGX.Std {
834
836
  /**
835
837
  * Parameters for the XRasterRotator class
836
838
  */
@@ -927,7 +929,7 @@ declare namespace IGX.Std {
927
929
  }
928
930
  export {};
929
931
  }
930
- declare namespace IGX.Std {
932
+ declare module IGX.Std {
931
933
  /**
932
934
  * Parameters for the XRasterTranslator class
933
935
  */
@@ -1024,7 +1026,7 @@ declare namespace IGX.Std {
1024
1026
  }
1025
1027
  export {};
1026
1028
  }
1027
- declare namespace IGX.Std {
1029
+ declare module IGX.Std {
1028
1030
  /**
1029
1031
  * Parameters for the XValueRotator class
1030
1032
  */
@@ -1084,7 +1086,7 @@ declare namespace IGX.Std {
1084
1086
  }
1085
1087
  export {};
1086
1088
  }
1087
- declare namespace IGX.Std {
1089
+ declare module IGX.Std {
1088
1090
  /**
1089
1091
  * Parameters for the XValueTranslator class
1090
1092
  */
@@ -1144,7 +1146,7 @@ declare namespace IGX.Std {
1144
1146
  }
1145
1147
  export {};
1146
1148
  }
1147
- declare namespace IGX.Std {
1149
+ declare module IGX.Std {
1148
1150
  /**
1149
1151
  * Parameters for the YRangeRotator class
1150
1152
  */
@@ -1242,7 +1244,7 @@ declare namespace IGX.Std {
1242
1244
  }
1243
1245
  export {};
1244
1246
  }
1245
- declare namespace IGX.Std {
1247
+ declare module IGX.Std {
1246
1248
  /**
1247
1249
  * Parameters for the YRangeTranslator class
1248
1250
  */
@@ -1340,7 +1342,7 @@ declare namespace IGX.Std {
1340
1342
  }
1341
1343
  export {};
1342
1344
  }
1343
- declare namespace IGX.Std {
1345
+ declare module IGX.Std {
1344
1346
  /**
1345
1347
  * Parameters for the YRasterRotator class
1346
1348
  */
@@ -1423,7 +1425,7 @@ declare namespace IGX.Std {
1423
1425
  }
1424
1426
  export {};
1425
1427
  }
1426
- declare namespace IGX.Std {
1428
+ declare module IGX.Std {
1427
1429
  /**
1428
1430
  * Parameters for the YRasterTranslator class
1429
1431
  */
@@ -1506,7 +1508,7 @@ declare namespace IGX.Std {
1506
1508
  }
1507
1509
  export {};
1508
1510
  }
1509
- declare namespace IGX.Std {
1511
+ declare module IGX.Std {
1510
1512
  /**
1511
1513
  * Parameters for the YValueRotator class
1512
1514
  */
@@ -1566,7 +1568,7 @@ declare namespace IGX.Std {
1566
1568
  }
1567
1569
  export {};
1568
1570
  }
1569
- declare namespace IGX.Std {
1571
+ declare module IGX.Std {
1570
1572
  /**
1571
1573
  * Parameters for the YValueTranslator class
1572
1574
  */
@@ -1626,7 +1628,7 @@ declare namespace IGX.Std {
1626
1628
  }
1627
1629
  export {};
1628
1630
  }
1629
- declare namespace IGX.Std {
1631
+ declare module IGX.Std {
1630
1632
  /**
1631
1633
  * Parameters for the ZRangeRotator class
1632
1634
  */
@@ -1724,7 +1726,7 @@ declare namespace IGX.Std {
1724
1726
  }
1725
1727
  export {};
1726
1728
  }
1727
- declare namespace IGX.Std {
1729
+ declare module IGX.Std {
1728
1730
  /**
1729
1731
  * Parameters for the ZRangeTranslator class
1730
1732
  */
@@ -1822,7 +1824,7 @@ declare namespace IGX.Std {
1822
1824
  }
1823
1825
  export {};
1824
1826
  }
1825
- declare namespace IGX.Std {
1827
+ declare module IGX.Std {
1826
1828
  class ZRasterRotator extends IGX.Core.Interactor {
1827
1829
  absRotation: number;
1828
1830
  nullAxis: Float3;
@@ -1836,7 +1838,7 @@ declare namespace IGX.Std {
1836
1838
  ApplyMotion(touch: IGX.Core.Touch, isFinal: boolean): void;
1837
1839
  }
1838
1840
  }
1839
- declare namespace IGX.Std {
1841
+ declare module IGX.Std {
1840
1842
  class ZRasterTranslator extends IGX.Core.Interactor {
1841
1843
  osCoords: Float3;
1842
1844
  startPosition: number;
@@ -1850,7 +1852,7 @@ declare namespace IGX.Std {
1850
1852
  ApplyMotion(touch: IGX.Core.Touch, isFinal: boolean): void;
1851
1853
  }
1852
1854
  }
1853
- declare namespace IGX.Std {
1855
+ declare module IGX.Std {
1854
1856
  /**
1855
1857
  * Parameters for the ZValueRotator class
1856
1858
  */
@@ -1910,7 +1912,7 @@ declare namespace IGX.Std {
1910
1912
  }
1911
1913
  export {};
1912
1914
  }
1913
- declare namespace IGX.Std {
1915
+ declare module IGX.Std {
1914
1916
  /**
1915
1917
  * Parameters for the ZValueTranslator class
1916
1918
  */
@@ -1970,7 +1972,7 @@ declare namespace IGX.Std {
1970
1972
  }
1971
1973
  export {};
1972
1974
  }
1973
- declare namespace IGX.Std {
1975
+ declare module IGX.Std {
1974
1976
  interface Params extends Pick<AnimationParameters, "Start" | "End" | "StageStart" | "StageEnd" | "Stage" | "Period"> {
1975
1977
  /**
1976
1978
  * The start value
@@ -2012,7 +2014,7 @@ declare namespace IGX.Std {
2012
2014
  }
2013
2015
  export {};
2014
2016
  }
2015
- declare namespace IGX.Std {
2017
+ declare module IGX.Std {
2016
2018
  /**
2017
2019
  * An Interactor for JSON animations with inverse kinematics.
2018
2020
  * Needs AnimationInteractor!
@@ -2117,7 +2119,7 @@ declare namespace IGX.Std {
2117
2119
  private constrain;
2118
2120
  }
2119
2121
  }
2120
- declare namespace IGX.Std {
2122
+ declare module IGX.Std {
2121
2123
  class Cache {
2122
2124
  private rootId;
2123
2125
  private stepSize;
@@ -2145,7 +2147,7 @@ declare namespace IGX.Std {
2145
2147
  interpolate(position: number): ShadowScene;
2146
2148
  }
2147
2149
  }
2148
- declare namespace IGX.Std {
2150
+ declare module IGX.Std {
2149
2151
  interface OtherParameters {
2150
2152
  /**
2151
2153
  * Parameter for animations and kinematics
@@ -2570,7 +2572,7 @@ declare namespace IGX.Std {
2570
2572
  export const Test1: Animation;
2571
2573
  export {};
2572
2574
  }
2573
- declare namespace IGX.Std {
2575
+ declare module IGX.Std {
2574
2576
  /**
2575
2577
  * Parameters for the DeformationInteractor class
2576
2578
  */
@@ -2626,7 +2628,7 @@ declare namespace IGX.Std {
2626
2628
  }
2627
2629
  export {};
2628
2630
  }
2629
- declare namespace IGX.Std {
2631
+ declare module IGX.Std {
2630
2632
  /**
2631
2633
  * Parameters for the OffsetRotator class
2632
2634
  */
@@ -2720,7 +2722,7 @@ declare namespace IGX.Std {
2720
2722
  }
2721
2723
  export {};
2722
2724
  }
2723
- declare namespace IGX.Std {
2725
+ declare module IGX.Std {
2724
2726
  /**
2725
2727
  * Parameters for the VisibilityInteractor class
2726
2728
  */
@@ -2754,7 +2756,7 @@ declare namespace IGX.Std {
2754
2756
  }
2755
2757
  export {};
2756
2758
  }
2757
- declare namespace IGX.Std {
2759
+ declare module IGX.Std {
2758
2760
  interface Params {
2759
2761
  }
2760
2762
  /**
@@ -1,8 +1,8 @@
1
1
  /*
2
- * Version: 1.10.2.100
3
- * Commit: a1e67fa
4
- * Date: 2024-08-07T09:40:06.031Z
2
+ * Version: 1.10.4.100
3
+ * Commit: dd29657
4
+ * Date: 2024-11-07T12:19:50.842Z
5
5
  *
6
6
  * @preserve
7
7
  */
8
- var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(t){for(var e,i=1,a=arguments.length;i<a;i++)for(var o in e=arguments[i])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},__assign.apply(this,arguments)},__spreadArray=this&&this.__spreadArray||function(t,e,i){if(i||2===arguments.length)for(var a,o=0,n=e.length;o<n;o++)!a&&o in e||(a||(a=Array.prototype.slice.call(e,0,o)),a[o]=e[o]);return t.concat(a||Array.prototype.slice.call(e))},__extends=this&&this.__extends||function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};return function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function a(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(a.prototype=i.prototype,new a)}}(),IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX;if(function(IGX){var Std;(function(Std){Std.Minimum="Minimum",Std.Maximum="Maximum",Std.Snap="Snap",Std.Raster="Raster",Std.Values="Values",Std.StartValue="StartValue",Std.EndValue="EndValue",Std.StartTime="StartTime",Std.EndTime="EndTime",Std.Steps="Steps",Std.Mode="Mode",Std.XPosition="XPosition",Std.YPosition="YPosition",Std.ZPosition="ZPosition",Std.XRotation="XRotation",Std.YRotation="YRotation",Std.ZRotation="ZRotation",Std.Start="Start",Std.End="End",Std.Stage="Stage",Std.Period="Period",Std.BackwardPeriod="BackwardPeriod",Std.StageStart="StageStart",Std.StageEnd="StageEnd",Std.Manual="Manual",Std.cString="string",Std.cNumber="number";var commaRegex=/,/g;function SetupValue(parameters,key,fallbackValue){void 0===parameters[key]?parameters[key]=fallbackValue:typeof parameters[key]===Std.cNumber||(typeof parameters[key]===Std.cString?(parameters[key]=eval(parameters[key].replace(commaRegex,".")),typeof parameters[key]!==Std.cNumber&&(parameters[key]=fallbackValue)):parameters[key]=fallbackValue)}function GetValue(t,e){return t[e]}function getAbsPath(t,e){var i=t.slice(0);if("."!==e)if(0===e.indexOf("..")){var a=t.lastIndexOf(".");i=(-1===a?t.substring(0,t.lastIndexOf("o")):t.substring(0,a+1))+e.substr(2)}else"."===t[t.length-1]?i+=e:i+="."+e;return i}Std.SetupValue=SetupValue,Std.SetupValues=function(parameters,fallbackValues){void 0===parameters.Values?parameters.Values=fallbackValues:"string"==typeof parameters.Values&&(parameters.Values=eval(parameters.Values)),parameters.Values.sort((function(t,e){return t-e}))},Std.GetValue=GetValue,Std.SetupAnimation=function(parameters){"string"==typeof parameters.Start&&(parameters.Start=eval(parameters.Start)),"string"==typeof parameters.End&&(parameters.End=eval(parameters.End)),"string"==typeof parameters.StageStart&&(parameters.StageStart=eval(parameters.StageStart)),"string"==typeof parameters.StageEnd&&(parameters.StageEnd=eval(parameters.StageEnd)),void 0===parameters.Stage?parameters.Stage=1:"string"==typeof parameters.Stage&&(parameters.Stage=eval(parameters.Stage)),void 0===parameters.Period?parameters.Period=1:"string"==typeof parameters.Period&&(parameters.Period=eval(parameters.Period)),void 0===parameters.BackwardPeriod?parameters.BackwardPeriod=parameters.Period:"string"==typeof parameters.BackwardPeriod&&(parameters.BackwardPeriod=eval(parameters.BackwardPeriod)),"string"==typeof parameters.IntermediateCalculation&&(parameters.IntermediateCalculation=eval(parameters.IntermediateCalculation)),void 0===parameters.Record?parameters.Record=!1:"string"==typeof parameters.Record&&(parameters.Record="true"===parameters.Record.toLowerCase()),void 0===parameters.DebugLevel?parameters.DebugLevel=0:"string"==typeof parameters.DebugLevel&&(parameters.DebugLevel=eval(parameters.DebugLevel))},Std.getAbsPath=getAbsPath})(Std=IGX.Std||(IGX.Std={}))}(IGX||(IGX={})),function(t){!function(t){var e=function(){};t.KinematicChain=e}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(t){var e=function(){};t.AnimationState=e;var i=function(){};t.Animation=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(){function i(t){void 0===t&&(t=!1),this.useShadowApi=!1,this.callLog=[],this.printCallAsError=!1,this.debug=t,this.debug&&console.log("new ApiConnection()")}return i.prototype.getNodeInfo=function(e){return{position:t.API.GetPosition(e),rotation:[t.API.GetXRotation(e),t.API.GetYRotation(e),t.API.GetZRotation(e)],scaling:t.API.GetScaling(e),visibility:t.API.GetVisibility(e),deformation:t.API.GetDeformation?t.API.GetDeformation(e):0,activedeformation:!1}},i.prototype.makeShadow=function(t,e){var i={};if(i[t]=__assign({},this.getNodeInfo(t)),e)for(var a=t+".",o=0,n=e;o<n.length;o++){var r=n[o];i[a+r]=__assign({},this.getNodeInfo(a+r))}return i},i.prototype.setShadowWithParameters=function(t,e,i,a,o,n){var r={},s=[t];e.forEach((function(t){return s=__spreadArray(__spreadArray([],s,!0),[t],!1)}));var h=t;h=h.slice(0,h.lastIndexOf("_")+1);for(var p=0,m=s;p<m.length;p++){for(var u=m[p],d=void 0,l=0;l<a._loops.length;l++)if(u===a._loops[l].path){d=l;break}if(d){var c=t+"."+u;"."===u&&(c=t);var S=a._loops[d];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="."===u?t:u===t?u:t+"."+u;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),m=t.API.GetVisibility(s+"."+o);t.API.SetPoint(h+".",i,p[0],p[1],m!=n?m: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.SetQuaternionRotation=function(e,i,a,o,n){var r;if(t.API.SetQuaternionRotation){if(t.API.SetQuaternionRotation(e,i,a,o,n),this.useShadowApi){var s=null===(r=this.shadow)||void 0===r?void 0:r[e];if(s){var h={x:i,y:a,z:o,w:n},p=IG.Math.Euler.createFromQuaternion(h,"xyz");return s.rotation[0]=p.x*IG.Math.Rad2Deg,s.rotation[1]=p.y*IG.Math.Rad2Deg,void(s.rotation[2]=p.z*IG.Math.Rad2Deg)}return void console.warn("set: nothing found for "+e)}}else{h={x:i,y:a,z:o,w:n},p=IG.Math.Euler.createFromQuaternion(h,"xyz");this.SetXRotation(e,p.x*IG.Math.Rad2Deg),this.SetYRotation(e,p.y*IG.Math.Rad2Deg),this.SetZRotation(e,p.z*IG.Math.Rad2Deg)}},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,m,u,d){var l,c=r,S=s,I=p,f=h;u=u?[S,f].concat(u):[S,f],e.dlog("internal top attached",u),l=null!=d?a.GetLocalPosition(d,i,t.API):t.API.GetWorldPosition(i),e.dlog("#--MatressInitialPosition",l);var v,g,A,P,G,y=o,M=n;e.dlog("minangleDeg",o),e.dlog("maxangleDeg",M),null!=d?(v=a.GetLocalPosition(d,c,t.API),g=a.GetLocalPosition(d,S,t.API),A=a.GetLocalPosition(d,I,t.API),P=a.GetLocalPosition(d,f,t.API),G=a.GetLocalPosition(d,i,t.API)):(v=t.API.GetWorldPosition(c),g=t.API.GetWorldPosition(S),A=t.API.GetWorldPosition(I),P=t.API.GetWorldPosition(f),G=t.API.GetWorldPosition(i));var R={};u.forEach((function(i){e.dlog("attach1",i),R[i]={originalpos:null!=d?a.GetLocalPosition(d,i,t.API):t.API.GetWorldPosition(i),newpos:null},e.dlog("attached")})),e.dlog("leftLowPosRaw",v),e.dlog("leftUpPosRaw",g),e.dlog("rightLowPosRaw",A),e.dlog("rightUpPosRaw",P),e.dlog("articleToBeMoved",G);var C=IG.Math.Vector3.sub(A,v);C.y=0,e.dlog("baseLineDir",C);var b=IG.Math.Vector3.sub(v,A),_=IG.Math.Vector3.sub(g,v);b.y=0;var w=IG.Math.Vector3.magnitude(b)*IG.Math.Vector3.magnitude(_),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===m){var T=IG.Math.Vector3.sub(P,A),X=IG.Math.Vector3.magnitude(b)*IG.Math.Vector3.magnitude(T),E=IG.Math.Vector3.innerProduct(b,T),D=IG.Math.MathS.acos(E/X);e.dlog("0: initial A angle ",V*IG.Math.Rad2Deg,"deg","initial B angle ",D*IG.Math.Rad2Deg,"deg")}var N=IG.Math.Vector3.normalize(IG.Math.Vector3.crossProduct(b,_));e.dlog("rotationnormal",N);var z=y*IG.Math.Deg2Rad,L=z+m*(M*IG.Math.Deg2Rad-z),k=L-V;e.dlog(m,"baseAngleRad:",V,"angwanted:",L,"ang difference:",k);var Y=IG.Math.Matrix3.makeRotationMatrixFromNormalVector(N,k);e.dlog("rotationsmatrix",Y);var Z=IG.Math.Vector3.add(v,IG.Math.Matrix3.multiplyWithVector3(IG.Math.Vector3.sub(g,v),Y));e.dlog("rotated",Z);var F=Z.x,O=Z.y,B=Z.z,J=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(g,P))*IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(g,P)),H=A.x,K=A.y,j=A.z,Q=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(P,A))*IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(P,A));e.dlog(F,O,B,"---\x3e",H,K,j,"]");var U=IG.Math.Vector3.sub(Z,A),W=new t.Float3(0,0,0);2*H-2*F!=0?W.x=(J-Q-F*F+H*H-O*O+K*K-B*B+j*j)/(2*H-2*F):2*K-2*O!=0?W.y=(J-Q-F*F+H*H-O*O+K*K-B*B+j*j)/(2*K-2*O):2*j-2*B!=0?W.z=(J-Q-F*F+H*H-O*O+K*K-B*B+j*j)/(2*j-2*B):console.warn("plane normal is null vector ?!");var q={point:W,normal:IG.Math.Vector3.normalize({x:2*H-2*F,y:2*K-2*O,z:2*j-2*B})},$=a.intersectionPoint({origin:A,direction:U},q);e.dlog("schnittkreiszentrum",$);var tt=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(g,P)),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=C,rt=IG.Math.Vector3.sub(P,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 mt=C,ut=IG.Math.Vector3.sub(ot,Z),dt=IG.Math.Vector3.magnitude(mt)*IG.Math.Vector3.magnitude(ut),lt=IG.Math.Vector3.innerProduct(mt,ut),ct=IG.Math.MathS.acos(lt/dt),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(R).forEach((function(t){var e=R[t],i=a.rotatedVectorAaroundPointBbyNormalCangleRadR(e.originalpos,l,N,-(ct-pt));e.newpos=IG.Math.Vector3.add(i,ft)})),{rotation:St,positionDifference:ft,topAttached:R,baseLineDir:C}},e.calculateAngleAgainstBaseBack=function(e,i,o,n,r){var s;r||(r=t.API),s=null!=n?a.GetLocalPosition(n,i,r):t.API.GetWorldPosition(i);var h=IG.Math.Vector3.sub(s,e.topAttached[o].newpos),p=e.baseLineDir;return IG.Math.Vector3.angleBetween(h,p)*IG.Math.Rad2Deg},e.debug=!1,e}();e.FourBar=i;var a=function(){function e(){}return e.factorOfDirectionFromRayToPlane=function(t,e){var i=IG.Math.Vector3.innerProduct(e.normal,t.direction),a=-IG.Math.Vector3.innerProduct(e.point,e.normal);if(0===i)return 0===IG.Math.Vector3.innerProduct(e.normal,t.origin)+a?0:null;var o=-(IG.Math.Vector3.innerProduct(t.origin,e.normal)+a)/i;return o>=0?o:null},e.intersectionPoint=function(t,i){var a=e.factorOfDirectionFromRayToPlane(t,i);if(null===a)return null;var o=IG.Math.Vector3.scalarMultiply(a,t.direction);return IG.Math.Vector3.add(o,t.origin)},e.rotatedVectorAaroundPointBbyNormalCangleRadR=function(t,e,a,o){var n=a.x,r=a.y,s=a.z,h=Math.sin,p=Math.cos,m=1-p(o),u=h(o),d=p(o),l=[[n*n*m+d,n*r*m-s*u,n*s*m+r*u],[r*n*m+s*u,r*r*m+d,r*s*m-n*u],[s*n*m-r*u,s*r*m+n*u,s*s*m+d]],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]),m=IG.Math.Matrix4.multiply(s,p);return IG.Math.Matrix4.decomposeTRS(m).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),m=s(r),u=h(r);return[[a*a*p+u,a*o*p-n*m,a*n*p+o*m],[o*a*p+n*m,o*o*p+u,o*n*p-a*m],[n*a*p-o*m,n*o*p+a*m,n*n*p+u]]},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.prototype.GetHints=function(){var t=this.parameters.Minimum,e=this.parameters.Maximum,i=this.parameters.Snap/(e-t),a=[0];return i>0&&a.push(i),this.bAutoReset&&(i>0&&a.push(.5-i),a.push(.5),i>0&&a.push(.5+i)),i>0&&a.push(1-i),a.push(1),a},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.prototype.GetHints=function(){var t=this.parameters.Minimum,e=this.parameters.Maximum,i=this.parameters.Snap/(e-t),a=[0];return i>0&&a.push(i),this.bAutoReset&&(i>0&&a.push(.5-i),a.push(.5),i>0&&a.push(.5+i)),i>0&&a.push(1-i),a.push(1),a},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]),m=1;m<o.length;m++){var u=Math.abs(s-o[m]);u<p&&(h=m,p=u)}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.prototype.GetHints=function(){var t=this.parameters.Minimum,e=this.parameters.Maximum,i=this.parameters.Snap/(e-t),a=[0];return i>0&&a.push(i),this.bAutoReset&&(i>0&&a.push(.5-i),a.push(.5),i>0&&a.push(.5+i)),i>0&&a.push(1-i),a.push(1),a},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.prototype.GetHints=function(){var t=this.parameters.Minimum,e=this.parameters.Maximum,i=this.parameters.Snap/(e-t),a=[0];return i>0&&a.push(i),this.bAutoReset&&(i>0&&a.push(.5-i),a.push(.5),i>0&&a.push(.5+i)),i>0&&a.push(1-i),a.push(1),a},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]),m=1;m<o.length;m++){var u=Math.abs(s-o[m]);u<p&&(h=m,p=u)}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.prototype.GetHints=function(){var t=this.parameters.Minimum,e=this.parameters.Maximum,i=this.parameters.Snap/(e-t),a=[0];return i>0&&a.push(i),this.bAutoReset&&(i>0&&a.push(.5-i),a.push(.5),i>0&&a.push(.5+i)),i>0&&a.push(1-i),a.push(1),a},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.prototype.GetHints=function(){var t=this.parameters.Minimum,e=this.parameters.Maximum,i=this.parameters.Snap/(e-t),a=[0];return i>0&&a.push(i),this.bAutoReset&&(i>0&&a.push(.5-i),a.push(.5),i>0&&a.push(.5+i)),i>0&&a.push(1-i),a.push(1),a},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]),m=1;m<o.length;m++){var u=Math.abs(s-o[m]);u<p&&(h=m,p=u)}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);t<a?this.ApplyValue(o):t>a?this.ApplyValue(n):this.ApplyValue(i)},a}(t.Core.Interactor);e.BasicLinearInteractor=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(){function e(e,i){if(this.IGX_API=i||t.API,"object"==typeof e){if(this._ChainList=new Array,Array.isArray(e))for(var a=0,o=e;a<o.length;a++){var n=s=o[a];if(!n.Target)return void console.warn("IGX.Std.KinematicsInteractor: Subchain has no target!");if(!n.Tolerance)return void console.warn("IGX.Std.KinematicsInteractor: Subchain has no tolerance!");if(!n.GeometryBase)return void console.warn("IGX.Std.KinematicsInteractor: Subchain has no GeometryBase defined!");if(n.Parent&&"string"==typeof n.Parent)"root"===n.Parent&&(this._MultiTargetChain=new Array,this._ChainList.push(this._MultiTargetChain)),this._MultiTargetChain.push(n);else{var r=new Array;r.push(n),this._ChainList.push(r)}}else{if(this._Chain=e,!this._Chain.Target)return void console.warn("IGX.Std.KinematicsInteractor: Chain has no target!");if(!this._Chain.Tolerance)return void console.warn("IGX.Std.KinematicsInteractor: Chain has no tolerance!");if(!this._Chain.GeometryBase)return void console.warn("IGX.Std.KinematicsInteractor: Interactor has no GeometryBase defined!");var s;(s=new Array).push(this._Chain),this._ChainList.push(s)}this._MaxIteration=3}else console.warn("IGX.Std.KinematicsInteractor: Not defined.")}return e.prototype.KinematicSolver=function(t,e,i,a){this._ComponentId=t;for(var o=this._ComponentId.split("_")[0]+"__",n=this._ComponentId+".",r=0;r<this._MaxIteration;r++)for(var s=0,h=this._ChainList;s<h.length;s++){var p=h[s];if(1===p.length)this._Chain=this.buildDataStructure(p[0],e,i,n,o,a),this.singleTargetKinematics(n,a);else{this._MultiTargetChain=p;for(var m=0;m<this._MultiTargetChain.length;m++){var u=this._MultiTargetChain[m];u=this.buildDataStructure(u,e,i,n,o,a)}this.multiTargetKinematics(n,a)}}},e.prototype.buildDataStructure=function(e,i,a,o,n,r){var s=this;if(e.Joints.length>0&&e.Joints[0].HeadX){e._Origin=e.Joints[0].HeadX;for(var h=e._Origin.split("."),p="",m=0;m<h.length-1;m++)p+=h[m],m+1<h.length-1&&(p+=".");e._ChainPath=p,e._RootId=""===p?this._ComponentId:this._ComponentId+"."+p;var u=[],d=0,l=/param(\d+)/i;e.Joints.forEach((function(n,h){var p,m,c,S,I,f,v,g,A,P,G,y,M,R,C,b=!1;n.Name?m=(C=n.Name.match(l))?i[parseInt(C[1])-1]:n.Name:m="b".concat(h);n.HeadX?c=(C=n.HeadX.match(l))?i[parseInt(C[1])-1]:n.HeadX:console.warn("IGX.Std.KinematicsInteractor: Joint",m,"is missing its Head (X)!");n.HeadY?S=(C=n.HeadY.match(l))?i[parseInt(C[1])-1]:n.HeadY:console.warn("IGX.Std.KinematicsInteractor: Joint",m,"is missing its Head (Y)!");n.HeadZ?I=(C=n.HeadZ.match(l))?i[parseInt(C[1])-1]:n.HeadZ:console.warn("IGX.Std.KinematicsInteractor: Joint",m,"is missing its Head (Z)!");n.Tail?(f=(C=n.Tail.match(l))?i[parseInt(C[1])-1]:n.Tail,s.isParent(I,f)||console.warn("IGX.Std.KinematicsInteractor: Joint",m,"- Tail isn't child of Head!")):console.warn("IGX.Std.KinematicsInteractor: Joint",m,"is missing its Tail!");R=n.FollowJointNode,P=n.LimitLeft,G=n.LimitRight,y=n.LimitUp,M=n.LimitDown;var _=o+c,w=o+S,x=o+I,V=o+f;a.forEach((function(t){_!==t&&w!==t&&x!==t&&V!==t||(b=!0)})),g=t.Std.Util.GetLocalPosition(e._RootId,o+c,r),A=t.Std.Util.GetLocalPosition(e._RootId,o+f,r),v=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(g,A)),d+=v,p={Name:m,HeadX:c,HeadY:S,HeadZ:I,Tail:f,FollowJointNode:R,LimitLeft:P,LimitRight:G,LimitUp:y,LimitDown:M,_Length:v,_HeadPos:g,_TailPos:A,_Blocked:b},u.push(p)})),e.Joints=u;var c=e.Target.match(l);if(c&&(e.Target=i[parseInt(c[1])-1]),r.IsValid(o+e._Origin)){if(e._OriginPos=t.Std.Util.GetLocalPosition(e._RootId,o+e._Origin,r),r.IsValid(n+e.Target))e._TargetPos=t.Std.Util.GetRelativePosition(n+".",e._RootId,n+e.Target,r);else{if("subbase"!==e.Target)return void console.warn("Target path",e.Target,"not valid.");e._TargetPos=e.Joints[e.Joints.length-1]._TailPos}return e._TotalLength=d,"x"!==e.GeometryBase&&"y"!==e.GeometryBase&&"z"!==e.GeometryBase&&(console.warn('GeometryBase param received not allowed value! Only "x", "y" and "z" are allowed! Returning to default value ("z")'),e.GeometryBase="z"),"y"===e.GeometryBase&&(console.warn("GeometryBase = y not implemented yet. Switching to z now."),e.GeometryBase="z"),e}console.warn("Origin path",e._Origin,"not valid.")}else console.warn("IGX.Std.KinematicsInteractor: Chain has no defined joints!")},e.prototype.isParent=function(t,e){return 0===e.indexOf(t)},e.prototype.getGeometryBase=function(t){var e=this._Chain,i=e.Joints[t],a=e.GeometryBase;return void 0!==i.GeometryBase&&(a=i.GeometryBase),a},e.prototype.getBoneEuler=function(t,e,i){var a=IG.Math.Quaternion.lookAt(e,i),o=IG.Math.Euler.createFromQuaternion(a);return"x"!==t||o.x!==Math.PI&&o.x!==-Math.PI?"z"!==t||o.z!==Math.PI&&o.z!==-Math.PI||(o.z=0,o.x*=-1):(o.x=0,o.z*=-1),o},e.prototype.isConstraintActive=function(t){var e=this._Chain.Joints[t];return void 0!==e.LimitLeft&&void 0!==e.LimitRight&&void 0!==e.LimitUp&&void 0!==e.LimitDown},e.prototype.getChainLevel=function(t){if(!t._ParentChain||"root"===t.Parent)return t._Level=0,0;var e=this.getChainLevel(t._ParentChain)+1;return t._Level=e,e},e.prototype.getEndEffectors=function(t){var e={};return this._MultiTargetChainStructure[t].forEach((function(t){e[t.Parent]||(e[t.Parent]=new Array),e[t.Parent].push(t)})),e},e.prototype.getJoint=function(t){for(var e=0,i=this._ChainList;e<i.length;e++)for(var a=0,o=i[e];a<o.length;a++)for(var n=0,r=o[a].Joints;n<r.length;n++){var s=r[n];if(0===t.indexOf(s.HeadX))return s}return console.warn("IGX.Std.KinematicsInteractor: Couldn't find follow joint",t),null},e.prototype.isFollowingJoint=function(t){var e=this._Chain.Joints[t];return!(!e.FollowJointNode||null===this.getJoint(e.FollowJointNode))},e.prototype.singleTargetKinematics=function(t,e){this.forward(e),this.solve(e),this.draw(t,e)},e.prototype.multiTargetKinematics=function(t,e){for(var i=this,a=this._MultiTargetChain[0],o=0,n=this._MultiTargetChain;o<n.length;o++){if(!(f=n[o]).Parent)return void console.warn("IGX.Std.KinematicsInteractor: A chain has no set Root param! (multi target kinematics)");if("root"===f.Parent)a=f;else{for(var r=0;r<this._MultiTargetChain.length;r++)if(f._ChainPath!==this._MultiTargetChain[r]._ChainPath&&f.Parent===this._MultiTargetChain[r]._ChainPath){f._ParentChain=this._MultiTargetChain[r];break}if(!f._ParentChain)return void console.warn("Couldn't find parent for kinematic chain",f._ChainPath)}}this._MultiTargetChain.forEach((function(t){t._Level||(t._Level=i.getChainLevel(t))})),this._MultiTargetChainStructure={};var s=0;this._MultiTargetChain.forEach((function(t){i._MultiTargetChainStructure[t._Level]||(i._MultiTargetChainStructure[t._Level]=new Array),i._MultiTargetChainStructure[t._Level].push(t),t._Level>s&&(s=t._Level)}));var h=!0,p=0,m=10;for(null!=a.MaxIterations&&(m=a.MaxIterations);h;){for(var u=s;u>0;u--)if(this._MultiTargetChainStructure.hasOwnProperty(u)){var d=this.getEndEffectors(u);for(var l in d)if(d.hasOwnProperty(l)){var c=d[l];this.multiTargetSolve(c,u,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>m)break}this._MultiTargetChain.forEach((function(a){i._Chain=a,i.draw(t,e)}))},e.prototype.multiTargetSolve=function(t,e,i){for(var a=0;a<t.length;a++){var o=t[a];this._Chain=o,this.backward(i)}var n,r=this.solveCentroid(t,i);this._Chain=this._Chain._ParentChain;var s=!1;for(a=0;a<this._Chain.Joints.length;a++){if(!this._Chain.Joints[a]._Blocked){s=!1;break}s=!0}if(s)n=r;else{var h=r;this._Chain._TargetPos=h,this.forward(i),this.solve(i)}var p=this._Chain;if(e>1&&"root"!==p.Parent){var m=this.getEndEffectors(p._Level);this.multiTargetSolve(m[p.Parent],p._Level,i)}n=p.Joints[p.Joints.length-1]._TailPos;for(a=0;a<t.length;a++){o=t[a];this._Chain=o,this._Chain._OriginPos=n,this.forward(i)}},e.prototype.draw=function(t,e){var i=this;this._Chain.Joints.forEach((function(a,o){e.SetPosition(t+a.HeadX,a._HeadPos);var n=i.getGeometryBase(o),r=i.getBoneEuler(n,a._HeadPos,a._TailPos),s=r.x*IG.Math.Rad2Deg,h=r.y*IG.Math.Rad2Deg,p=r.z*IG.Math.Rad2Deg;e.SetXRotation(t+a.HeadX,s),e.SetYRotation(t+a.HeadY,h),e.SetZRotation(t+a.HeadZ,p)}))},e.prototype.solveCentroid=function(t,e){var i=new IG.Math.Vector3(0,0,0);t.forEach((function(t){i=IG.Math.Vector3.add(i,t.Joints[0]._HeadPos)})),i=IG.Math.Vector3.scalarMultiply(1/t.length,i);for(var a=0;a<t.length;a++){var o=t[a];if(this._Chain=o,IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(i,this._Chain._TargetPos))>this._Chain._TotalLength){this._Chain=this._Chain._ParentChain,this._Chain._TargetPos=i,this.forward(e),this.solve(e),i=this._Chain.Joints[this._Chain.Joints.length-1]._TailPos,this._Chain=o,this._Chain._OriginPos=i,this.forward(e),this.solve(e);var n=IG.Math.Vector3.sub(this._Chain._TargetPos,this._Chain.Joints[this._Chain.Joints.length-1]._TailPos);i=IG.Math.Vector3.add(i,n),this.backward(e)}}return i},e.prototype.solve=function(t){var e=this._Chain;if(IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(e._OriginPos,e._TargetPos))>e._TotalLength)for(var i=0;i<e.Joints.length;i++){var a=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(e._TargetPos,e.Joints[i]._HeadPos)),o=e.Joints[i]._Length/a,n=IG.Math.Vector3.add(IG.Math.Vector3.scalarMultiply(1-o,e.Joints[i]._HeadPos),IG.Math.Vector3.scalarMultiply(o,e._TargetPos));e.Joints[i]._TailPos=n,e.Joints[i+1]&&(e.Joints[i+1]._HeadPos=n)}else{var r=0,s=20;null!=e.MaxIterations&&(s=e.MaxIterations);var h=e.Joints[e.Joints.length-1]._TailPos;for(a=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(h,e._TargetPos));a>e.Tolerance&&(this.backward(t),this.forward(t),a=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(h,e._TargetPos)),!(++r>s)););}},e.prototype.backward=function(e){for(var i=this._Chain,a=i.Joints.length-1;a>=0;a--){var o=i.Joints[a];if(!o._Blocked){a===i.Joints.length-1?o._TailPos=i._TargetPos:o._TailPos=i.Joints[a+1]._HeadPos;var n=o._HeadPos;if(this.isFollowingJoint(a)){this._ComponentId.split("_")[0];var r=this._ComponentId+".";n=t.Std.Util.GetRelativePosition(this._ComponentId,i._RootId,r+o.FollowJointNode,e)}var s=IG.Math.Vector3.sub(o._TailPos,n),h=IG.Math.Vector3.magnitude(s),p=o._Length/h,m=IG.Math.Vector3.add(IG.Math.Vector3.scalarMultiply(1-p,o._TailPos),IG.Math.Vector3.scalarMultiply(p,n));o._HeadPos=m}}},e.prototype.forward=function(e){for(var i=this._Chain,a=0;a<i.Joints.length;a++){var o=i.Joints[a];if(!o._Blocked){o._HeadPos=0===a?i._OriginPos:i.Joints[a-1]._TailPos;var n=o._TailPos;if(a+1<i.Joints.length&&this.isFollowingJoint(a+1)){this._ComponentId.split("_")[0];var r=this._ComponentId+".";n=t.Std.Util.GetRelativePosition(this._ComponentId,i._RootId,r+i.Joints[a+1].FollowJointNode,e)}var s=IG.Math.Vector3.sub(n,o._HeadPos),h=IG.Math.Vector3.magnitude(s),p=o._Length/h,m=IG.Math.Vector3.add(IG.Math.Vector3.scalarMultiply(1-p,o._HeadPos),IG.Math.Vector3.scalarMultiply(p,n));if(this.isConstraintActive(a)){var u=IG.Math.Vector3.normalize(s);m=IG.Math.Vector3.add(o._HeadPos,this.constrain(IG.Math.Vector3.sub(m,o._HeadPos),u,a))}o._TailPos=m}}},e.prototype.constrain=function(t,e,i){var a=this._Chain.Joints[i],o=this.getGeometryBase(i),n=this.getBoneEuler(o,a._HeadPos,IG.Math.Vector3.add(a._HeadPos,e)),r=n.x*IG.Math.Rad2Deg,s=n.y*IG.Math.Rad2Deg,h=n.z*IG.Math.Rad2Deg;"x"===o?(s>a.LimitLeft?s=a.LimitLeft:s<-a.LimitRight&&(s=-a.LimitRight),h>a.LimitUp?h=a.LimitUp:h<-a.LimitDown&&(h=-a.LimitDown)):"z"===o&&(s>a.LimitLeft?s=a.LimitLeft:s<-a.LimitRight&&(s=-a.LimitRight),r>a.LimitDown?r=a.LimitDown:r<-a.LimitUp&&(r=-a.LimitUp));var p=r*IG.Math.Deg2Rad-n.x,m=s*IG.Math.Deg2Rad-n.y,u=h*IG.Math.Deg2Rad-n.z,d=0,l=IG.Math.Matrix4.create();if(IG.Math.isCloseTo(p,0,1e-5)?IG.Math.isCloseTo(m,0,1e-5)?IG.Math.isCloseTo(u,0,1e-5)||(d=u,l=IG.Math.Matrix4.getZRotationMatrix(d)):(d=m,l=IG.Math.Matrix4.getYRotationMatrix(d)):(d=p,l=IG.Math.Matrix4.getXRotationMatrix(d)),0!==d){var c=new IG.Math.Vector3(0,0,0);return c=IG.Math.Vector3.multiplyWithMatrix4Right(t,l),this.constrain(c,IG.Math.Vector3.normalize(c),i)}return t},e}();e.KinematicsInteractor=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(){function e(t,e,i,a,o){this.rootId=t,this.stepSize=e,this.subNodes=i,this.animation=a,this.interactorParams=o,this.date=0,this.steps=1/e,this.cachedScenes=[],this.date=Date.now()}return e.prototype.initialize=function(t){this.cachedScenes=[t]},e.prototype.debugInfo=function(){console.log("stepSize",this.stepSize,this.steps),console.log("cachedOnes:",this.cachedScenes)},e.prototype.getStepSize=function(){return this.stepSize},e.prototype.getCache=function(){return this.cachedScenes},e.prototype.setCache=function(t,e){var i=e;if(t.toString().split(".")[1])console.warn("invalid array index");else if(this.cachedScenes[t]=i,t>0&&this.cachedScenes[0])for(var a in e)this.cachedScenes[0][a].activedeformation=this.cachedScenes[0][a].activedeformation||e[a].activedeformation},e.prototype.clearCache=function(){this.cachedScenes=[this.cachedScenes[0]]},e.prototype.interpolate=function(e){var i=Math.floor(e*this.steps),a=Math.ceil(e*this.steps),o=e*this.steps,n=this.cachedScenes[i],r=this.cachedScenes[a];if(i===a)return n;var s=function(t,e,i,a,o){return e===a?e:e+(a-e)/(i-t)*(o-t)},h=function(t,e,i,a,o){if(e===a)return e;for(;e<0;)e+=360;for(;a<0;)a+=360;for(;e>360;)e-=360;for(;a>360;)a-=360;if(e<a){var n=Math.abs(a-e);Math.abs(a-(e+360))<n&&(e+=360)}else{n=Math.abs(e-a);Math.abs(e-(a+360))<n&&(a+=360)}return e+(a-e)/(i-t)*(o-t)},p={};for(var m in n){var u=n[m],d=r[m],l=s(i,u.position.x,a,d.position.x,o),c=s(i,u.position.y,a,d.position.y,o),S=s(i,u.position.z,a,d.position.z,o),I=s(i,u.scaling.x,a,d.scaling.x,o),f=s(i,u.scaling.y,a,d.scaling.y,o),v=s(i,u.scaling.z,a,d.scaling.z,o),g=h(i,u.rotation[0],a,d.rotation[0],o),A=h(i,u.rotation[1],a,d.rotation[1],o),P=h(i,u.rotation[2],a,d.rotation[2],o);p[m]={position:new t.Float3(l,c,S),scaling:new t.Float3(I,f,v),rotation:[g,A,P],visibility:n[m].visibility},(u.activedeformation||d.activedeformation)&&(p[m].deformation=s(i,u.deformation,a,d.deformation,o),p[m].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).autoReset=!1,e.d=Date.now(),t.DebugLevel&&(e.Debug=!0,console.log("AnimationInteractor parameters",t,e.d)),e.useCache=Boolean(t.Record),e.stepSize=.1,e.nodesToBeCached=[],e.absoluteNodesToBeCached=[],e.IGX_API=new Std.ApiConnection(e.Debug),e.IGX_API.setUseShadow(e.useCache),e.useDebugCache=!1,e.debugapi=new Std.ApiConnection(e.Debug),e.debugapi.setUseShadow(!0),e.Debug&&console.log("animation parameters: usedDebugCache",e.useDebugCache,"useCache",e.useCache);var i=e.PrepAnimation(t.Animation);if(e.animation=i.Animation,e.kinematics=i.Kinematics,e.parameters.BackwardAnimation){var a=e.PrepAnimation(t.BackwardAnimation);e.backwardAnimation=a.Animation,e.backwardKinematics=a.Kinematics}e.params=new Array(AnimationInteractor.PARAM_COUNT);for(var o=0;o<AnimationInteractor.PARAM_COUNT;o++){e.params[o]=null;var n=t["Param"+(o+1)];n&&(n="string"!=typeof n?n.toString():n,e.params[o]=n)}return e.autoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?e.autoReset=!0:"string"!=typeof t.AutoReset&&(e.autoReset=t.AutoReset),e.Debug&&(AnimationInteractor.windowReplacement.AInteractor=e,console.log(AnimationInteractor.windowReplacement)),window&&(window.windowReplacement=AnimationInteractor.windowReplacement),e}return __extends(AnimationInteractor,_super),AnimationInteractor.prototype.setUseCache=function(t){this.useCache=t},AnimationInteractor.prototype.PrepAnimation=function(paramsAnimation){var _this=this;if(this.Debug&&console.log("in PrepAnimation()",paramsAnimation),"string"==typeof paramsAnimation){try{paramsAnimation=eval(paramsAnimation)}catch(t){throw new Error('Could not create animation "'.concat(paramsAnimation,'": ').concat(String(t)))}this.lastPositionForIntermediateCalculationOnly=0;var tAnimations_1=[];paramsAnimation.Animations.forEach((function(animation){var usedProperties={};for(var timeString in animation.States){var state=animation.States[timeString];for(var key in state){var value=state[key];if("object"==typeof value)for(var subKey in value)usedProperties["".concat(key,".").concat(subKey)]=!0;else usedProperties[key]=!0}}var tStates=[],tLastTimeString,tLastTime;for(var tTimeString in animation.States){var tTime=eval(tTimeString);tLastTimeString?tStates.push({time:tTime,period:tTime-tLastTime,state1:createDefaultInjectedAnimationState(animation.States[tLastTimeString],usedProperties),state2:createDefaultInjectedAnimationState(animation.States[tTimeString],usedProperties)}):tStates.push({time:tTime,state1:createDefaultInjectedAnimationState(animation.States[tTimeString],usedProperties)}),tLastTimeString=tTimeString,tLastTime=tTime}tStates.push({time:9999,state1:createDefaultInjectedAnimationState(animation.States[tLastTimeString],usedProperties)}),void 0===animation.Path&&(animation.Path="."),void 0===animation.Mode&&(animation.Mode="Linear"),tAnimations_1.push({path:animation.Path,mode:animation.Mode,states:tStates}),_this.Debug&&console.log("+++",animation._,animation.Path),_this.nodesToBeCached.push(animation.Path)})),paramsAnimation._loops=tAnimations_1;var paramsKinematics=null;if("object"==typeof paramsAnimation.Kinematics){paramsKinematics=new Std.KinematicsInteractor(JSON.parse(JSON.stringify(paramsAnimation.Kinematics)),this.IGX_API);var kinematics=[];Array.isArray(paramsAnimation.Kinematics)?kinematics.push.apply(kinematics,paramsAnimation.Kinematics):kinematics.push(paramsAnimation.Kinematics);for(var _i=0,kinematics_1=kinematics;_i<kinematics_1.length;_i++){for(var state=kinematics_1[_i],_a=0,_b=state.Joints;_a<_b.length;_a++){var joint=_b[_a];this.nodesToBeCached.push(joint.HeadX),this.nodesToBeCached.push(joint.HeadY),this.nodesToBeCached.push(joint.HeadZ),this.nodesToBeCached.push(joint.Tail),joint.FollowJointNode&&this.nodesToBeCached.push(joint.FollowJointNode)}if(state.Target&&"subbase"!=state.Target&&0!=state.Target.indexOf("Param")&&this.absoluteNodesToBeCached.push(state.Target),state.Target&&0==state.Target.indexOf("Param")){var val=this.parameters[state.Target];val&&this.absoluteNodesToBeCached.push(val)}}}var missings=[];this.nodesToBeCached.forEach((function(t){var e=""+t;if("."!==e)for(;e.indexOf(".");){if(_this.nodesToBeCached.filter((function(t){return t===e})).length>0||missings.indexOf(e)<0&&missings.push(""+e),e.lastIndexOf(".")<0)break;e=e.slice(0,e.lastIndexOf("."))}})),this.nodesToBeCached=__spreadArray(__spreadArray([],this.nodesToBeCached,!0),missings,!0);var missingsA=[];return this.absoluteNodesToBeCached.forEach((function(t){for(var e=""+t;e.indexOf(".");){if(_this.absoluteNodesToBeCached.filter((function(t){return t===e})).length>0||missingsA.indexOf(e)<0&&missingsA.push(""+e),e.lastIndexOf(".")<0)break;e=e.slice(0,e.lastIndexOf("."))}})),this.absoluteNodesToBeCached=__spreadArray(__spreadArray([],this.absoluteNodesToBeCached,!0),missingsA,!0),{Animation:paramsAnimation,Kinematics:paramsKinematics}}return console.warn("IGX.Std.AnimationInteractor: No Animation specified."),{}},AnimationInteractor.prototype.SetPosition=function(t){return this.SetStagePosition(this.parameters.Stage,t===Std.Start?this.parameters[Std.Start]:this.parameters[Std.End])},AnimationInteractor.prototype.SetStagePosition=function(t,e,i){if(this.autoReset&&(e<.5?(e*=2,i=!1):(e=2*(1-e),i=!0)),this.Debug&&console.log("SetStagePosition",this.GetComponentId(),this.useCache?"CACHED":"NOT cached",t,e,i),this.parameters.Stage===t){if(this.useDebugCache&&!this.useCache&&(AnimationInteractor.windowReplacement&&!AnimationInteractor.windowReplacement.animcaches&&(AnimationInteractor.windowReplacement.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(),AnimationInteractor.windowReplacement.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(AnimationInteractor.windowReplacement&&!AnimationInteractor.windowReplacement.animcaches&&(AnimationInteractor.windowReplacement.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(),AnimationInteractor.windowReplacement.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(),AnimationInteractor.windowReplacement.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 m=this.IGX_API.setShadowWithParameters(this.GetComponentId(),this.nodesToBeCached,this.absoluteNodesToBeCached,this.animation,this.parameters);AnimationInteractor.windowReplacement.scene_reality=m}}},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,m=Math.abs(a.rotation[2]-o.rotation[2])>1e-6;(h||p||m)&&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,m=s;p<m.length;p++){var u=m[p];this.calculate___SetStagePositionInternal(this.parameters.Stage,u/o,e,a);var d=a.getShadow();e?this.backwardsCache.setCache(u,d):this.forwardCache.setCache(u,d),this.useCache&&this.Debug&&console.log("Add missing",u)}return!0},AnimationInteractor.prototype.readQuat=function(t,e){var i=t.X,a="string"==typeof i?e(i,this.params):i;a=isNaN(a)?0:a;var o=t.Y,n="string"==typeof o?e(o,this.params):o;n=isNaN(n)?0:n;var r=t.Z,s="string"==typeof r?e(r,this.params):r;s=isNaN(s)?0:s;var h=t.W,p="string"==typeof h?e(h,this.params):h;return{x:a,y:n,z:s,w:p=isNaN(p)?0:p}},AnimationInteractor.prototype.detectQuaternion=function(t){return"True"===t.Q||"true"===t.Q||"TRUE"===t.Q||!0===t.Q},AnimationInteractor.prototype.slerpInPlaceA=function(t,e,i){if(0===i)return t;if(1===i)return t=__assign({},e);var a=t.x,o=t.y,n=t.z,r=t.w,s=r*e.w+a*e.x+o*e.y+n*e.z;if(s<0?(t.w=-e.w,t.x=-e.x,t.y=-e.y,t.z=-e.z,s=-s):t=__assign({},e),s>=1)return t.w=r,t.x=a,t.y=o,t.z=n,t;var h=1-s*s;if(h<=1e-8){var p=1-i;return t.w=p*r+i*t.w,t.x=p*a+i*t.x,t.y=p*o+i*t.y,t.z=p*n+i*t.z,IG.Math.Quaternion.normalizeInPlace(t),t}var m=Math.sqrt(h),u=Math.atan2(m,s),d=Math.sin((1-i)*u)/m,l=Math.sin(i*u)/m;return t.w=r*d+t.w*l,t.x=a*d+t.x*l,t.y=o*d+t.y*l,t.z=n*d+t.z*l,t},AnimationInteractor.prototype.calculate___SetStagePositionInternal=function(t,e,i,a){var o=this;if(void 0!==this.animation&&(this.backwardAnimation||(i=!1),this.parameters.Stage===t)){e<0?e=0:e>1&&(e=1);var n=this.animation;i&&(n=this.backwardAnimation);var r={};this.animation.LinkedPoints&&Object.keys(this.animation.LinkedPoints).forEach((function(t){(o.animation.LinkedPoints[t]||[]).forEach((function(e){var i=o.GetComponentId(),n=i.split("_")[0]+"__",s=Std.Util.GetLocalTransform(n+".",i+"."+t,a),h=a.GetVisibility(i+"."+t);r[e]={ppath:t,tf:s,oldvisibility:h}}))}));var s=new Array;n._loops.forEach((function(t){var i=!1;t.states.forEach((function(n){if(!1===i&&e<=n.time){var r=o.GetComponentId();if("."!==t.path&&(r=Std.getAbsPath(r,t.path)),!1===a.IsValid(r))return;s.push(r);var h=/param(\d+)/i,p=function(t,e){var i=t.match(h);if(i){var a=parseInt(i[1]);return a--,parseFloat(e[a])}};if(void 0===n.state2){if(n.state1.Position){var m=a.GetPosition(r);if(void 0!==n.state1.Position.X){var u=n.state1.Position.X;m.x="string"==typeof u?p(u,o.params):u,m.x=isNaN(m.x)?0:m.x}if(void 0!==n.state1.Position.Y){var d=n.state1.Position.Y;m.y="string"==typeof d?p(d,o.params):d,m.y=isNaN(m.y)?0:m.y}if(void 0!==n.state1.Position.Z){var l=n.state1.Position.Z;m.z="string"==typeof l?p(l,o.params):l,m.z=isNaN(m.z)?0:m.z}a.SetPosition(r,m)}if(n.state1.Rotation)if(o.detectQuaternion(n.state1.Rotation)){var c=o.readQuat(n.state1.Rotation,p),S=IG.Math.Euler.createFromQuaternion(c,"xyz");a.SetQuaternionRotation?a.SetQuaternionRotation(r,c.x,c.y,c.z,c.w):(a.SetXRotation(r,S.x*IG.Math.Rad2Deg),a.SetYRotation(r,S.y*IG.Math.Rad2Deg),a.SetZRotation(r,S.z*IG.Math.Rad2Deg))}else{if(void 0!==n.state1.Rotation.X){var I="string"==typeof(u=n.state1.Rotation.X)?p(u,o.params):u;I=isNaN(I)?0:I,a.SetXRotation(r,I)}if(void 0!==n.state1.Rotation.Y){var f="string"==typeof(d=n.state1.Rotation.Y)?p(d,o.params):d;f=isNaN(f)?0:f,a.SetYRotation(r,f)}if(void 0!==n.state1.Rotation.Z){var v="string"==typeof(l=n.state1.Rotation.Z)?p(l,o.params):l;v=isNaN(v)?0:v,a.SetZRotation(r,v)}}if(n.state1.Scaling){var g=a.GetScaling(r);if(void 0!==n.state1.Scaling.X){u=n.state1.Scaling.X;g.x="string"==typeof u?p(u,o.params):u,g.x=isNaN(g.x)?1:g.x}if(void 0!==n.state1.Scaling.Y){d=n.state1.Scaling.Y;g.y="string"==typeof d?p(d,o.params):d,g.y=isNaN(g.y)?1:g.y}if(void 0!==n.state1.Scaling.Z){l=n.state1.Scaling.Z;g.z="string"==typeof l?p(l,o.params):l,g.z=isNaN(g.z)?1:g.z}a.SetScaling(r,g)}if(void 0!==n.state1.Deformation){var A=n.state1.Deformation,P="string"==typeof A?p(A,o.params):A;P=isNaN(P)?0:P,a.SetDeformation(r,P)}if(void 0!==n.state1.Visibility)"string"==typeof(z=n.state1.Visibility)&&(z="true"===o.params[parseInt(z.match(h)[1])-1]),a.SetVisibility(r,z)}else{var G=(n.time-e)/n.period,y=1-G;if(n.state1.Position){m=a.GetPosition(r);if(void 0!==n.state1.Position.X){var M="string"==typeof(w=n.state1.Position.X)?p(w,o.params):w;M=isNaN(M)?0:M;var R="string"==typeof(T=n.state2.Position.X?n.state2.Position.X:0)?p(T,o.params):T;R=isNaN(R)||void 0===R?0:R,m.x=G*M+y*R}if(void 0!==n.state1.Position.Y){M="string"==typeof(x=n.state1.Position.Y)?p(x,o.params):x;M=isNaN(M)?0:M;R="string"==typeof(X=n.state2.Position.Y?n.state2.Position.Y:0)?p(X,o.params):X;R=isNaN(R)||void 0===R?0:R,m.y=G*M+y*R}if(void 0!==n.state1.Position.Z){M="string"==typeof(V=n.state1.Position.Z)?p(V,o.params):V;M=isNaN(M)?0:M;R="string"==typeof(E=n.state2.Position.Z?n.state2.Position.Z:0)?p(E,o.params):E;R=isNaN(R)||void 0===R?0:R,m.z=G*M+y*R}a.SetPosition(r,m)}else if(n.state2.Position){m=o.IGX_API.GetPosition(r);if(void 0!==n.state2.Position.X){R="string"==typeof(T=n.state2.Position.X)?p(T,o.params):T;R=isNaN(R)?0:R,m.x=y*R}if(void 0!==n.state2.Position.Y){R="string"==typeof(X=n.state2.Position.Y)?p(X,o.params):X;R=isNaN(R)?0:R,m.y=y*R}if(void 0!==n.state2.Position.Z){R="string"==typeof(E=n.state2.Position.Z)?p(E,o.params):E;R=isNaN(R)?0:R,m.z=y*R}a.SetPosition(r,m)}if(n.state1.Rotation)if(o.detectQuaternion(n.state1.Rotation)){var C=o.readQuat(n.state1.Rotation,p),b=o.readQuat(n.state2.Rotation,p),_=__assign({},C);_=o.slerpInPlaceA(_,b,y);S=IG.Math.Euler.createFromQuaternion(_,"xyz");a.SetQuaternionRotation?a.SetQuaternionRotation(r,_.x,_.y,_.z,_.w):(a.SetXRotation(r,S.x*IG.Math.Rad2Deg),a.SetYRotation(r,S.y*IG.Math.Rad2Deg),a.SetZRotation(r,S.z*IG.Math.Rad2Deg))}else{if(void 0!==n.state1.Rotation.X){M="string"==typeof(w=n.state1.Rotation.X)?p(w,o.params):w;M=isNaN(M)?0:M;R="string"==typeof(T=n.state2.Rotation.X?n.state2.Rotation.X:0)?p(T,o.params):T;R=isNaN(R)||void 0===R?0:R,a.SetXRotation(r,G*M+y*R)}if(void 0!==n.state1.Rotation.Y){M="string"==typeof(x=n.state1.Rotation.Y)?p(x,o.params):x;M=isNaN(M)?0:M;R="string"==typeof(X=n.state2.Rotation.Y?n.state2.Rotation.Y:0)?p(X,o.params):X;R=isNaN(R)||void 0===R?0:R,a.SetYRotation(r,G*M+y*R)}if(void 0!==n.state1.Rotation.Z){M="string"==typeof(V=n.state1.Rotation.Z)?p(V,o.params):V;M=isNaN(M)?0:M;R="string"==typeof(E=n.state2.Rotation.Z?n.state2.Rotation.Z:0)?p(E,o.params):E;R=isNaN(R)||void 0===R?0:R,a.SetZRotation(r,G*M+y*R)}}else if(n.state2.Rotation)if(o.detectQuaternion(n.state2.Rotation)){c=o.readQuat(n.state2.Rotation,p),S=IG.Math.Euler.createFromQuaternion(c,"xyz");a.SetQuaternionRotation?a.SetQuaternionRotation(r,c.x,c.y,c.z,c.w):(a.SetXRotation(r,S.x*IG.Math.Rad2Deg),a.SetYRotation(r,S.y*IG.Math.Rad2Deg),a.SetZRotation(r,S.z*IG.Math.Rad2Deg))}else{if(void 0!==n.state2.Rotation.X){R="string"==typeof(T=n.state2.Rotation.X)?p(T,o.params):T;R=isNaN(R)?0:R,a.SetXRotation(r,y*R)}if(void 0!==n.state2.Rotation.Y){R="string"==typeof(X=n.state2.Rotation.Y)?p(X,o.params):X;R=isNaN(R)?0:R,a.SetYRotation(r,y*R)}if(void 0!==n.state2.Rotation.Z){R="string"==typeof(E=n.state2.Rotation.Z)?p(E,o.params):E;R=isNaN(R)?0:R,a.SetZRotation(r,y*R)}}if(n.state1.Scaling){g=a.GetScaling(r);if(void 0!==n.state1.Scaling.X){var w;M="string"==typeof(w=n.state1.Scaling.X)?p(w,o.params):w;M=isNaN(M)?1:M;R="string"==typeof(T=n.state2.Scaling.X?n.state2.Scaling.X:1)?p(T,o.params):T;void 0===(R=isNaN(R)?1:R)&&(R=1),g.x=G*M+y*R}if(void 0!==n.state1.Scaling.Y){var x;M="string"==typeof(x=n.state1.Scaling.Y)?p(x,o.params):x;M=isNaN(M)?1:M;R="string"==typeof(X=n.state2.Scaling.Y?n.state2.Scaling.Y:1)?p(X,o.params):X;void 0===(R=isNaN(R)?1:R)&&(R=1),g.y=G*M+y*R}if(void 0!==n.state1.Scaling.Z){var V;M="string"==typeof(V=n.state1.Scaling.Z)?p(V,o.params):V;M=isNaN(M)?1:M;R="string"==typeof(E=n.state2.Scaling.Z?n.state2.Scaling.Z:1)?p(E,o.params):E;void 0===(R=isNaN(R)?1:R)&&(R=1),g.z=G*M+y*R}a.SetScaling(r,g)}else if(n.state2.Scaling){g=a.GetScaling(r);if(void 0!==n.state2.Scaling.X){var T;R="string"==typeof(T=n.state2.Scaling.X)?p(T,o.params):T;R=isNaN(R)?1:R,g.x=G+y*R}if(void 0!==n.state2.Scaling.Y){var X;R="string"==typeof(X=n.state2.Scaling.Y)?p(X,o.params):X;R=isNaN(R)?1:R,g.y=G+y*R}if(void 0!==n.state2.Scaling.Z){var E;R="string"==typeof(E=n.state2.Scaling.Z)?p(E,o.params):E;R=isNaN(R)?1:R,g.z=G+y*R}a.SetScaling(r,g)}if(void 0!==n.state1.Deformation){var D=n.state1.Deformation;M="string"==typeof D?p(D,o.params):D;M=isNaN(M)?0:M;R="string"==typeof(N=n.state2.Deformation)?p(N,o.params):N;void 0===(R=isNaN(R)?0:R)&&(R=0),a.SetDeformation(r,G*M+y*R)}else if(void 0!==n.state2.Deformation){var N;R="string"==typeof(N=n.state2.Deformation)?p(N,o.params):N;R=isNaN(R)?0:R,a.SetDeformation(r,y*R)}if(void 0!==n.state1.Visibility)"string"==typeof(z=n.state1.Visibility)&&(z="true"===o.params[parseInt(z.match(h)[1])-1]),a.SetVisibility(r,z);else if(void 0!==n.state2.Visibility){var z;"string"==typeof(z=n.state2.Visibility)&&(z="true"===o.params[parseInt(z.match(h)[1])-1]),a.SetVisibility(r,z)}}i=!0}}))}));var h=this.kinematics;i&&(h=this.backwardKinematics),h&&h.KinematicSolver(this.GetComponentId(),this.params,s,a),r&&Object.keys(r).forEach((function(t){var e=r[t].ppath,i=r[t].oldvisibility,n=o.GetComponentId(),s=n.split("_")[0]+"__",h=Std.Util.GetLocalTransform(s+".",n+"."+e,a),p=a.GetVisibility(n+"."+e);a.SetPoint(s+".",t,h[0],h[1],p!=i?p:null)}))}},AnimationInteractor.prototype.GetHints=function(){var t=[0];return this.animation&&(this.animation.Animations||[]).forEach((function(e){e.States&&Object.keys(e.States).forEach((function(e){t.push(parseFloat(e+""))}))})),this.backwardAnimation&&(this.backwardAnimation.Animations||[]).forEach((function(e){e.States&&Object.keys(e.States).forEach((function(e){t.push(parseFloat(e+""))}))})),t.push(1),t},AnimationInteractor.PARAM_COUNT=50,AnimationInteractor.windowReplacement={comment:"animCaches parent without window object"},AnimationInteractor}(IGX.Core.Interactor);Std.AnimationInteractor=AnimationInteractor,Std.Test1={Id:"Test1",Animations:[{States:{.1:{Position:{Y:.1}},.6:{Position:{Y:.2}},.9:{Position:{Y:1}}}}]}})(Std=IGX.Std||(IGX.Std={}))}(IGX||(IGX={})),function(IGX){var Std;(function(Std){var DeformationInteractor=function(_super){function DeformationInteractor(parameters){var _this=this;return Std.SetupValue(parameters,Std.Start,0),Std.SetupValue(parameters,Std.End,1),Std.SetupAnimation(parameters),_this=_super.call(this,parameters)||this,void 0===parameters.Inverse?parameters.Inverse=!1:"string"==typeof parameters.Inverse?parameters.Inverse=1==eval(parameters.Inverse):parameters.Inverse=1==parameters.Inverse,_this.parameters[Std.Manual]=!1,_this.bAutoReset=!1,"string"==typeof parameters.AutoReset&&"true"===parameters.AutoReset.toLowerCase()?_this.bAutoReset=!0:"string"!=typeof parameters.AutoReset&&(_this.bAutoReset=parameters.AutoReset),_this}return __extends(DeformationInteractor,_super),DeformationInteractor.prototype.SetPosition=function(t){this.SetStagePosition(this.parameters.Stage,t===Std.Start?this.parameters[Std.Start]:this.parameters[Std.End])},DeformationInteractor.prototype.SetStagePosition=function(t,e){var i;t===this.parameters.Stage&&(i=this.bAutoReset?e<.5?2*(this.parameters.Inverse?1-e-.5:e):2*(1-(this.parameters.Inverse?1-e+.5:e)):this.parameters.Inverse?1-e:e,t===this.parameters.Stage&&IGX.API.SetDeformation(this.GetComponentId(),i))},DeformationInteractor}(IGX.Core.Interactor);Std.DeformationInteractor=DeformationInteractor})(Std=IGX.Std||(IGX.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,"Maximum",90),e.SetupValue(t,"Minimum",0),e.SetupValue(t,"Thickness",0),e.SetupValue(t,"Gap",0),"X"!=t.RotationAxis&&"Y"!=t.RotationAxis&&"Z"!=t.RotationAxis&&(t.RotationAxis="X"),"Right"!=t.Offset&&(t.Offset="Left"),e.SetupAnimation(t),(a=i.call(this,t)||this).bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(t){switch(t){case e.Start:this.setPosition(0);break;case e.End:this.setPosition(1)}},a.prototype.setPosition=function(e){this.position||(this.position=t.API.GetPosition(this.GetComponentId()));var i=this.parameters.Offset,a=this.parameters.RotationAxis,o=this.parameters.Thickness*e,n=this.parameters.Gap*e;if(!(void 0===this.parameters.Start&&void 0===this.parameters.StageStart&&void 0===this.parameters.Minimum||void 0===this.parameters.End&&void 0===this.parameters.StageEnd&&void 0===this.parameters.Maximum)){var r,s=(r=void 0===this.parameters.StageStart?void 0===this.parameters.Start?this.parameters.Minimum:this.parameters.Start:this.parameters.StageStart)+((void 0===this.parameters.StageEnd?void 0===this.parameters.End?this.parameters.Maximum:this.parameters.End:this.parameters.StageEnd)-r)*e,h=new t.Float3;if(h.x=this.position.x,h.y=this.position.y,h.z=this.position.z,console.log(i,a,h,s),"Left"===i)switch(a){case"X":h.z-=o,h.y+=n,t.API.SetPosition(this.GetComponentId(),h),t.API.SetXRotation(this.GetComponentId(),s);break;case"Y":h.x-=o,h.z+=n,t.API.SetPosition(this.GetComponentId(),h),t.API.SetYRotation(this.GetComponentId(),s);break;case"Z":h.x-=o,h.y+=n,t.API.SetPosition(this.GetComponentId(),h),t.API.SetZRotation(this.GetComponentId(),-s)}else switch(a){case"X":h.z+=o,h.y+=n,t.API.SetPosition(this.GetComponentId(),h),t.API.SetXRotation(this.GetComponentId(),-s);break;case"Y":h.x+=o,h.z+=n,t.API.SetPosition(this.GetComponentId(),h),t.API.SetYRotation(this.GetComponentId(),-s);break;case"Z":h.x+=o,h.y+=n,t.API.SetPosition(this.GetComponentId(),h),t.API.SetZRotation(this.GetComponentId(),s)}}},a.prototype.SetStagePosition=function(t,e){if(t.toString()===this.parameters.Stage.toString()){var i=e;this.bAutoReset&&(i=e<.5?2*e:2*(1-e)),this.setPosition(i)}},a.prototype.GetHints=function(){var t=[0];return this.bAutoReset&&t.push(.5),t.push(1),t},a}(t.Core.Interactor);e.OffsetRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(IGX){var Std;(function(Std){var VisibilityInteractor=function(_super){function VisibilityInteractor(parameters){var _this=this;return Std.SetupAnimation(parameters),_this=_super.call(this,parameters)||this,"string"==typeof parameters.Threshold?parameters.Threshold=eval(parameters.Threshold):"number"==typeof parameters.Threshold?parameters.Threshold=parameters.Threshold:void 0===parameters.Threshold&&(parameters.Threshold=.1),_this}return __extends(VisibilityInteractor,_super),VisibilityInteractor.prototype.SetPosition=function(t){this.SetStagePosition(this.parameters.Stage,t===Std.Start?0:1)},VisibilityInteractor.prototype.SetStagePosition=function(t,e){t===this.parameters.Stage&&IGX.API.SetVisibility(this.GetComponentId(),e<this.parameters.Threshold)},VisibilityInteractor}(IGX.Core.Interactor);Std.VisibilityInteractor=VisibilityInteractor})(Std=IGX.Std||(IGX.Std={}))}(IGX||(IGX={})),console.log("IG.GFX.Standard 1.10.2 (1.10.2.100). Copyright (C) 2013 - 2024 intelligentgraphics AG. All Rights Reserved."),!IGX.Float3){var Float3=function(t,e,i){this.x=void 0===t?0:t,this.y=void 0===e?0:e,this.z=void 0===i?0:i};IGX.Float3=Float3}!function(t){!function(e){var i=function(t){function i(i){return e.SetupAnimation(i),t.call(this,i)||this}return __extends(i,t),i.prototype.SetPosition=function(t){},i.prototype.SetStagePosition=function(t,e){},i}(t.Core.Interactor);e.EmptyInteractor=i}(t.Std||(t.Std={}))}(IGX||(IGX={}));
8
+ var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(t){for(var e,i=1,a=arguments.length;i<a;i++)for(var o in e=arguments[i])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},__assign.apply(this,arguments)},__spreadArray=this&&this.__spreadArray||function(t,e,i){if(i||2===arguments.length)for(var a,o=0,n=e.length;o<n;o++)!a&&o in e||(a||(a=Array.prototype.slice.call(e,0,o)),a[o]=e[o]);return t.concat(a||Array.prototype.slice.call(e))},__extends=this&&this.__extends||function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};return function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function a(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(a.prototype=i.prototype,new a)}}(),IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX,IGX;if(function(IGX){var Std;(function(Std){Std.Minimum="Minimum",Std.Maximum="Maximum",Std.Snap="Snap",Std.Raster="Raster",Std.Values="Values",Std.StartValue="StartValue",Std.EndValue="EndValue",Std.StartTime="StartTime",Std.EndTime="EndTime",Std.Steps="Steps",Std.Mode="Mode",Std.XPosition="XPosition",Std.YPosition="YPosition",Std.ZPosition="ZPosition",Std.XRotation="XRotation",Std.YRotation="YRotation",Std.ZRotation="ZRotation",Std.Start="Start",Std.End="End",Std.Stage="Stage",Std.Period="Period",Std.BackwardPeriod="BackwardPeriod",Std.StageStart="StageStart",Std.StageEnd="StageEnd",Std.Manual="Manual",Std.cString="string",Std.cNumber="number";var commaRegex=/,/g;function SetupValue(parameters,key,fallbackValue){void 0===parameters[key]?parameters[key]=fallbackValue:typeof parameters[key]===Std.cNumber||(typeof parameters[key]===Std.cString?(parameters[key]=eval(parameters[key].replace(commaRegex,".")),typeof parameters[key]!==Std.cNumber&&(parameters[key]=fallbackValue)):parameters[key]=fallbackValue)}function GetValue(t,e){return t[e]}function getAbsPath(t,e){var i=t.slice(0);if("."!==e)if(0===e.indexOf("..")){var a=t.lastIndexOf(".");i=(-1===a?t.substring(0,t.lastIndexOf("o")):t.substring(0,a+1))+e.substr(2)}else"."===t[t.length-1]?i+=e:i+="."+e;return i}Std.SetupValue=SetupValue,Std.SetupValues=function(parameters,fallbackValues){void 0===parameters.Values?parameters.Values=fallbackValues:"string"==typeof parameters.Values&&(parameters.Values=eval(parameters.Values)),parameters.Values.sort((function(t,e){return t-e}))},Std.GetValue=GetValue,Std.SetupAnimation=function(parameters){"string"==typeof parameters.Start&&(parameters.Start=eval(parameters.Start)),"string"==typeof parameters.End&&(parameters.End=eval(parameters.End)),"string"==typeof parameters.StageStart&&(parameters.StageStart=eval(parameters.StageStart)),"string"==typeof parameters.StageEnd&&(parameters.StageEnd=eval(parameters.StageEnd)),void 0===parameters.Stage?parameters.Stage=1:"string"==typeof parameters.Stage&&(parameters.Stage=eval(parameters.Stage)),void 0===parameters.Period?parameters.Period=1:"string"==typeof parameters.Period&&(parameters.Period=eval(parameters.Period)),void 0===parameters.BackwardPeriod?parameters.BackwardPeriod=parameters.Period:"string"==typeof parameters.BackwardPeriod&&(parameters.BackwardPeriod=eval(parameters.BackwardPeriod)),"string"==typeof parameters.IntermediateCalculation&&(parameters.IntermediateCalculation=eval(parameters.IntermediateCalculation)),void 0===parameters.Record?parameters.Record=!1:"string"==typeof parameters.Record&&(parameters.Record="true"===parameters.Record.toLowerCase()),void 0===parameters.DebugLevel?parameters.DebugLevel=0:"string"==typeof parameters.DebugLevel&&(parameters.DebugLevel=eval(parameters.DebugLevel))},Std.getAbsPath=getAbsPath})(Std=IGX.Std||(IGX.Std={}))}(IGX||(IGX={})),function(t){!function(t){var e=function(){};t.KinematicChain=e}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(t){var e=function(){};t.AnimationState=e;var i=function(){};t.Animation=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(){function i(t){void 0===t&&(t=!1),this.useShadowApi=!1,this.callLog=[],this.printCallAsError=!1,this.debug=t,this.debug&&console.log("new ApiConnection()")}return i.prototype.getNodeInfo=function(e){return{position:t.API.GetPosition(e),rotation:[t.API.GetXRotation(e),t.API.GetYRotation(e),t.API.GetZRotation(e)],scaling:t.API.GetScaling(e),visibility:t.API.GetVisibility(e),deformation:t.API.GetDeformation?t.API.GetDeformation(e):0,activedeformation:!1}},i.prototype.makeShadow=function(t,e){var i={};if(i[t]=__assign({},this.getNodeInfo(t)),e)for(var a=t+".",o=0,n=e;o<n.length;o++){var r=n[o];i[a+r]=__assign({},this.getNodeInfo(a+r))}return i},i.prototype.setShadowWithParameters=function(t,e,i,a,o,n){var r={},s=[t];e.forEach((function(t){return s=__spreadArray(__spreadArray([],s,!0),[t],!1)}));var h=t;h=h.slice(0,h.lastIndexOf("_")+1);for(var p=0,m=s;p<m.length;p++){for(var u=m[p],d=void 0,l=0;l<a._loops.length;l++)if(u===a._loops[l].path){d=l;break}if(d){var c=t+"."+u;"."===u&&(c=t);var S=a._loops[d];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="."===u?t:u===t?u:t+"."+u;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),m=t.API.GetVisibility(s+"."+o);t.API.SetPoint(h+".",i,p[0],p[1],m!=n?m: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.SetQuaternionRotation=function(e,i,a,o,n){var r;if(t.API.SetQuaternionRotation){if(t.API.SetQuaternionRotation(e,i,a,o,n),this.useShadowApi){var s=null===(r=this.shadow)||void 0===r?void 0:r[e];if(s){var h={x:i,y:a,z:o,w:n},p=IG.Math.Euler.createFromQuaternion(h,"xyz");return s.rotation[0]=p.x*IG.Math.Rad2Deg,s.rotation[1]=p.y*IG.Math.Rad2Deg,void(s.rotation[2]=p.z*IG.Math.Rad2Deg)}return void console.warn("set: nothing found for "+e)}}else{h={x:i,y:a,z:o,w:n},p=IG.Math.Euler.createFromQuaternion(h,"xyz");this.SetXRotation(e,p.x*IG.Math.Rad2Deg),this.SetYRotation(e,p.y*IG.Math.Rad2Deg),this.SetZRotation(e,p.z*IG.Math.Rad2Deg)}},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,m,u,d){var l,c=r,S=s,I=p,f=h;u=u?[S,f].concat(u):[S,f],e.dlog("internal top attached",u),l=null!=d?a.GetLocalPosition(d,i,t.API):t.API.GetWorldPosition(i),e.dlog("#--MatressInitialPosition",l);var v,g,A,P,G,y=o,M=n;e.dlog("minangleDeg",o),e.dlog("maxangleDeg",M),null!=d?(v=a.GetLocalPosition(d,c,t.API),g=a.GetLocalPosition(d,S,t.API),A=a.GetLocalPosition(d,I,t.API),P=a.GetLocalPosition(d,f,t.API),G=a.GetLocalPosition(d,i,t.API)):(v=t.API.GetWorldPosition(c),g=t.API.GetWorldPosition(S),A=t.API.GetWorldPosition(I),P=t.API.GetWorldPosition(f),G=t.API.GetWorldPosition(i));var R={};u.forEach((function(i){e.dlog("attach1",i),R[i]={originalpos:null!=d?a.GetLocalPosition(d,i,t.API):t.API.GetWorldPosition(i),newpos:null},e.dlog("attached")})),e.dlog("leftLowPosRaw",v),e.dlog("leftUpPosRaw",g),e.dlog("rightLowPosRaw",A),e.dlog("rightUpPosRaw",P),e.dlog("articleToBeMoved",G);var C=IG.Math.Vector3.sub(A,v);C.y=0,e.dlog("baseLineDir",C);var b=IG.Math.Vector3.sub(v,A),_=IG.Math.Vector3.sub(g,v);b.y=0;var w=IG.Math.Vector3.magnitude(b)*IG.Math.Vector3.magnitude(_),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===m){var T=IG.Math.Vector3.sub(P,A),X=IG.Math.Vector3.magnitude(b)*IG.Math.Vector3.magnitude(T),E=IG.Math.Vector3.innerProduct(b,T),D=IG.Math.MathS.acos(E/X);e.dlog("0: initial A angle ",V*IG.Math.Rad2Deg,"deg","initial B angle ",D*IG.Math.Rad2Deg,"deg")}var N=IG.Math.Vector3.normalize(IG.Math.Vector3.crossProduct(b,_));e.dlog("rotationnormal",N);var z=y*IG.Math.Deg2Rad,L=z+m*(M*IG.Math.Deg2Rad-z),k=L-V;e.dlog(m,"baseAngleRad:",V,"angwanted:",L,"ang difference:",k);var Y=IG.Math.Matrix3.makeRotationMatrixFromNormalVector(N,k);e.dlog("rotationsmatrix",Y);var Z=IG.Math.Vector3.add(v,IG.Math.Matrix3.multiplyWithVector3(IG.Math.Vector3.sub(g,v),Y));e.dlog("rotated",Z);var F=Z.x,O=Z.y,B=Z.z,J=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(g,P))*IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(g,P)),H=A.x,K=A.y,j=A.z,Q=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(P,A))*IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(P,A));e.dlog(F,O,B,"---\x3e",H,K,j,"]");var U=IG.Math.Vector3.sub(Z,A),W=new t.Float3(0,0,0);2*H-2*F!=0?W.x=(J-Q-F*F+H*H-O*O+K*K-B*B+j*j)/(2*H-2*F):2*K-2*O!=0?W.y=(J-Q-F*F+H*H-O*O+K*K-B*B+j*j)/(2*K-2*O):2*j-2*B!=0?W.z=(J-Q-F*F+H*H-O*O+K*K-B*B+j*j)/(2*j-2*B):console.warn("plane normal is null vector ?!");var q={point:W,normal:IG.Math.Vector3.normalize({x:2*H-2*F,y:2*K-2*O,z:2*j-2*B})},$=a.intersectionPoint({origin:A,direction:U},q);e.dlog("schnittkreiszentrum",$);var tt=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(g,P)),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=C,rt=IG.Math.Vector3.sub(P,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 mt=C,ut=IG.Math.Vector3.sub(ot,Z),dt=IG.Math.Vector3.magnitude(mt)*IG.Math.Vector3.magnitude(ut),lt=IG.Math.Vector3.innerProduct(mt,ut),ct=IG.Math.MathS.acos(lt/dt),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(R).forEach((function(t){var e=R[t],i=a.rotatedVectorAaroundPointBbyNormalCangleRadR(e.originalpos,l,N,-(ct-pt));e.newpos=IG.Math.Vector3.add(i,ft)})),{rotation:St,positionDifference:ft,topAttached:R,baseLineDir:C}},e.calculateAngleAgainstBaseBack=function(e,i,o,n,r){var s;r||(r=t.API),s=null!=n?a.GetLocalPosition(n,i,r):t.API.GetWorldPosition(i);var h=IG.Math.Vector3.sub(s,e.topAttached[o].newpos),p=e.baseLineDir;return IG.Math.Vector3.angleBetween(h,p)*IG.Math.Rad2Deg},e.debug=!1,e}();e.FourBar=i;var a=function(){function e(){}return e.factorOfDirectionFromRayToPlane=function(t,e){var i=IG.Math.Vector3.innerProduct(e.normal,t.direction),a=-IG.Math.Vector3.innerProduct(e.point,e.normal);if(0===i)return 0===IG.Math.Vector3.innerProduct(e.normal,t.origin)+a?0:null;var o=-(IG.Math.Vector3.innerProduct(t.origin,e.normal)+a)/i;return o>=0?o:null},e.intersectionPoint=function(t,i){var a=e.factorOfDirectionFromRayToPlane(t,i);if(null===a)return null;var o=IG.Math.Vector3.scalarMultiply(a,t.direction);return IG.Math.Vector3.add(o,t.origin)},e.rotatedVectorAaroundPointBbyNormalCangleRadR=function(t,e,a,o){var n=a.x,r=a.y,s=a.z,h=Math.sin,p=Math.cos,m=1-p(o),u=h(o),d=p(o),l=[[n*n*m+d,n*r*m-s*u,n*s*m+r*u],[r*n*m+s*u,r*r*m+d,r*s*m-n*u],[s*n*m-r*u,s*r*m+n*u,s*s*m+d]],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]),m=IG.Math.Matrix4.multiply(s,p);return IG.Math.Matrix4.decomposeTRS(m).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),m=s(r),u=h(r);return[[a*a*p+u,a*o*p-n*m,a*n*p+o*m],[o*a*p+n*m,o*o*p+u,o*n*p-a*m],[n*a*p-o*m,n*o*p+a*m,n*n*p+u]]},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.prototype.GetHints=function(){var t=this.parameters.Minimum,e=this.parameters.Maximum,i=this.parameters.Snap/(e-t),a=[0];return i>0&&a.push(i),this.bAutoReset&&(i>0&&a.push(.5-i),a.push(.5),i>0&&a.push(.5+i)),i>0&&a.push(1-i),a.push(1),a},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.prototype.GetHints=function(){var t=this.parameters.Minimum,e=this.parameters.Maximum,i=this.parameters.Snap/(e-t),a=[0];return i>0&&a.push(i),this.bAutoReset&&(i>0&&a.push(.5-i),a.push(.5),i>0&&a.push(.5+i)),i>0&&a.push(1-i),a.push(1),a},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]),m=1;m<o.length;m++){var u=Math.abs(s-o[m]);u<p&&(h=m,p=u)}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.prototype.GetHints=function(){var t=this.parameters.Minimum,e=this.parameters.Maximum,i=this.parameters.Snap/(e-t),a=[0];return i>0&&a.push(i),this.bAutoReset&&(i>0&&a.push(.5-i),a.push(.5),i>0&&a.push(.5+i)),i>0&&a.push(1-i),a.push(1),a},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.prototype.GetHints=function(){var t=this.parameters.Minimum,e=this.parameters.Maximum,i=this.parameters.Snap/(e-t),a=[0];return i>0&&a.push(i),this.bAutoReset&&(i>0&&a.push(.5-i),a.push(.5),i>0&&a.push(.5+i)),i>0&&a.push(1-i),a.push(1),a},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]),m=1;m<o.length;m++){var u=Math.abs(s-o[m]);u<p&&(h=m,p=u)}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.prototype.GetHints=function(){var t=this.parameters.Minimum,e=this.parameters.Maximum,i=this.parameters.Snap/(e-t),a=[0];return i>0&&a.push(i),this.bAutoReset&&(i>0&&a.push(.5-i),a.push(.5),i>0&&a.push(.5+i)),i>0&&a.push(1-i),a.push(1),a},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.prototype.GetHints=function(){var t=this.parameters.Minimum,e=this.parameters.Maximum,i=this.parameters.Snap/(e-t),a=[0];return i>0&&a.push(i),this.bAutoReset&&(i>0&&a.push(.5-i),a.push(.5),i>0&&a.push(.5+i)),i>0&&a.push(1-i),a.push(1),a},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]),m=1;m<o.length;m++){var u=Math.abs(s-o[m]);u<p&&(h=m,p=u)}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);t<a?this.ApplyValue(o):t>a?this.ApplyValue(n):this.ApplyValue(i)},a}(t.Core.Interactor);e.BasicLinearInteractor=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(){function e(e,i){if(this.IGX_API=i||t.API,"object"==typeof e){if(this._ChainList=new Array,Array.isArray(e))for(var a=0,o=e;a<o.length;a++){var n=s=o[a];if(!n.Target)return void console.warn("IGX.Std.KinematicsInteractor: Subchain has no target!");if(!n.Tolerance)return void console.warn("IGX.Std.KinematicsInteractor: Subchain has no tolerance!");if(!n.GeometryBase)return void console.warn("IGX.Std.KinematicsInteractor: Subchain has no GeometryBase defined!");if(n.Parent&&"string"==typeof n.Parent)"root"===n.Parent&&(this._MultiTargetChain=new Array,this._ChainList.push(this._MultiTargetChain)),this._MultiTargetChain.push(n);else{var r=new Array;r.push(n),this._ChainList.push(r)}}else{if(this._Chain=e,!this._Chain.Target)return void console.warn("IGX.Std.KinematicsInteractor: Chain has no target!");if(!this._Chain.Tolerance)return void console.warn("IGX.Std.KinematicsInteractor: Chain has no tolerance!");if(!this._Chain.GeometryBase)return void console.warn("IGX.Std.KinematicsInteractor: Interactor has no GeometryBase defined!");var s;(s=new Array).push(this._Chain),this._ChainList.push(s)}this._MaxIteration=3}else console.warn("IGX.Std.KinematicsInteractor: Not defined.")}return e.prototype.KinematicSolver=function(t,e,i,a){this._ComponentId=t;for(var o=this._ComponentId.split("_")[0]+"__",n=this._ComponentId+".",r=0;r<this._MaxIteration;r++)for(var s=0,h=this._ChainList;s<h.length;s++){var p=h[s];if(1===p.length)this._Chain=this.buildDataStructure(p[0],e,i,n,o,a),this.singleTargetKinematics(n,a);else{this._MultiTargetChain=p;for(var m=0;m<this._MultiTargetChain.length;m++){var u=this._MultiTargetChain[m];u=this.buildDataStructure(u,e,i,n,o,a)}this.multiTargetKinematics(n,a)}}},e.prototype.buildDataStructure=function(e,i,a,o,n,r){var s=this;if(e.Joints.length>0&&e.Joints[0].HeadX){e._Origin=e.Joints[0].HeadX;for(var h=e._Origin.split("."),p="",m=0;m<h.length-1;m++)p+=h[m],m+1<h.length-1&&(p+=".");e._ChainPath=p,e._RootId=""===p?this._ComponentId:this._ComponentId+"."+p;var u=[],d=0,l=/param(\d+)/i;e.Joints.forEach((function(n,h){var p,m,c,S,I,f,v,g,A,P,G,y,M,R,C,b=!1;n.Name?m=(C=n.Name.match(l))?i[parseInt(C[1])-1]:n.Name:m="b".concat(h);n.HeadX?c=(C=n.HeadX.match(l))?i[parseInt(C[1])-1]:n.HeadX:console.warn("IGX.Std.KinematicsInteractor: Joint",m,"is missing its Head (X)!");n.HeadY?S=(C=n.HeadY.match(l))?i[parseInt(C[1])-1]:n.HeadY:console.warn("IGX.Std.KinematicsInteractor: Joint",m,"is missing its Head (Y)!");n.HeadZ?I=(C=n.HeadZ.match(l))?i[parseInt(C[1])-1]:n.HeadZ:console.warn("IGX.Std.KinematicsInteractor: Joint",m,"is missing its Head (Z)!");n.Tail?(f=(C=n.Tail.match(l))?i[parseInt(C[1])-1]:n.Tail,s.isParent(I,f)||console.warn("IGX.Std.KinematicsInteractor: Joint",m,"- Tail isn't child of Head!")):console.warn("IGX.Std.KinematicsInteractor: Joint",m,"is missing its Tail!");R=n.FollowJointNode,P=n.LimitLeft,G=n.LimitRight,y=n.LimitUp,M=n.LimitDown;var _=o+c,w=o+S,x=o+I,V=o+f;a.forEach((function(t){_!==t&&w!==t&&x!==t&&V!==t||(b=!0)})),g=t.Std.Util.GetLocalPosition(e._RootId,o+c,r),A=t.Std.Util.GetLocalPosition(e._RootId,o+f,r),v=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(g,A)),d+=v,p={Name:m,HeadX:c,HeadY:S,HeadZ:I,Tail:f,FollowJointNode:R,LimitLeft:P,LimitRight:G,LimitUp:y,LimitDown:M,_Length:v,_HeadPos:g,_TailPos:A,_Blocked:b},u.push(p)})),e.Joints=u;var c=e.Target.match(l);if(c&&(e.Target=i[parseInt(c[1])-1]),r.IsValid(o+e._Origin)){if(e._OriginPos=t.Std.Util.GetLocalPosition(e._RootId,o+e._Origin,r),r.IsValid(n+e.Target))e._TargetPos=t.Std.Util.GetRelativePosition(n+".",e._RootId,n+e.Target,r);else{if("subbase"!==e.Target)return void console.warn("Target path",e.Target,"not valid.");e._TargetPos=e.Joints[e.Joints.length-1]._TailPos}return e._TotalLength=d,"x"!==e.GeometryBase&&"y"!==e.GeometryBase&&"z"!==e.GeometryBase&&(console.warn('GeometryBase param received not allowed value! Only "x", "y" and "z" are allowed! Returning to default value ("z")'),e.GeometryBase="z"),"y"===e.GeometryBase&&(console.warn("GeometryBase = y not implemented yet. Switching to z now."),e.GeometryBase="z"),e}console.warn("Origin path",e._Origin,"not valid.")}else console.warn("IGX.Std.KinematicsInteractor: Chain has no defined joints!")},e.prototype.isParent=function(t,e){return 0===e.indexOf(t)},e.prototype.getGeometryBase=function(t){var e=this._Chain,i=e.Joints[t],a=e.GeometryBase;return void 0!==i.GeometryBase&&(a=i.GeometryBase),a},e.prototype.getBoneEuler=function(t,e,i){var a=IG.Math.Quaternion.lookAt(e,i),o=IG.Math.Euler.createFromQuaternion(a);return"x"!==t||o.x!==Math.PI&&o.x!==-Math.PI?"z"!==t||o.z!==Math.PI&&o.z!==-Math.PI||(o.z=0,o.x*=-1):(o.x=0,o.z*=-1),o},e.prototype.isConstraintActive=function(t){var e=this._Chain.Joints[t];return void 0!==e.LimitLeft&&void 0!==e.LimitRight&&void 0!==e.LimitUp&&void 0!==e.LimitDown},e.prototype.getChainLevel=function(t){if(!t._ParentChain||"root"===t.Parent)return t._Level=0,0;var e=this.getChainLevel(t._ParentChain)+1;return t._Level=e,e},e.prototype.getEndEffectors=function(t){var e={};return this._MultiTargetChainStructure[t].forEach((function(t){e[t.Parent]||(e[t.Parent]=new Array),e[t.Parent].push(t)})),e},e.prototype.getJoint=function(t){for(var e=0,i=this._ChainList;e<i.length;e++)for(var a=0,o=i[e];a<o.length;a++)for(var n=0,r=o[a].Joints;n<r.length;n++){var s=r[n];if(0===t.indexOf(s.HeadX))return s}return console.warn("IGX.Std.KinematicsInteractor: Couldn't find follow joint",t),null},e.prototype.isFollowingJoint=function(t){var e=this._Chain.Joints[t];return!(!e.FollowJointNode||null===this.getJoint(e.FollowJointNode))},e.prototype.singleTargetKinematics=function(t,e){this.forward(e),this.solve(e),this.draw(t,e)},e.prototype.multiTargetKinematics=function(t,e){for(var i=this,a=this._MultiTargetChain[0],o=0,n=this._MultiTargetChain;o<n.length;o++){if(!(f=n[o]).Parent)return void console.warn("IGX.Std.KinematicsInteractor: A chain has no set Root param! (multi target kinematics)");if("root"===f.Parent)a=f;else{for(var r=0;r<this._MultiTargetChain.length;r++)if(f._ChainPath!==this._MultiTargetChain[r]._ChainPath&&f.Parent===this._MultiTargetChain[r]._ChainPath){f._ParentChain=this._MultiTargetChain[r];break}if(!f._ParentChain)return void console.warn("Couldn't find parent for kinematic chain",f._ChainPath)}}this._MultiTargetChain.forEach((function(t){t._Level||(t._Level=i.getChainLevel(t))})),this._MultiTargetChainStructure={};var s=0;this._MultiTargetChain.forEach((function(t){i._MultiTargetChainStructure[t._Level]||(i._MultiTargetChainStructure[t._Level]=new Array),i._MultiTargetChainStructure[t._Level].push(t),t._Level>s&&(s=t._Level)}));var h=!0,p=0,m=10;for(null!=a.MaxIterations&&(m=a.MaxIterations);h;){for(var u=s;u>0;u--)if(this._MultiTargetChainStructure.hasOwnProperty(u)){var d=this.getEndEffectors(u);for(var l in d)if(d.hasOwnProperty(l)){var c=d[l];this.multiTargetSolve(c,u,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>m)break}this._MultiTargetChain.forEach((function(a){i._Chain=a,i.draw(t,e)}))},e.prototype.multiTargetSolve=function(t,e,i){for(var a=0;a<t.length;a++){var o=t[a];this._Chain=o,this.backward(i)}var n,r=this.solveCentroid(t,i);this._Chain=this._Chain._ParentChain;var s=!1;for(a=0;a<this._Chain.Joints.length;a++){if(!this._Chain.Joints[a]._Blocked){s=!1;break}s=!0}if(s)n=r;else{var h=r;this._Chain._TargetPos=h,this.forward(i),this.solve(i)}var p=this._Chain;if(e>1&&"root"!==p.Parent){var m=this.getEndEffectors(p._Level);this.multiTargetSolve(m[p.Parent],p._Level,i)}n=p.Joints[p.Joints.length-1]._TailPos;for(a=0;a<t.length;a++){o=t[a];this._Chain=o,this._Chain._OriginPos=n,this.forward(i)}},e.prototype.draw=function(t,e){var i=this;this._Chain.Joints.forEach((function(a,o){e.SetPosition(t+a.HeadX,a._HeadPos);var n=i.getGeometryBase(o),r=i.getBoneEuler(n,a._HeadPos,a._TailPos),s=r.x*IG.Math.Rad2Deg,h=r.y*IG.Math.Rad2Deg,p=r.z*IG.Math.Rad2Deg;e.SetXRotation(t+a.HeadX,s),e.SetYRotation(t+a.HeadY,h),e.SetZRotation(t+a.HeadZ,p)}))},e.prototype.solveCentroid=function(t,e){var i=new IG.Math.Vector3(0,0,0);t.forEach((function(t){i=IG.Math.Vector3.add(i,t.Joints[0]._HeadPos)})),i=IG.Math.Vector3.scalarMultiply(1/t.length,i);for(var a=0;a<t.length;a++){var o=t[a];if(this._Chain=o,IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(i,this._Chain._TargetPos))>this._Chain._TotalLength){this._Chain=this._Chain._ParentChain,this._Chain._TargetPos=i,this.forward(e),this.solve(e),i=this._Chain.Joints[this._Chain.Joints.length-1]._TailPos,this._Chain=o,this._Chain._OriginPos=i,this.forward(e),this.solve(e);var n=IG.Math.Vector3.sub(this._Chain._TargetPos,this._Chain.Joints[this._Chain.Joints.length-1]._TailPos);i=IG.Math.Vector3.add(i,n),this.backward(e)}}return i},e.prototype.solve=function(t){var e=this._Chain;if(IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(e._OriginPos,e._TargetPos))>e._TotalLength)for(var i=0;i<e.Joints.length;i++){var a=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(e._TargetPos,e.Joints[i]._HeadPos)),o=e.Joints[i]._Length/a,n=IG.Math.Vector3.add(IG.Math.Vector3.scalarMultiply(1-o,e.Joints[i]._HeadPos),IG.Math.Vector3.scalarMultiply(o,e._TargetPos));e.Joints[i]._TailPos=n,e.Joints[i+1]&&(e.Joints[i+1]._HeadPos=n)}else{var r=0,s=20;null!=e.MaxIterations&&(s=e.MaxIterations);var h=e.Joints[e.Joints.length-1]._TailPos;for(a=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(h,e._TargetPos));a>e.Tolerance&&(this.backward(t),this.forward(t),a=IG.Math.Vector3.magnitude(IG.Math.Vector3.sub(h,e._TargetPos)),!(++r>s)););}},e.prototype.backward=function(e){for(var i=this._Chain,a=i.Joints.length-1;a>=0;a--){var o=i.Joints[a];if(!o._Blocked){a===i.Joints.length-1?o._TailPos=i._TargetPos:o._TailPos=i.Joints[a+1]._HeadPos;var n=o._HeadPos;if(this.isFollowingJoint(a)){this._ComponentId.split("_")[0];var r=this._ComponentId+".";n=t.Std.Util.GetRelativePosition(this._ComponentId,i._RootId,r+o.FollowJointNode,e)}var s=IG.Math.Vector3.sub(o._TailPos,n),h=IG.Math.Vector3.magnitude(s),p=o._Length/h,m=IG.Math.Vector3.add(IG.Math.Vector3.scalarMultiply(1-p,o._TailPos),IG.Math.Vector3.scalarMultiply(p,n));o._HeadPos=m}}},e.prototype.forward=function(e){for(var i=this._Chain,a=0;a<i.Joints.length;a++){var o=i.Joints[a];if(!o._Blocked){o._HeadPos=0===a?i._OriginPos:i.Joints[a-1]._TailPos;var n=o._TailPos;if(a+1<i.Joints.length&&this.isFollowingJoint(a+1)){this._ComponentId.split("_")[0];var r=this._ComponentId+".";n=t.Std.Util.GetRelativePosition(this._ComponentId,i._RootId,r+i.Joints[a+1].FollowJointNode,e)}var s=IG.Math.Vector3.sub(n,o._HeadPos),h=IG.Math.Vector3.magnitude(s),p=o._Length/h,m=IG.Math.Vector3.add(IG.Math.Vector3.scalarMultiply(1-p,o._HeadPos),IG.Math.Vector3.scalarMultiply(p,n));if(this.isConstraintActive(a)){var u=IG.Math.Vector3.normalize(s);m=IG.Math.Vector3.add(o._HeadPos,this.constrain(IG.Math.Vector3.sub(m,o._HeadPos),u,a))}o._TailPos=m}}},e.prototype.constrain=function(t,e,i){var a=this._Chain.Joints[i],o=this.getGeometryBase(i),n=this.getBoneEuler(o,a._HeadPos,IG.Math.Vector3.add(a._HeadPos,e)),r=n.x*IG.Math.Rad2Deg,s=n.y*IG.Math.Rad2Deg,h=n.z*IG.Math.Rad2Deg;"x"===o?(s>a.LimitLeft?s=a.LimitLeft:s<-a.LimitRight&&(s=-a.LimitRight),h>a.LimitUp?h=a.LimitUp:h<-a.LimitDown&&(h=-a.LimitDown)):"z"===o&&(s>a.LimitLeft?s=a.LimitLeft:s<-a.LimitRight&&(s=-a.LimitRight),r>a.LimitDown?r=a.LimitDown:r<-a.LimitUp&&(r=-a.LimitUp));var p=r*IG.Math.Deg2Rad-n.x,m=s*IG.Math.Deg2Rad-n.y,u=h*IG.Math.Deg2Rad-n.z,d=0,l=IG.Math.Matrix4.create();if(IG.Math.isCloseTo(p,0,1e-5)?IG.Math.isCloseTo(m,0,1e-5)?IG.Math.isCloseTo(u,0,1e-5)||(d=u,l=IG.Math.Matrix4.getZRotationMatrix(d)):(d=m,l=IG.Math.Matrix4.getYRotationMatrix(d)):(d=p,l=IG.Math.Matrix4.getXRotationMatrix(d)),0!==d){var c=new IG.Math.Vector3(0,0,0);return c=IG.Math.Vector3.multiplyWithMatrix4Right(t,l),this.constrain(c,IG.Math.Vector3.normalize(c),i)}return t},e}();e.KinematicsInteractor=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(){function e(t,e,i,a,o){this.rootId=t,this.stepSize=e,this.subNodes=i,this.animation=a,this.interactorParams=o,this.date=0,this.steps=1/e,this.cachedScenes=[],this.date=Date.now()}return e.prototype.initialize=function(t){this.cachedScenes=[t]},e.prototype.debugInfo=function(){console.log("stepSize",this.stepSize,this.steps),console.log("cachedOnes:",this.cachedScenes)},e.prototype.getStepSize=function(){return this.stepSize},e.prototype.getCache=function(){return this.cachedScenes},e.prototype.setCache=function(t,e){var i=e;if(t.toString().split(".")[1])console.warn("invalid array index");else if(this.cachedScenes[t]=i,t>0&&this.cachedScenes[0])for(var a in e)this.cachedScenes[0][a].activedeformation=this.cachedScenes[0][a].activedeformation||e[a].activedeformation},e.prototype.clearCache=function(){this.cachedScenes=[this.cachedScenes[0]]},e.prototype.interpolate=function(e){var i=Math.floor(e*this.steps),a=Math.ceil(e*this.steps),o=e*this.steps,n=this.cachedScenes[i],r=this.cachedScenes[a];if(i===a)return n;var s=function(t,e,i,a,o){return e===a?e:e+(a-e)/(i-t)*(o-t)},h=function(t,e,i,a,o){if(e===a)return e;for(;e<0;)e+=360;for(;a<0;)a+=360;for(;e>360;)e-=360;for(;a>360;)a-=360;if(e<a){var n=Math.abs(a-e);Math.abs(a-(e+360))<n&&(e+=360)}else{n=Math.abs(e-a);Math.abs(e-(a+360))<n&&(a+=360)}return e+(a-e)/(i-t)*(o-t)},p={};for(var m in n){var u=n[m],d=r[m],l=s(i,u.position.x,a,d.position.x,o),c=s(i,u.position.y,a,d.position.y,o),S=s(i,u.position.z,a,d.position.z,o),I=s(i,u.scaling.x,a,d.scaling.x,o),f=s(i,u.scaling.y,a,d.scaling.y,o),v=s(i,u.scaling.z,a,d.scaling.z,o),g=h(i,u.rotation[0],a,d.rotation[0],o),A=h(i,u.rotation[1],a,d.rotation[1],o),P=h(i,u.rotation[2],a,d.rotation[2],o);p[m]={position:new t.Float3(l,c,S),scaling:new t.Float3(I,f,v),rotation:[g,A,P],visibility:n[m].visibility},(u.activedeformation||d.activedeformation)&&(p[m].deformation=s(i,u.deformation,a,d.deformation,o),p[m].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).autoReset=!1,e.d=Date.now(),t.DebugLevel&&(e.Debug=!0,console.log("AnimationInteractor parameters",t,e.d)),e.useCache=Boolean(t.Record),e.stepSize=.1,e.nodesToBeCached=[],e.absoluteNodesToBeCached=[],e.IGX_API=new Std.ApiConnection(e.Debug),e.IGX_API.setUseShadow(e.useCache),e.useDebugCache=!1,e.debugapi=new Std.ApiConnection(e.Debug),e.debugapi.setUseShadow(!0),e.Debug&&console.log("animation parameters: usedDebugCache",e.useDebugCache,"useCache",e.useCache);var i=e.PrepAnimation(t.Animation);if(e.animation=i.Animation,e.kinematics=i.Kinematics,e.parameters.BackwardAnimation){var a=e.PrepAnimation(t.BackwardAnimation);e.backwardAnimation=a.Animation,e.backwardKinematics=a.Kinematics}e.params=new Array(AnimationInteractor.PARAM_COUNT);for(var o=0;o<AnimationInteractor.PARAM_COUNT;o++){e.params[o]=null;var n=t["Param"+(o+1)];n&&(n="string"!=typeof n?n.toString():n,e.params[o]=n)}return e.autoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?e.autoReset=!0:"string"!=typeof t.AutoReset&&(e.autoReset=t.AutoReset),e.Debug&&(AnimationInteractor.windowReplacement.AInteractor=e,console.log(AnimationInteractor.windowReplacement)),window&&(window.windowReplacement=AnimationInteractor.windowReplacement),e}return __extends(AnimationInteractor,_super),AnimationInteractor.prototype.setUseCache=function(t){this.useCache=t},AnimationInteractor.prototype.PrepAnimation=function(paramsAnimation){var _this=this;if(this.Debug&&console.log("in PrepAnimation()",paramsAnimation),"string"==typeof paramsAnimation){try{paramsAnimation=eval(paramsAnimation)}catch(t){throw new Error('Could not create animation "'.concat(paramsAnimation,'": ').concat(String(t)))}this.lastPositionForIntermediateCalculationOnly=0;var tAnimations_1=[];paramsAnimation.Animations.forEach((function(animation){var usedProperties={};for(var timeString in animation.States){var state=animation.States[timeString];for(var key in state){var value=state[key];if("object"==typeof value)for(var subKey in value)usedProperties["".concat(key,".").concat(subKey)]=!0;else usedProperties[key]=!0}}var tStates=[],tLastTimeString,tLastTime;for(var tTimeString in animation.States){var tTime=eval(tTimeString);tLastTimeString?tStates.push({time:tTime,period:tTime-tLastTime,state1:createDefaultInjectedAnimationState(animation.States[tLastTimeString],usedProperties),state2:createDefaultInjectedAnimationState(animation.States[tTimeString],usedProperties)}):tStates.push({time:tTime,state1:createDefaultInjectedAnimationState(animation.States[tTimeString],usedProperties)}),tLastTimeString=tTimeString,tLastTime=tTime}tStates.push({time:9999,state1:createDefaultInjectedAnimationState(animation.States[tLastTimeString],usedProperties)}),void 0===animation.Path&&(animation.Path="."),void 0===animation.Mode&&(animation.Mode="Linear"),tAnimations_1.push({path:animation.Path,mode:animation.Mode,states:tStates}),_this.Debug&&console.log("+++",animation._,animation.Path),_this.nodesToBeCached.push(animation.Path)})),paramsAnimation._loops=tAnimations_1;var paramsKinematics=null;if("object"==typeof paramsAnimation.Kinematics){paramsKinematics=new Std.KinematicsInteractor(JSON.parse(JSON.stringify(paramsAnimation.Kinematics)),this.IGX_API);var kinematics=[];Array.isArray(paramsAnimation.Kinematics)?kinematics.push.apply(kinematics,paramsAnimation.Kinematics):kinematics.push(paramsAnimation.Kinematics);for(var _i=0,kinematics_1=kinematics;_i<kinematics_1.length;_i++){for(var state=kinematics_1[_i],_a=0,_b=state.Joints;_a<_b.length;_a++){var joint=_b[_a];this.nodesToBeCached.push(joint.HeadX),this.nodesToBeCached.push(joint.HeadY),this.nodesToBeCached.push(joint.HeadZ),this.nodesToBeCached.push(joint.Tail),joint.FollowJointNode&&this.nodesToBeCached.push(joint.FollowJointNode)}if(state.Target&&"subbase"!=state.Target&&0!=state.Target.indexOf("Param")&&this.absoluteNodesToBeCached.push(state.Target),state.Target&&0==state.Target.indexOf("Param")){var val=this.parameters[state.Target];val&&this.absoluteNodesToBeCached.push(val)}}}var missings=[];this.nodesToBeCached.forEach((function(t){var e=""+t;if("."!==e)for(;e.indexOf(".");){if(_this.nodesToBeCached.filter((function(t){return t===e})).length>0||missings.indexOf(e)<0&&missings.push(""+e),e.lastIndexOf(".")<0)break;e=e.slice(0,e.lastIndexOf("."))}})),this.nodesToBeCached=__spreadArray(__spreadArray([],this.nodesToBeCached,!0),missings,!0);var missingsA=[];return this.absoluteNodesToBeCached.forEach((function(t){for(var e=""+t;e.indexOf(".");){if(_this.absoluteNodesToBeCached.filter((function(t){return t===e})).length>0||missingsA.indexOf(e)<0&&missingsA.push(""+e),e.lastIndexOf(".")<0)break;e=e.slice(0,e.lastIndexOf("."))}})),this.absoluteNodesToBeCached=__spreadArray(__spreadArray([],this.absoluteNodesToBeCached,!0),missingsA,!0),{Animation:paramsAnimation,Kinematics:paramsKinematics}}return console.warn("IGX.Std.AnimationInteractor: No Animation specified."),{}},AnimationInteractor.prototype.SetPosition=function(t){return this.SetStagePosition(this.parameters.Stage,t===Std.Start?this.parameters[Std.Start]:this.parameters[Std.End])},AnimationInteractor.prototype.SetStagePosition=function(t,e,i){if(this.autoReset&&(e<.5?(e*=2,i=!1):(e=2*(1-e),i=!0)),this.Debug&&console.log("SetStagePosition",this.GetComponentId(),this.useCache?"CACHED":"NOT cached",t,e,i),this.parameters.Stage===t){if(this.useDebugCache&&!this.useCache&&(AnimationInteractor.windowReplacement&&!AnimationInteractor.windowReplacement.animcaches&&(AnimationInteractor.windowReplacement.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(),AnimationInteractor.windowReplacement.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(AnimationInteractor.windowReplacement&&!AnimationInteractor.windowReplacement.animcaches&&(AnimationInteractor.windowReplacement.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(),AnimationInteractor.windowReplacement.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(),AnimationInteractor.windowReplacement.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 m=this.IGX_API.setShadowWithParameters(this.GetComponentId(),this.nodesToBeCached,this.absoluteNodesToBeCached,this.animation,this.parameters);AnimationInteractor.windowReplacement.scene_reality=m}}},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,m=Math.abs(a.rotation[2]-o.rotation[2])>1e-6;(h||p||m)&&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,m=s;p<m.length;p++){var u=m[p];this.calculate___SetStagePositionInternal(this.parameters.Stage,u/o,e,a);var d=a.getShadow();e?this.backwardsCache.setCache(u,d):this.forwardCache.setCache(u,d),this.useCache&&this.Debug&&console.log("Add missing",u)}return!0},AnimationInteractor.prototype.readQuat=function(t,e){var i=t.X,a="string"==typeof i?e(i,this.params):i;a=isNaN(a)?0:a;var o=t.Y,n="string"==typeof o?e(o,this.params):o;n=isNaN(n)?0:n;var r=t.Z,s="string"==typeof r?e(r,this.params):r;s=isNaN(s)?0:s;var h=t.W,p="string"==typeof h?e(h,this.params):h;return{x:a,y:n,z:s,w:p=isNaN(p)?0:p}},AnimationInteractor.prototype.detectQuaternion=function(t){return"True"===t.Q||"true"===t.Q||"TRUE"===t.Q||!0===t.Q},AnimationInteractor.prototype.slerpInPlaceA=function(t,e,i){if(0===i)return t;if(1===i)return t=__assign({},e);var a=t.x,o=t.y,n=t.z,r=t.w,s=r*e.w+a*e.x+o*e.y+n*e.z;if(s<0?(t.w=-e.w,t.x=-e.x,t.y=-e.y,t.z=-e.z,s=-s):t=__assign({},e),s>=1)return t.w=r,t.x=a,t.y=o,t.z=n,t;var h=1-s*s;if(h<=1e-8){var p=1-i;return t.w=p*r+i*t.w,t.x=p*a+i*t.x,t.y=p*o+i*t.y,t.z=p*n+i*t.z,IG.Math.Quaternion.normalizeInPlace(t),t}var m=Math.sqrt(h),u=Math.atan2(m,s),d=Math.sin((1-i)*u)/m,l=Math.sin(i*u)/m;return t.w=r*d+t.w*l,t.x=a*d+t.x*l,t.y=o*d+t.y*l,t.z=n*d+t.z*l,t},AnimationInteractor.prototype.calculate___SetStagePositionInternal=function(t,e,i,a){var o=this;if(void 0!==this.animation&&(this.backwardAnimation||(i=!1),this.parameters.Stage===t)){e<0?e=0:e>1&&(e=1);var n=this.animation;i&&(n=this.backwardAnimation);var r={};this.animation.LinkedPoints&&Object.keys(this.animation.LinkedPoints).forEach((function(t){(o.animation.LinkedPoints[t]||[]).forEach((function(e){var i=o.GetComponentId(),n=i.split("_")[0]+"__",s=Std.Util.GetLocalTransform(n+".",i+"."+t,a),h=a.GetVisibility(i+"."+t);r[e]={ppath:t,tf:s,oldvisibility:h}}))}));var s=new Array;n._loops.forEach((function(t){var i=!1;t.states.forEach((function(n){if(!1===i&&e<=n.time){var r=o.GetComponentId();if("."!==t.path&&(r=Std.getAbsPath(r,t.path)),!1===a.IsValid(r))return;s.push(r);var h=/param(\d+)/i,p=function(t,e){var i=t.match(h);if(i){var a=parseInt(i[1]);return a--,parseFloat(e[a])}};if(void 0===n.state2){if(n.state1.Position){var m=a.GetPosition(r);if(void 0!==n.state1.Position.X){var u=n.state1.Position.X;m.x="string"==typeof u?p(u,o.params):u,m.x=isNaN(m.x)?0:m.x}if(void 0!==n.state1.Position.Y){var d=n.state1.Position.Y;m.y="string"==typeof d?p(d,o.params):d,m.y=isNaN(m.y)?0:m.y}if(void 0!==n.state1.Position.Z){var l=n.state1.Position.Z;m.z="string"==typeof l?p(l,o.params):l,m.z=isNaN(m.z)?0:m.z}a.SetPosition(r,m)}if(n.state1.Rotation)if(o.detectQuaternion(n.state1.Rotation)){var c=o.readQuat(n.state1.Rotation,p),S=IG.Math.Euler.createFromQuaternion(c,"xyz");a.SetQuaternionRotation?a.SetQuaternionRotation(r,c.x,c.y,c.z,c.w):(a.SetXRotation(r,S.x*IG.Math.Rad2Deg),a.SetYRotation(r,S.y*IG.Math.Rad2Deg),a.SetZRotation(r,S.z*IG.Math.Rad2Deg))}else{if(void 0!==n.state1.Rotation.X){var I="string"==typeof(u=n.state1.Rotation.X)?p(u,o.params):u;I=isNaN(I)?0:I,a.SetXRotation(r,I)}if(void 0!==n.state1.Rotation.Y){var f="string"==typeof(d=n.state1.Rotation.Y)?p(d,o.params):d;f=isNaN(f)?0:f,a.SetYRotation(r,f)}if(void 0!==n.state1.Rotation.Z){var v="string"==typeof(l=n.state1.Rotation.Z)?p(l,o.params):l;v=isNaN(v)?0:v,a.SetZRotation(r,v)}}if(n.state1.Scaling){var g=a.GetScaling(r);if(void 0!==n.state1.Scaling.X){u=n.state1.Scaling.X;g.x="string"==typeof u?p(u,o.params):u,g.x=isNaN(g.x)?1:g.x}if(void 0!==n.state1.Scaling.Y){d=n.state1.Scaling.Y;g.y="string"==typeof d?p(d,o.params):d,g.y=isNaN(g.y)?1:g.y}if(void 0!==n.state1.Scaling.Z){l=n.state1.Scaling.Z;g.z="string"==typeof l?p(l,o.params):l,g.z=isNaN(g.z)?1:g.z}a.SetScaling(r,g)}if(void 0!==n.state1.Deformation){var A=n.state1.Deformation,P="string"==typeof A?p(A,o.params):A;P=isNaN(P)?0:P,a.SetDeformation(r,P)}if(void 0!==n.state1.Visibility)"string"==typeof(z=n.state1.Visibility)&&(z="true"===o.params[parseInt(z.match(h)[1])-1]),a.SetVisibility(r,z)}else{var G=(n.time-e)/n.period,y=1-G;if(n.state1.Position){m=a.GetPosition(r);if(void 0!==n.state1.Position.X){var M="string"==typeof(w=n.state1.Position.X)?p(w,o.params):w;M=isNaN(M)?0:M;var R="string"==typeof(T=n.state2.Position.X?n.state2.Position.X:0)?p(T,o.params):T;R=isNaN(R)||void 0===R?0:R,m.x=G*M+y*R}if(void 0!==n.state1.Position.Y){M="string"==typeof(x=n.state1.Position.Y)?p(x,o.params):x;M=isNaN(M)?0:M;R="string"==typeof(X=n.state2.Position.Y?n.state2.Position.Y:0)?p(X,o.params):X;R=isNaN(R)||void 0===R?0:R,m.y=G*M+y*R}if(void 0!==n.state1.Position.Z){M="string"==typeof(V=n.state1.Position.Z)?p(V,o.params):V;M=isNaN(M)?0:M;R="string"==typeof(E=n.state2.Position.Z?n.state2.Position.Z:0)?p(E,o.params):E;R=isNaN(R)||void 0===R?0:R,m.z=G*M+y*R}a.SetPosition(r,m)}else if(n.state2.Position){m=o.IGX_API.GetPosition(r);if(void 0!==n.state2.Position.X){R="string"==typeof(T=n.state2.Position.X)?p(T,o.params):T;R=isNaN(R)?0:R,m.x=y*R}if(void 0!==n.state2.Position.Y){R="string"==typeof(X=n.state2.Position.Y)?p(X,o.params):X;R=isNaN(R)?0:R,m.y=y*R}if(void 0!==n.state2.Position.Z){R="string"==typeof(E=n.state2.Position.Z)?p(E,o.params):E;R=isNaN(R)?0:R,m.z=y*R}a.SetPosition(r,m)}if(n.state1.Rotation)if(o.detectQuaternion(n.state1.Rotation)){var C=o.readQuat(n.state1.Rotation,p),b=o.readQuat(n.state2.Rotation,p),_=__assign({},C);_=o.slerpInPlaceA(_,b,y);S=IG.Math.Euler.createFromQuaternion(_,"xyz");a.SetQuaternionRotation?a.SetQuaternionRotation(r,_.x,_.y,_.z,_.w):(a.SetXRotation(r,S.x*IG.Math.Rad2Deg),a.SetYRotation(r,S.y*IG.Math.Rad2Deg),a.SetZRotation(r,S.z*IG.Math.Rad2Deg))}else{if(void 0!==n.state1.Rotation.X){M="string"==typeof(w=n.state1.Rotation.X)?p(w,o.params):w;M=isNaN(M)?0:M;R="string"==typeof(T=n.state2.Rotation.X?n.state2.Rotation.X:0)?p(T,o.params):T;R=isNaN(R)||void 0===R?0:R,a.SetXRotation(r,G*M+y*R)}if(void 0!==n.state1.Rotation.Y){M="string"==typeof(x=n.state1.Rotation.Y)?p(x,o.params):x;M=isNaN(M)?0:M;R="string"==typeof(X=n.state2.Rotation.Y?n.state2.Rotation.Y:0)?p(X,o.params):X;R=isNaN(R)||void 0===R?0:R,a.SetYRotation(r,G*M+y*R)}if(void 0!==n.state1.Rotation.Z){M="string"==typeof(V=n.state1.Rotation.Z)?p(V,o.params):V;M=isNaN(M)?0:M;R="string"==typeof(E=n.state2.Rotation.Z?n.state2.Rotation.Z:0)?p(E,o.params):E;R=isNaN(R)||void 0===R?0:R,a.SetZRotation(r,G*M+y*R)}}else if(n.state2.Rotation)if(o.detectQuaternion(n.state2.Rotation)){c=o.readQuat(n.state2.Rotation,p),S=IG.Math.Euler.createFromQuaternion(c,"xyz");a.SetQuaternionRotation?a.SetQuaternionRotation(r,c.x,c.y,c.z,c.w):(a.SetXRotation(r,S.x*IG.Math.Rad2Deg),a.SetYRotation(r,S.y*IG.Math.Rad2Deg),a.SetZRotation(r,S.z*IG.Math.Rad2Deg))}else{if(void 0!==n.state2.Rotation.X){R="string"==typeof(T=n.state2.Rotation.X)?p(T,o.params):T;R=isNaN(R)?0:R,a.SetXRotation(r,y*R)}if(void 0!==n.state2.Rotation.Y){R="string"==typeof(X=n.state2.Rotation.Y)?p(X,o.params):X;R=isNaN(R)?0:R,a.SetYRotation(r,y*R)}if(void 0!==n.state2.Rotation.Z){R="string"==typeof(E=n.state2.Rotation.Z)?p(E,o.params):E;R=isNaN(R)?0:R,a.SetZRotation(r,y*R)}}if(n.state1.Scaling){g=a.GetScaling(r);if(void 0!==n.state1.Scaling.X){var w;M="string"==typeof(w=n.state1.Scaling.X)?p(w,o.params):w;M=isNaN(M)?1:M;R="string"==typeof(T=n.state2.Scaling.X?n.state2.Scaling.X:1)?p(T,o.params):T;void 0===(R=isNaN(R)?1:R)&&(R=1),g.x=G*M+y*R}if(void 0!==n.state1.Scaling.Y){var x;M="string"==typeof(x=n.state1.Scaling.Y)?p(x,o.params):x;M=isNaN(M)?1:M;R="string"==typeof(X=n.state2.Scaling.Y?n.state2.Scaling.Y:1)?p(X,o.params):X;void 0===(R=isNaN(R)?1:R)&&(R=1),g.y=G*M+y*R}if(void 0!==n.state1.Scaling.Z){var V;M="string"==typeof(V=n.state1.Scaling.Z)?p(V,o.params):V;M=isNaN(M)?1:M;R="string"==typeof(E=n.state2.Scaling.Z?n.state2.Scaling.Z:1)?p(E,o.params):E;void 0===(R=isNaN(R)?1:R)&&(R=1),g.z=G*M+y*R}a.SetScaling(r,g)}else if(n.state2.Scaling){g=a.GetScaling(r);if(void 0!==n.state2.Scaling.X){var T;R="string"==typeof(T=n.state2.Scaling.X)?p(T,o.params):T;R=isNaN(R)?1:R,g.x=G+y*R}if(void 0!==n.state2.Scaling.Y){var X;R="string"==typeof(X=n.state2.Scaling.Y)?p(X,o.params):X;R=isNaN(R)?1:R,g.y=G+y*R}if(void 0!==n.state2.Scaling.Z){var E;R="string"==typeof(E=n.state2.Scaling.Z)?p(E,o.params):E;R=isNaN(R)?1:R,g.z=G+y*R}a.SetScaling(r,g)}if(void 0!==n.state1.Deformation){var D=n.state1.Deformation;M="string"==typeof D?p(D,o.params):D;M=isNaN(M)?0:M;R="string"==typeof(N=n.state2.Deformation)?p(N,o.params):N;void 0===(R=isNaN(R)?0:R)&&(R=0),a.SetDeformation(r,G*M+y*R)}else if(void 0!==n.state2.Deformation){var N;R="string"==typeof(N=n.state2.Deformation)?p(N,o.params):N;R=isNaN(R)?0:R,a.SetDeformation(r,y*R)}if(void 0!==n.state1.Visibility)"string"==typeof(z=n.state1.Visibility)&&(z="true"===o.params[parseInt(z.match(h)[1])-1]),a.SetVisibility(r,z);else if(void 0!==n.state2.Visibility){var z;"string"==typeof(z=n.state2.Visibility)&&(z="true"===o.params[parseInt(z.match(h)[1])-1]),a.SetVisibility(r,z)}}i=!0}}))}));var h=this.kinematics;i&&(h=this.backwardKinematics),h&&h.KinematicSolver(this.GetComponentId(),this.params,s,a),r&&Object.keys(r).forEach((function(t){var e=r[t].ppath,i=r[t].oldvisibility,n=o.GetComponentId(),s=n.split("_")[0]+"__",h=Std.Util.GetLocalTransform(s+".",n+"."+e,a),p=a.GetVisibility(n+"."+e);a.SetPoint(s+".",t,h[0],h[1],p!=i?p:null)}))}},AnimationInteractor.prototype.GetHints=function(){var t=[0];return this.animation&&(this.animation.Animations||[]).forEach((function(e){e.States&&Object.keys(e.States).forEach((function(e){t.push(parseFloat(e+""))}))})),this.backwardAnimation&&(this.backwardAnimation.Animations||[]).forEach((function(e){e.States&&Object.keys(e.States).forEach((function(e){t.push(parseFloat(e+""))}))})),t.push(1),t},AnimationInteractor.PARAM_COUNT=50,AnimationInteractor.windowReplacement={comment:"animCaches parent without window object"},AnimationInteractor}(IGX.Core.Interactor);Std.AnimationInteractor=AnimationInteractor,Std.Test1={Id:"Test1",Animations:[{States:{.1:{Position:{Y:.1}},.6:{Position:{Y:.2}},.9:{Position:{Y:1}}}}]}})(Std=IGX.Std||(IGX.Std={}))}(IGX||(IGX={})),function(IGX){var Std;(function(Std){var DeformationInteractor=function(_super){function DeformationInteractor(parameters){var _this=this;return Std.SetupValue(parameters,Std.Start,0),Std.SetupValue(parameters,Std.End,1),Std.SetupAnimation(parameters),_this=_super.call(this,parameters)||this,void 0===parameters.Inverse?parameters.Inverse=!1:"string"==typeof parameters.Inverse?parameters.Inverse=1==eval(parameters.Inverse):parameters.Inverse=1==parameters.Inverse,_this.parameters[Std.Manual]=!1,_this.bAutoReset=!1,"string"==typeof parameters.AutoReset&&"true"===parameters.AutoReset.toLowerCase()?_this.bAutoReset=!0:"string"!=typeof parameters.AutoReset&&(_this.bAutoReset=parameters.AutoReset),_this}return __extends(DeformationInteractor,_super),DeformationInteractor.prototype.SetPosition=function(t){this.SetStagePosition(this.parameters.Stage,t===Std.Start?this.parameters[Std.Start]:this.parameters[Std.End])},DeformationInteractor.prototype.SetStagePosition=function(t,e){var i;t===this.parameters.Stage&&(i=this.bAutoReset?e<.5?2*(this.parameters.Inverse?1-e-.5:e):2*(1-(this.parameters.Inverse?1-e+.5:e)):this.parameters.Inverse?1-e:e,t===this.parameters.Stage&&IGX.API.SetDeformation(this.GetComponentId(),i))},DeformationInteractor}(IGX.Core.Interactor);Std.DeformationInteractor=DeformationInteractor})(Std=IGX.Std||(IGX.Std={}))}(IGX||(IGX={})),function(t){!function(e){var i=function(i){function a(t){var a=this;return e.SetupValue(t,"Maximum",90),e.SetupValue(t,"Minimum",0),e.SetupValue(t,"Thickness",0),e.SetupValue(t,"Gap",0),"X"!=t.RotationAxis&&"Y"!=t.RotationAxis&&"Z"!=t.RotationAxis&&(t.RotationAxis="X"),"Right"!=t.Offset&&(t.Offset="Left"),e.SetupAnimation(t),(a=i.call(this,t)||this).bAutoReset=!1,"string"==typeof t.AutoReset&&"true"===t.AutoReset.toLowerCase()?a.bAutoReset=!0:"string"!=typeof t.AutoReset&&(a.bAutoReset=t.AutoReset),a}return __extends(a,i),a.prototype.SetPosition=function(t){switch(t){case e.Start:this.setPosition(0);break;case e.End:this.setPosition(1)}},a.prototype.setPosition=function(e){this.position||(this.position=t.API.GetPosition(this.GetComponentId()));var i=this.parameters.Offset,a=this.parameters.RotationAxis,o=this.parameters.Thickness*e,n=this.parameters.Gap*e;if(!(void 0===this.parameters.Start&&void 0===this.parameters.StageStart&&void 0===this.parameters.Minimum||void 0===this.parameters.End&&void 0===this.parameters.StageEnd&&void 0===this.parameters.Maximum)){var r,s=(r=void 0===this.parameters.StageStart?void 0===this.parameters.Start?this.parameters.Minimum:this.parameters.Start:this.parameters.StageStart)+((void 0===this.parameters.StageEnd?void 0===this.parameters.End?this.parameters.Maximum:this.parameters.End:this.parameters.StageEnd)-r)*e,h=new t.Float3;if(h.x=this.position.x,h.y=this.position.y,h.z=this.position.z,console.log(i,a,h,s),"Left"===i)switch(a){case"X":h.z-=o,h.y+=n,t.API.SetPosition(this.GetComponentId(),h),t.API.SetXRotation(this.GetComponentId(),s);break;case"Y":h.x-=o,h.z+=n,t.API.SetPosition(this.GetComponentId(),h),t.API.SetYRotation(this.GetComponentId(),s);break;case"Z":h.x-=o,h.y+=n,t.API.SetPosition(this.GetComponentId(),h),t.API.SetZRotation(this.GetComponentId(),-s)}else switch(a){case"X":h.z+=o,h.y+=n,t.API.SetPosition(this.GetComponentId(),h),t.API.SetXRotation(this.GetComponentId(),-s);break;case"Y":h.x+=o,h.z+=n,t.API.SetPosition(this.GetComponentId(),h),t.API.SetYRotation(this.GetComponentId(),-s);break;case"Z":h.x+=o,h.y+=n,t.API.SetPosition(this.GetComponentId(),h),t.API.SetZRotation(this.GetComponentId(),s)}}},a.prototype.SetStagePosition=function(t,e){if(t.toString()===this.parameters.Stage.toString()){var i=e;this.bAutoReset&&(i=e<.5?2*e:2*(1-e)),this.setPosition(i)}},a.prototype.GetHints=function(){var t=[0];return this.bAutoReset&&t.push(.5),t.push(1),t},a}(t.Core.Interactor);e.OffsetRotator=i}(t.Std||(t.Std={}))}(IGX||(IGX={})),function(IGX){var Std;(function(Std){var VisibilityInteractor=function(_super){function VisibilityInteractor(parameters){var _this=this;return Std.SetupAnimation(parameters),_this=_super.call(this,parameters)||this,"string"==typeof parameters.Threshold?parameters.Threshold=eval(parameters.Threshold):"number"==typeof parameters.Threshold?parameters.Threshold=parameters.Threshold:void 0===parameters.Threshold&&(parameters.Threshold=.1),_this}return __extends(VisibilityInteractor,_super),VisibilityInteractor.prototype.SetPosition=function(t){this.SetStagePosition(this.parameters.Stage,t===Std.Start?0:1)},VisibilityInteractor.prototype.SetStagePosition=function(t,e){t===this.parameters.Stage&&IGX.API.SetVisibility(this.GetComponentId(),e<this.parameters.Threshold)},VisibilityInteractor}(IGX.Core.Interactor);Std.VisibilityInteractor=VisibilityInteractor})(Std=IGX.Std||(IGX.Std={}))}(IGX||(IGX={})),console.log("IG.GFX.Standard 1.10.4 (1.10.4.100). Copyright (C) 2013 - 2024 intelligentgraphics AG. All Rights Reserved."),!IGX.Float3){var Float3=function(t,e,i){this.x=void 0===t?0:t,this.y=void 0===e?0:e,this.z=void 0===i?0:i};IGX.Float3=Float3}!function(t){!function(e){var i=function(t){function i(i){return e.SetupAnimation(i),t.call(this,i)||this}return __extends(i,t),i.prototype.SetPosition=function(t){},i.prototype.SetStagePosition=function(t,e){},i}(t.Core.Interactor);e.EmptyInteractor=i}(t.Std||(t.Std={}))}(IGX||(IGX={}));
package/Readme.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  ## History
4
4
 
5
+ **IG.GFX.Standard 1.10.3**
6
+
7
+ - fix issues in d.ts file
8
+
9
+ **IG.GFX.Standard 1.10.2**
10
+
11
+ - add AutoReset option for AnimationInteractor
12
+
5
13
  **IG.GFX.Standard 1.10.1**
6
14
 
7
15
  - use SetQuaternionRotation() call if available
package/_Package.json CHANGED
@@ -5,5 +5,5 @@
5
5
  "Type": "Interactor",
6
6
  "RunTime": true,
7
7
  "Copyright": "Copyright (C) 2013 - 2024 intelligentgraphics AG. All Rights Reserved.",
8
- "Version": "1.10.2.100"
8
+ "Version": "1.10.4.100"
9
9
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@intelligentgraphics/3d.ig.gfx.standard",
3
- "description": "IG.GFX.Standard 1.10.2 (1.10.2.100)",
4
- "version": "1.10.2",
3
+ "description": "IG.GFX.Standard 1.10.4 (1.10.4.100)",
4
+ "version": "1.10.4",
5
5
  "dependencies": {
6
6
  "@intelligentgraphics/3d.ig.gfx.core": "^2.6.1",
7
7
  "@intelligentgraphics/3d.ig.math": "^1.1.0"