@babylonjs/core 6.33.1 → 6.34.0

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.
Files changed (175) hide show
  1. package/Animations/animationGroup.js +2 -2
  2. package/Animations/animationGroup.js.map +1 -1
  3. package/Animations/animationGroupMask.d.ts +4 -0
  4. package/Animations/animationGroupMask.js +4 -0
  5. package/Animations/animationGroupMask.js.map +1 -1
  6. package/Compute/computeShader.d.ts +5 -0
  7. package/Compute/computeShader.js +42 -32
  8. package/Compute/computeShader.js.map +1 -1
  9. package/Engines/WebGPU/Extensions/engine.computeShader.js +4 -2
  10. package/Engines/WebGPU/Extensions/engine.computeShader.js.map +1 -1
  11. package/Engines/engine.d.ts +16 -10
  12. package/Engines/thinEngine.js +3 -2
  13. package/Engines/thinEngine.js.map +1 -1
  14. package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.d.ts +296 -0
  15. package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.js +758 -0
  16. package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.js.map +1 -0
  17. package/FlowGraph/Blocks/Data/Math/index.d.ts +1 -5
  18. package/FlowGraph/Blocks/Data/Math/index.js +1 -5
  19. package/FlowGraph/Blocks/Data/Math/index.js.map +1 -1
  20. package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.d.ts +2 -2
  21. package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.js +3 -3
  22. package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.js.map +1 -1
  23. package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.d.ts +1 -1
  24. package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.js +3 -3
  25. package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.js.map +1 -1
  26. package/FlowGraph/Blocks/Data/flowGraphConstantBlock.d.ts +1 -0
  27. package/FlowGraph/Blocks/Data/flowGraphConstantBlock.js +5 -0
  28. package/FlowGraph/Blocks/Data/flowGraphConstantBlock.js.map +1 -1
  29. package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.d.ts +25 -0
  30. package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.js +22 -0
  31. package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.js.map +1 -0
  32. package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.d.ts +11 -5
  33. package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.js +12 -6
  34. package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.js.map +1 -1
  35. package/FlowGraph/Blocks/Data/flowGraphTernaryOperationBlock.d.ts +19 -0
  36. package/FlowGraph/Blocks/Data/flowGraphTernaryOperationBlock.js +22 -0
  37. package/FlowGraph/Blocks/Data/flowGraphTernaryOperationBlock.js.map +1 -0
  38. package/FlowGraph/Blocks/Data/index.d.ts +1 -0
  39. package/FlowGraph/Blocks/Data/index.js +1 -0
  40. package/FlowGraph/Blocks/Data/index.js.map +1 -1
  41. package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.d.ts +10 -5
  42. package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.js +15 -5
  43. package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.js.map +1 -1
  44. package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.d.ts +1 -0
  45. package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.js +2 -1
  46. package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.js.map +1 -1
  47. package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.d.ts +1 -0
  48. package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.js +3 -2
  49. package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.js.map +1 -1
  50. package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.d.ts +2 -2
  51. package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.js +3 -3
  52. package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.js.map +1 -1
  53. package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.d.ts +0 -5
  54. package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.js +2 -3
  55. package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.js.map +1 -1
  56. package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.d.ts +2 -2
  57. package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.js +3 -3
  58. package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.js.map +1 -1
  59. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.d.ts +2 -2
  60. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.js +3 -3
  61. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.js.map +1 -1
  62. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.d.ts +2 -2
  63. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.js +2 -2
  64. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.js.map +1 -1
  65. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.d.ts +2 -2
  66. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.js +3 -3
  67. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.js.map +1 -1
  68. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.d.ts +2 -2
  69. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.js +3 -3
  70. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.js.map +1 -1
  71. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.d.ts +13 -5
  72. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.js +14 -12
  73. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.js.map +1 -1
  74. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.d.ts +2 -6
  75. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.js +3 -4
  76. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.js.map +1 -1
  77. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.d.ts +16 -0
  78. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.js +26 -0
  79. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.js.map +1 -0
  80. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.d.ts +2 -2
  81. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.js +3 -3
  82. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.js.map +1 -1
  83. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.d.ts +1 -6
  84. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.js +4 -4
  85. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.js.map +1 -1
  86. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.d.ts +2 -2
  87. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.js +4 -4
  88. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.js.map +1 -1
  89. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.d.ts +3 -2
  90. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.js +6 -5
  91. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.js.map +1 -1
  92. package/FlowGraph/Blocks/Execution/ControlFlow/index.d.ts +1 -0
  93. package/FlowGraph/Blocks/Execution/ControlFlow/index.js +1 -0
  94. package/FlowGraph/Blocks/Execution/ControlFlow/index.js.map +1 -1
  95. package/FlowGraph/Blocks/Execution/{flowGraphLogBlock.d.ts → flowGraphConsoleLogBlock.d.ts} +3 -2
  96. package/FlowGraph/Blocks/Execution/{flowGraphLogBlock.js → flowGraphConsoleLogBlock.js} +7 -6
  97. package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.js.map +1 -0
  98. package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.d.ts +16 -8
  99. package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.js +17 -10
  100. package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.js.map +1 -1
  101. package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.d.ts +4 -3
  102. package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.js +7 -6
  103. package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.js.map +1 -1
  104. package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.d.ts +12 -7
  105. package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js +10 -9
  106. package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js.map +1 -1
  107. package/FlowGraph/Blocks/Execution/index.d.ts +1 -2
  108. package/FlowGraph/Blocks/Execution/index.js +1 -3
  109. package/FlowGraph/Blocks/Execution/index.js.map +1 -1
  110. package/FlowGraph/flowGraph.d.ts +3 -1
  111. package/FlowGraph/flowGraph.js +6 -2
  112. package/FlowGraph/flowGraph.js.map +1 -1
  113. package/FlowGraph/flowGraphAsyncExecutionBlock.d.ts +6 -2
  114. package/FlowGraph/flowGraphAsyncExecutionBlock.js +2 -1
  115. package/FlowGraph/flowGraphAsyncExecutionBlock.js.map +1 -1
  116. package/FlowGraph/flowGraphBlock.d.ts +7 -2
  117. package/FlowGraph/flowGraphBlock.js +36 -14
  118. package/FlowGraph/flowGraphBlock.js.map +1 -1
  119. package/FlowGraph/flowGraphContext.d.ts +9 -5
  120. package/FlowGraph/flowGraphContext.js +7 -2
  121. package/FlowGraph/flowGraphContext.js.map +1 -1
  122. package/FlowGraph/flowGraphCoordinator.d.ts +4 -5
  123. package/FlowGraph/flowGraphCoordinator.js +12 -7
  124. package/FlowGraph/flowGraphCoordinator.js.map +1 -1
  125. package/FlowGraph/flowGraphEventBlock.js +1 -1
  126. package/FlowGraph/flowGraphEventBlock.js.map +1 -1
  127. package/FlowGraph/flowGraphExecutionBlock.d.ts +3 -2
  128. package/FlowGraph/flowGraphExecutionBlock.js +7 -11
  129. package/FlowGraph/flowGraphExecutionBlock.js.map +1 -1
  130. package/FlowGraph/flowGraphPath.d.ts +20 -2
  131. package/FlowGraph/flowGraphPath.js +27 -7
  132. package/FlowGraph/flowGraphPath.js.map +1 -1
  133. package/FlowGraph/flowGraphWithOnDoneExecutionBlock.d.ts +3 -3
  134. package/FlowGraph/flowGraphWithOnDoneExecutionBlock.js +3 -3
  135. package/FlowGraph/flowGraphWithOnDoneExecutionBlock.js.map +1 -1
  136. package/FlowGraph/index.d.ts +3 -0
  137. package/FlowGraph/index.js +3 -0
  138. package/FlowGraph/index.js.map +1 -1
  139. package/FlowGraph/serialization.js +20 -6
  140. package/FlowGraph/serialization.js.map +1 -1
  141. package/FlowGraph/typeDefinitions.d.ts +33 -0
  142. package/FlowGraph/typeDefinitions.js +2 -0
  143. package/FlowGraph/typeDefinitions.js.map +1 -0
  144. package/Lights/light.d.ts +15 -0
  145. package/Lights/light.js +18 -0
  146. package/Lights/light.js.map +1 -1
  147. package/Lights/shadowLight.d.ts +18 -1
  148. package/Lights/shadowLight.js +34 -1
  149. package/Lights/shadowLight.js.map +1 -1
  150. package/Meshes/Node/nodeGeometryBlock.js +9 -1
  151. package/Meshes/Node/nodeGeometryBlock.js.map +1 -1
  152. package/Meshes/abstractMesh.js +3 -1
  153. package/Meshes/abstractMesh.js.map +1 -1
  154. package/XR/features/WebXRMeshDetector.d.ts +14 -2
  155. package/XR/features/WebXRMeshDetector.js +43 -8
  156. package/XR/features/WebXRMeshDetector.js.map +1 -1
  157. package/package.json +1 -1
  158. package/scene.d.ts +1 -2
  159. package/scene.js.map +1 -1
  160. package/FlowGraph/Blocks/Data/Math/flowGraphMatrixBlocks.d.ts +0 -172
  161. package/FlowGraph/Blocks/Data/Math/flowGraphMatrixBlocks.js +0 -235
  162. package/FlowGraph/Blocks/Data/Math/flowGraphMatrixBlocks.js.map +0 -1
  163. package/FlowGraph/Blocks/Data/Math/flowGraphNumberMathBlocks.d.ts +0 -269
  164. package/FlowGraph/Blocks/Data/Math/flowGraphNumberMathBlocks.js +0 -429
  165. package/FlowGraph/Blocks/Data/Math/flowGraphNumberMathBlocks.js.map +0 -1
  166. package/FlowGraph/Blocks/Data/Math/flowGraphVector2MathBlocks.d.ts +0 -115
  167. package/FlowGraph/Blocks/Data/Math/flowGraphVector2MathBlocks.js +0 -146
  168. package/FlowGraph/Blocks/Data/Math/flowGraphVector2MathBlocks.js.map +0 -1
  169. package/FlowGraph/Blocks/Data/Math/flowGraphVector3MathBlocks.d.ts +0 -155
  170. package/FlowGraph/Blocks/Data/Math/flowGraphVector3MathBlocks.js +0 -190
  171. package/FlowGraph/Blocks/Data/Math/flowGraphVector3MathBlocks.js.map +0 -1
  172. package/FlowGraph/Blocks/Data/Math/flowGraphVector4MathBlocks.d.ts +0 -116
  173. package/FlowGraph/Blocks/Data/Math/flowGraphVector4MathBlocks.js +0 -144
  174. package/FlowGraph/Blocks/Data/Math/flowGraphVector4MathBlocks.js.map +0 -1
  175. package/FlowGraph/Blocks/Execution/flowGraphLogBlock.js.map +0 -1
@@ -0,0 +1,758 @@
1
+ import { RegisterClass } from "../../../../Misc/typeStore.js";
2
+ import { RichTypeAny, RichTypeBoolean, RichTypeNumber, RichTypeVector2, RichTypeVector3 } from "../../../flowGraphRichTypes.js";
3
+ import { FlowGraphBinaryOperationBlock } from "../flowGraphBinaryOperationBlock.js";
4
+ import { FlowGraphConstantOperationBlock } from "../flowGraphConstantOperationBlock.js";
5
+ import { Matrix, Vector2, Vector3, Vector4 } from "../../../../Maths/math.vector.js";
6
+ import { FlowGraphUnaryOperationBlock } from "../flowGraphUnaryOperationBlock.js";
7
+ import { FlowGraphTernaryOperationBlock } from "../flowGraphTernaryOperationBlock.js";
8
+ /**
9
+ * @internal
10
+ * @param v
11
+ * @returns
12
+ */
13
+ function _getClassNameOf(v) {
14
+ if (v.getClassName) {
15
+ return v.getClassName();
16
+ }
17
+ return "";
18
+ }
19
+ /**
20
+ * @internal
21
+ * @param className
22
+ * @param className2
23
+ * @returns
24
+ */
25
+ function _areSameVectorClass(className, className2) {
26
+ return (className === "Vector2" && className2 === "Vector2") || (className === "Vector3" && className2 === "Vector3") || (className === "Vector4" && className2 === "Vector4");
27
+ }
28
+ /**
29
+ * @experimental
30
+ * Polymorphic add block.
31
+ */
32
+ export class FlowGraphAddBlock extends FlowGraphBinaryOperationBlock {
33
+ constructor(config) {
34
+ super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicAdd(a, b), FlowGraphAddBlock.ClassName, config);
35
+ }
36
+ _polymorphicAdd(a, b) {
37
+ const aClassName = _getClassNameOf(a);
38
+ const bClassName = _getClassNameOf(b);
39
+ if (_areSameVectorClass(aClassName, bClassName)) {
40
+ return a.add(b);
41
+ }
42
+ else {
43
+ return a + b;
44
+ }
45
+ }
46
+ getClassName() {
47
+ return FlowGraphAddBlock.ClassName;
48
+ }
49
+ }
50
+ FlowGraphAddBlock.ClassName = "FGAddBlock";
51
+ RegisterClass(FlowGraphAddBlock.ClassName, FlowGraphAddBlock);
52
+ /**
53
+ * @experimental
54
+ * Polymorphic add block.
55
+ */
56
+ export class FlowGraphSubtractBlock extends FlowGraphBinaryOperationBlock {
57
+ constructor(config) {
58
+ super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicAdd(a, b), FlowGraphSubtractBlock.ClassName, config);
59
+ }
60
+ _polymorphicAdd(a, b) {
61
+ const aClassName = _getClassNameOf(a);
62
+ const bClassName = _getClassNameOf(b);
63
+ if (_areSameVectorClass(aClassName, bClassName)) {
64
+ return a.subtract(b);
65
+ }
66
+ else {
67
+ return a - b;
68
+ }
69
+ }
70
+ getClassName() {
71
+ return FlowGraphSubtractBlock.ClassName;
72
+ }
73
+ }
74
+ FlowGraphSubtractBlock.ClassName = "FGSubBlock";
75
+ RegisterClass(FlowGraphSubtractBlock.ClassName, FlowGraphSubtractBlock);
76
+ export class FlowGraphMultiplyBlock extends FlowGraphBinaryOperationBlock {
77
+ constructor(config) {
78
+ super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicMultiply(a, b), FlowGraphMultiplyBlock.ClassName, config);
79
+ }
80
+ _polymorphicMultiply(a, b) {
81
+ const aClassName = _getClassNameOf(a);
82
+ const bClassName = _getClassNameOf(b);
83
+ if (_areSameVectorClass(aClassName, bClassName)) {
84
+ return a.multiply(b);
85
+ }
86
+ else {
87
+ return a * b;
88
+ }
89
+ }
90
+ }
91
+ FlowGraphMultiplyBlock.ClassName = "FGMultiplyBlock";
92
+ RegisterClass(FlowGraphMultiplyBlock.ClassName, FlowGraphMultiplyBlock);
93
+ export class FlowGraphDivideBlock extends FlowGraphBinaryOperationBlock {
94
+ constructor(config) {
95
+ super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicDivide(a, b), FlowGraphDivideBlock.ClassName, config);
96
+ }
97
+ _polymorphicDivide(a, b) {
98
+ const aClassName = _getClassNameOf(a);
99
+ const bClassName = _getClassNameOf(b);
100
+ if (_areSameVectorClass(aClassName, bClassName)) {
101
+ return a.divide(b);
102
+ }
103
+ else {
104
+ return a / b;
105
+ }
106
+ }
107
+ }
108
+ FlowGraphDivideBlock.ClassName = "FGDivideBlock";
109
+ RegisterClass(FlowGraphDivideBlock.ClassName, FlowGraphDivideBlock);
110
+ export class FlowGraphRandomBlock extends FlowGraphConstantOperationBlock {
111
+ constructor(config) {
112
+ super(RichTypeNumber, () => Math.random(), FlowGraphRandomBlock.ClassName, config);
113
+ }
114
+ }
115
+ FlowGraphRandomBlock.ClassName = "FGRandomBlock";
116
+ RegisterClass(FlowGraphRandomBlock.ClassName, FlowGraphRandomBlock);
117
+ export class FlowGraphDotBlock extends FlowGraphBinaryOperationBlock {
118
+ constructor(config) {
119
+ super(RichTypeAny, RichTypeAny, RichTypeNumber, (a, b) => this._polymorphicDot(a, b), FlowGraphDotBlock.ClassName, config);
120
+ }
121
+ _polymorphicDot(a, b) {
122
+ const className = _getClassNameOf(a);
123
+ switch (className) {
124
+ case "Vector2":
125
+ return Vector2.Dot(a, b);
126
+ case "Vector3":
127
+ return Vector3.Dot(a, b);
128
+ case "Vector4":
129
+ return Vector4.Dot(a, b);
130
+ default:
131
+ throw new Error(`Cannot get dot product of ${a} and ${b}`);
132
+ }
133
+ }
134
+ }
135
+ FlowGraphDotBlock.ClassName = "FGDotBlock";
136
+ RegisterClass(FlowGraphDotBlock.ClassName, FlowGraphDotBlock);
137
+ export class FlowGraphEBlock extends FlowGraphConstantOperationBlock {
138
+ constructor(config) {
139
+ super(RichTypeNumber, () => Math.E, FlowGraphEBlock.ClassName, config);
140
+ }
141
+ }
142
+ FlowGraphEBlock.ClassName = "FGEBlock";
143
+ RegisterClass(FlowGraphEBlock.ClassName, FlowGraphEBlock);
144
+ export class FlowGraphPiBlock extends FlowGraphConstantOperationBlock {
145
+ constructor(config) {
146
+ super(RichTypeNumber, () => Math.PI, FlowGraphPiBlock.ClassName, config);
147
+ }
148
+ }
149
+ FlowGraphPiBlock.ClassName = "FGPIBlock";
150
+ RegisterClass(FlowGraphPiBlock.ClassName, FlowGraphPiBlock);
151
+ export class FlowGraphInfBlock extends FlowGraphConstantOperationBlock {
152
+ constructor(config) {
153
+ super(RichTypeNumber, () => Number.POSITIVE_INFINITY, FlowGraphInfBlock.ClassName, config);
154
+ }
155
+ }
156
+ FlowGraphInfBlock.ClassName = "FGInfBlock";
157
+ RegisterClass(FlowGraphInfBlock.ClassName, FlowGraphInfBlock);
158
+ export class FlowGraphNaNBlock extends FlowGraphConstantOperationBlock {
159
+ constructor(config) {
160
+ super(RichTypeNumber, () => Number.NaN, FlowGraphNaNBlock.ClassName, config);
161
+ }
162
+ }
163
+ FlowGraphNaNBlock.ClassName = "FGNaNBlock";
164
+ RegisterClass(FlowGraphNaNBlock.ClassName, FlowGraphNaNBlock);
165
+ function _componentWiseUnaryOperation(a, op) {
166
+ const aClassName = _getClassNameOf(a);
167
+ switch (aClassName) {
168
+ case "Vector2":
169
+ return new Vector2(op(a.x), op(a.y));
170
+ case "Vector3":
171
+ return new Vector3(op(a.x), op(a.y), op(a.z));
172
+ case "Vector4":
173
+ return new Vector4(op(a.x), op(a.y), op(a.z), op(a.w));
174
+ default:
175
+ return op(a);
176
+ }
177
+ }
178
+ export class FlowGraphAbsBlock extends FlowGraphUnaryOperationBlock {
179
+ constructor(config) {
180
+ super(RichTypeAny, RichTypeAny, (a) => this._polymorphicAbs(a), FlowGraphAbsBlock.ClassName, config);
181
+ }
182
+ _polymorphicAbs(a) {
183
+ return _componentWiseUnaryOperation(a, Math.abs);
184
+ }
185
+ }
186
+ FlowGraphAbsBlock.ClassName = "FGAbsBlock";
187
+ RegisterClass(FlowGraphAbsBlock.ClassName, FlowGraphAbsBlock);
188
+ export class FlowGraphSignBlock extends FlowGraphUnaryOperationBlock {
189
+ constructor(config) {
190
+ super(RichTypeAny, RichTypeAny, (a) => this._polymorphicSign(a), FlowGraphSignBlock.ClassName, config);
191
+ }
192
+ _polymorphicSign(a) {
193
+ return _componentWiseUnaryOperation(a, Math.sign);
194
+ }
195
+ }
196
+ FlowGraphSignBlock.ClassName = "FGSignBlock";
197
+ RegisterClass(FlowGraphSignBlock.ClassName, FlowGraphSignBlock);
198
+ export class FlowGraphTruncBlock extends FlowGraphUnaryOperationBlock {
199
+ constructor(config) {
200
+ super(RichTypeAny, RichTypeAny, (a) => this._polymorphicTrunc(a), FlowGraphTruncBlock.ClassName, config);
201
+ }
202
+ _polymorphicTrunc(a) {
203
+ return _componentWiseUnaryOperation(a, Math.trunc);
204
+ }
205
+ }
206
+ FlowGraphTruncBlock.ClassName = "FGTruncBlock";
207
+ RegisterClass(FlowGraphTruncBlock.ClassName, FlowGraphTruncBlock);
208
+ export class FlowGraphFloorBlock extends FlowGraphUnaryOperationBlock {
209
+ constructor(config) {
210
+ super(RichTypeAny, RichTypeAny, (a) => this._polymorphicFloor(a), FlowGraphFloorBlock.ClassName, config);
211
+ }
212
+ _polymorphicFloor(a) {
213
+ return _componentWiseUnaryOperation(a, Math.floor);
214
+ }
215
+ }
216
+ FlowGraphFloorBlock.ClassName = "FGFloorBlock";
217
+ RegisterClass(FlowGraphFloorBlock.ClassName, FlowGraphFloorBlock);
218
+ export class FlowGraphCeilBlock extends FlowGraphUnaryOperationBlock {
219
+ constructor(config) {
220
+ super(RichTypeAny, RichTypeAny, (a) => this._polymorphicCeiling(a), FlowGraphCeilBlock.ClassName, config);
221
+ }
222
+ _polymorphicCeiling(a) {
223
+ return _componentWiseUnaryOperation(a, Math.ceil);
224
+ }
225
+ }
226
+ FlowGraphCeilBlock.ClassName = "FGCeilBlock";
227
+ RegisterClass(FlowGraphCeilBlock.ClassName, FlowGraphCeilBlock);
228
+ export class FlowGraphFractBlock extends FlowGraphUnaryOperationBlock {
229
+ constructor(config) {
230
+ super(RichTypeAny, RichTypeAny, (a) => this._polymorphicFract(a), FlowGraphFractBlock.ClassName, config);
231
+ }
232
+ _polymorphicFract(a) {
233
+ return _componentWiseUnaryOperation(a, (a) => a - Math.floor(a));
234
+ }
235
+ }
236
+ FlowGraphFractBlock.ClassName = "FGFractBlock";
237
+ RegisterClass(FlowGraphFractBlock.ClassName, FlowGraphFractBlock);
238
+ export class FlowGraphNegBlock extends FlowGraphUnaryOperationBlock {
239
+ constructor(config) {
240
+ super(RichTypeAny, RichTypeAny, (a) => this._polymorphicNeg(a), FlowGraphNegBlock.ClassName, config);
241
+ }
242
+ _polymorphicNeg(a) {
243
+ return _componentWiseUnaryOperation(a, (a) => -a);
244
+ }
245
+ }
246
+ FlowGraphNegBlock.ClassName = "FGNegBlock";
247
+ RegisterClass(FlowGraphNegBlock.ClassName, FlowGraphNegBlock);
248
+ function _componentWiseBinaryOperation(a, b, op) {
249
+ const aClassName = _getClassNameOf(a);
250
+ switch (aClassName) {
251
+ case "Vector2":
252
+ return new Vector2(op(a.x, b.x), op(a.y, b.y));
253
+ case "Vector3":
254
+ return new Vector3(op(a.x, b.x), op(a.y, b.y), op(a.z, b.z));
255
+ case "Vector4":
256
+ return new Vector4(op(a.x, b.x), op(a.y, b.y), op(a.z, b.z), op(a.w, b.w));
257
+ default:
258
+ return op(a, b);
259
+ }
260
+ }
261
+ export class FlowGraphRemainderBlock extends FlowGraphBinaryOperationBlock {
262
+ constructor(config) {
263
+ super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicRemainder(a, b), FlowGraphRemainderBlock.ClassName, config);
264
+ }
265
+ _polymorphicRemainder(a, b) {
266
+ return _componentWiseBinaryOperation(a, b, (a, b) => a % b);
267
+ }
268
+ }
269
+ FlowGraphRemainderBlock.ClassName = "FGRemainderBlock";
270
+ RegisterClass(FlowGraphRemainderBlock.ClassName, FlowGraphRemainderBlock);
271
+ export class FlowGraphMinBlock extends FlowGraphBinaryOperationBlock {
272
+ constructor(config) {
273
+ super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicMin(a, b), FlowGraphMinBlock.ClassName, config);
274
+ }
275
+ _polymorphicMin(a, b) {
276
+ return _componentWiseBinaryOperation(a, b, Math.min);
277
+ }
278
+ }
279
+ FlowGraphMinBlock.ClassName = "FGMinBlock";
280
+ RegisterClass(FlowGraphMinBlock.ClassName, FlowGraphMinBlock);
281
+ export class FlowGraphMaxBlock extends FlowGraphBinaryOperationBlock {
282
+ constructor(config) {
283
+ super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicMax(a, b), FlowGraphMaxBlock.ClassName, config);
284
+ }
285
+ _polymorphicMax(a, b) {
286
+ return _componentWiseBinaryOperation(a, b, Math.max);
287
+ }
288
+ }
289
+ FlowGraphMaxBlock.ClassName = "FGMaxBlock";
290
+ RegisterClass(FlowGraphMaxBlock.ClassName, FlowGraphMaxBlock);
291
+ function _clamp(a, b, c) {
292
+ return Math.min(Math.max(a, b), c);
293
+ }
294
+ function _componentWiseTernaryOperation(a, b, c, op) {
295
+ const aClassName = _getClassNameOf(a);
296
+ switch (aClassName) {
297
+ case "Vector2":
298
+ return new Vector2(op(a.x, b.x, c.x), op(a.y, b.y, c.y));
299
+ case "Vector3":
300
+ return new Vector3(op(a.x, b.x, c.x), op(a.y, b.y, c.y), op(a.z, b.z, c.z));
301
+ case "Vector4":
302
+ return new Vector4(op(a.x, b.x, c.x), op(a.y, b.y, c.y), op(a.z, b.z, c.z), op(a.w, b.w, c.w));
303
+ default:
304
+ return op(a, b, c);
305
+ }
306
+ }
307
+ export class FlowGraphClampBlock extends FlowGraphTernaryOperationBlock {
308
+ constructor(config) {
309
+ super(RichTypeAny, RichTypeAny, RichTypeAny, RichTypeAny, (a, b, c) => this._polymorphicClamp(a, b, c), FlowGraphClampBlock.ClassName, config);
310
+ }
311
+ _polymorphicClamp(a, b, c) {
312
+ return _componentWiseTernaryOperation(a, b, c, _clamp);
313
+ }
314
+ }
315
+ FlowGraphClampBlock.ClassName = "FGClampBlock";
316
+ RegisterClass(FlowGraphClampBlock.ClassName, FlowGraphClampBlock);
317
+ export class FlowGraphSaturateBlock extends FlowGraphUnaryOperationBlock {
318
+ constructor(config) {
319
+ super(RichTypeAny, RichTypeAny, (a) => this._polymorphicSaturate(a), FlowGraphSaturateBlock.ClassName, config);
320
+ }
321
+ _polymorphicSaturate(a) {
322
+ return _componentWiseUnaryOperation(a, (a) => _clamp(a, 0, 1));
323
+ }
324
+ }
325
+ FlowGraphSaturateBlock.ClassName = "FGSaturateBlock";
326
+ RegisterClass(FlowGraphSaturateBlock.ClassName, FlowGraphSaturateBlock);
327
+ export class FlowGraphInterpolateBlock extends FlowGraphTernaryOperationBlock {
328
+ constructor(config) {
329
+ super(RichTypeAny, RichTypeAny, RichTypeAny, RichTypeAny, (a, b, c) => this._polymorphicInterpolate(a, b, c), FlowGraphInterpolateBlock.ClassName, config);
330
+ }
331
+ _interpolate(a, b, c) {
332
+ return (1 - c) * a + c * b;
333
+ }
334
+ _polymorphicInterpolate(a, b, c) {
335
+ return _componentWiseTernaryOperation(a, b, c, this._interpolate);
336
+ }
337
+ }
338
+ FlowGraphInterpolateBlock.ClassName = "FGInterpolateBlock";
339
+ RegisterClass(FlowGraphInterpolateBlock.ClassName, FlowGraphInterpolateBlock);
340
+ export class FlowGraphEqBlock extends FlowGraphBinaryOperationBlock {
341
+ constructor(config) {
342
+ super(RichTypeAny, RichTypeAny, RichTypeBoolean, (a, b) => this._polymorphicEq(a, b), FlowGraphEqBlock.ClassName, config);
343
+ }
344
+ _polymorphicEq(a, b) {
345
+ const aClassName = _getClassNameOf(a);
346
+ const bClassName = _getClassNameOf(b);
347
+ if (_areSameVectorClass(aClassName, bClassName)) {
348
+ return a.equals(b);
349
+ }
350
+ else {
351
+ return a === b;
352
+ }
353
+ }
354
+ }
355
+ FlowGraphEqBlock.ClassName = "FGEqBlock";
356
+ RegisterClass(FlowGraphEqBlock.ClassName, FlowGraphEqBlock);
357
+ export class FlowGraphLessThanBlock extends FlowGraphBinaryOperationBlock {
358
+ constructor(config) {
359
+ super(RichTypeAny, RichTypeAny, RichTypeBoolean, (a, b) => this._polymorphicLessThan(a, b), FlowGraphLessThanBlock.ClassName, config);
360
+ }
361
+ _polymorphicLessThan(a, b) {
362
+ const aClassName = _getClassNameOf(a);
363
+ switch (aClassName) {
364
+ case "Vector2":
365
+ return a.x < b.x && a.y < b.y;
366
+ case "Vector3":
367
+ return a.x < b.x && a.y < b.y && a.z < b.z;
368
+ case "Vector4":
369
+ return a.x < b.x && a.y < b.y && a.z < b.z && a.w < b.w;
370
+ default:
371
+ return a < b;
372
+ }
373
+ }
374
+ }
375
+ FlowGraphLessThanBlock.ClassName = "FGLessThanBlock";
376
+ RegisterClass(FlowGraphLessThanBlock.ClassName, FlowGraphLessThanBlock);
377
+ export class FlowGraphLessThanOrEqualBlock extends FlowGraphBinaryOperationBlock {
378
+ constructor(config) {
379
+ super(RichTypeAny, RichTypeAny, RichTypeBoolean, (a, b) => this._polymorphicLessThanOrEqual(a, b), FlowGraphLessThanOrEqualBlock.ClassName, config);
380
+ }
381
+ _polymorphicLessThanOrEqual(a, b) {
382
+ const aClassName = _getClassNameOf(a);
383
+ switch (aClassName) {
384
+ case "Vector2":
385
+ return a.x <= b.x && a.y <= b.y;
386
+ case "Vector3":
387
+ return a.x <= b.x && a.y <= b.y && a.z <= b.z;
388
+ case "Vector4":
389
+ return a.x <= b.x && a.y <= b.y && a.z <= b.z && a.w <= b.w;
390
+ default:
391
+ return a <= b;
392
+ }
393
+ }
394
+ }
395
+ FlowGraphLessThanOrEqualBlock.ClassName = "FGLessThanOrEqualBlock";
396
+ export class FlowGraphGreaterThanBlock extends FlowGraphBinaryOperationBlock {
397
+ constructor(config) {
398
+ super(RichTypeAny, RichTypeAny, RichTypeBoolean, (a, b) => this._polymorphicGreaterThan(a, b), FlowGraphGreaterThanBlock.ClassName, config);
399
+ }
400
+ _polymorphicGreaterThan(a, b) {
401
+ const aClassName = _getClassNameOf(a);
402
+ switch (aClassName) {
403
+ case "Vector2":
404
+ return a.x > b.x && a.y > b.y;
405
+ case "Vector3":
406
+ return a.x > b.x && a.y > b.y && a.z > b.z;
407
+ case "Vector4":
408
+ return a.x > b.x && a.y > b.y && a.z > b.z && a.w > b.w;
409
+ default:
410
+ return a > b;
411
+ }
412
+ }
413
+ }
414
+ FlowGraphGreaterThanBlock.ClassName = "FGGreaterThanBlock";
415
+ RegisterClass(FlowGraphGreaterThanBlock.ClassName, FlowGraphGreaterThanBlock);
416
+ export class FlowGraphGreaterThanOrEqualBlock extends FlowGraphBinaryOperationBlock {
417
+ constructor(config) {
418
+ super(RichTypeAny, RichTypeAny, RichTypeBoolean, (a, b) => this._polymorphicGreaterThanOrEqual(a, b), FlowGraphGreaterThanOrEqualBlock.ClassName, config);
419
+ }
420
+ _polymorphicGreaterThanOrEqual(a, b) {
421
+ const aClassName = _getClassNameOf(a);
422
+ switch (aClassName) {
423
+ case "Vector2":
424
+ return a.x >= b.x && a.y >= b.y;
425
+ case "Vector3":
426
+ return a.x >= b.x && a.y >= b.y && a.z >= b.z;
427
+ case "Vector4":
428
+ return a.x >= b.x && a.y >= b.y && a.z >= b.z && a.w >= b.w;
429
+ default:
430
+ return a >= b;
431
+ }
432
+ }
433
+ }
434
+ FlowGraphGreaterThanOrEqualBlock.ClassName = "FGGreaterThanOrEqualBlock";
435
+ RegisterClass(FlowGraphGreaterThanOrEqualBlock.ClassName, FlowGraphGreaterThanOrEqualBlock);
436
+ export class FlowGraphIsNanBlock extends FlowGraphUnaryOperationBlock {
437
+ constructor(config) {
438
+ super(RichTypeAny, RichTypeBoolean, (a) => this._polymorphicIsNan(a), FlowGraphIsNanBlock.ClassName, config);
439
+ }
440
+ _polymorphicIsNan(a) {
441
+ const aClassName = _getClassNameOf(a);
442
+ switch (aClassName) {
443
+ case "Vector2":
444
+ return isNaN(a.x) || isNaN(a.y);
445
+ case "Vector3":
446
+ return isNaN(a.x) || isNaN(a.y) || isNaN(a.z);
447
+ case "Vector4":
448
+ return isNaN(a.x) || isNaN(a.y) || isNaN(a.z) || isNaN(a.w);
449
+ default:
450
+ return isNaN(a);
451
+ }
452
+ }
453
+ }
454
+ FlowGraphIsNanBlock.ClassName = "FGIsNanBlock";
455
+ RegisterClass(FlowGraphIsNanBlock.ClassName, FlowGraphIsNanBlock);
456
+ export class FlowGraphIsInfBlock extends FlowGraphUnaryOperationBlock {
457
+ constructor(config) {
458
+ super(RichTypeAny, RichTypeBoolean, (a) => this._polymorphicIsInf(a), FlowGraphIsInfBlock.ClassName, config);
459
+ }
460
+ _polymorphicIsInf(a) {
461
+ const aClassName = _getClassNameOf(a);
462
+ switch (aClassName) {
463
+ case "Vector2":
464
+ return !isFinite(a.x) || !isFinite(a.y);
465
+ case "Vector3":
466
+ return !isFinite(a.x) || !isFinite(a.y) || !isFinite(a.z);
467
+ case "Vector4":
468
+ return !isFinite(a.x) || !isFinite(a.y) || !isFinite(a.z) || !isFinite(a.w);
469
+ default:
470
+ return !isFinite(a);
471
+ }
472
+ }
473
+ }
474
+ FlowGraphIsInfBlock.ClassName = "FGIsInfBlock";
475
+ export class FlowGraphDegToRadBlock extends FlowGraphUnaryOperationBlock {
476
+ constructor(config) {
477
+ super(RichTypeAny, RichTypeAny, (a) => this._polymorphicDegToRad(a), FlowGraphDegToRadBlock.ClassName, config);
478
+ }
479
+ _degToRad(a) {
480
+ return (a * Math.PI) / 180;
481
+ }
482
+ _polymorphicDegToRad(a) {
483
+ return _componentWiseUnaryOperation(a, this._degToRad);
484
+ }
485
+ }
486
+ FlowGraphDegToRadBlock.ClassName = "FGDegToRadBlock";
487
+ RegisterClass(FlowGraphDegToRadBlock.ClassName, FlowGraphDegToRadBlock);
488
+ export class FlowGraphRadToDegBlock extends FlowGraphUnaryOperationBlock {
489
+ constructor(config) {
490
+ super(RichTypeAny, RichTypeAny, (a) => this._polymorphicRadToDeg(a), FlowGraphRadToDegBlock.ClassName, config);
491
+ }
492
+ _radToDeg(a) {
493
+ return (a * 180) / Math.PI;
494
+ }
495
+ _polymorphicRadToDeg(a) {
496
+ return _componentWiseUnaryOperation(a, this._radToDeg);
497
+ }
498
+ }
499
+ FlowGraphRadToDegBlock.ClassName = "FGRadToDegBlock";
500
+ RegisterClass(FlowGraphRadToDegBlock.ClassName, FlowGraphRadToDegBlock);
501
+ export class FlowGraphSinBlock extends FlowGraphUnaryOperationBlock {
502
+ constructor(config) {
503
+ super(RichTypeAny, RichTypeAny, (a) => this._polymorphicSin(a), FlowGraphSinBlock.ClassName, config);
504
+ }
505
+ _polymorphicSin(a) {
506
+ return _componentWiseUnaryOperation(a, Math.sin);
507
+ }
508
+ }
509
+ FlowGraphSinBlock.ClassName = "FGSinBlock";
510
+ RegisterClass(FlowGraphSinBlock.ClassName, FlowGraphSinBlock);
511
+ export class FlowGraphCosBlock extends FlowGraphUnaryOperationBlock {
512
+ constructor(config) {
513
+ super(RichTypeAny, RichTypeAny, (a) => this._polymorphicCos(a), FlowGraphCosBlock.ClassName, config);
514
+ }
515
+ _polymorphicCos(a) {
516
+ return _componentWiseUnaryOperation(a, Math.cos);
517
+ }
518
+ }
519
+ FlowGraphCosBlock.ClassName = "FGCosBlock";
520
+ RegisterClass(FlowGraphCosBlock.ClassName, FlowGraphCosBlock);
521
+ export class FlowGraphTanBlock extends FlowGraphUnaryOperationBlock {
522
+ constructor(config) {
523
+ super(RichTypeAny, RichTypeAny, (a) => this._polymorphicTan(a), FlowGraphTanBlock.ClassName, config);
524
+ }
525
+ _polymorphicTan(a) {
526
+ return _componentWiseUnaryOperation(a, Math.tan);
527
+ }
528
+ }
529
+ FlowGraphTanBlock.ClassName = "FGTanBlock";
530
+ RegisterClass(FlowGraphTanBlock.ClassName, FlowGraphTanBlock);
531
+ export class FlowGraphAsinBlock extends FlowGraphUnaryOperationBlock {
532
+ constructor(config) {
533
+ super(RichTypeAny, RichTypeAny, (a) => this._polymorphicAsin(a), FlowGraphAsinBlock.ClassName, config);
534
+ }
535
+ _polymorphicAsin(a) {
536
+ return _componentWiseUnaryOperation(a, Math.asin);
537
+ }
538
+ }
539
+ FlowGraphAsinBlock.ClassName = "FGAsinBlock";
540
+ RegisterClass(FlowGraphAsinBlock.ClassName, FlowGraphAsinBlock);
541
+ export class FlowGraphAcosBlock extends FlowGraphUnaryOperationBlock {
542
+ constructor(config) {
543
+ super(RichTypeAny, RichTypeAny, (a) => this._polymorphicAcos(a), FlowGraphAcosBlock.ClassName, config);
544
+ }
545
+ _polymorphicAcos(a) {
546
+ return _componentWiseUnaryOperation(a, Math.acos);
547
+ }
548
+ }
549
+ FlowGraphAcosBlock.ClassName = "FGAcosBlock";
550
+ RegisterClass(FlowGraphAcosBlock.ClassName, FlowGraphAcosBlock);
551
+ export class FlowGraphAtanBlock extends FlowGraphUnaryOperationBlock {
552
+ constructor(config) {
553
+ super(RichTypeAny, RichTypeAny, (a) => this._polymorphicAtan(a), FlowGraphAtanBlock.ClassName, config);
554
+ }
555
+ _polymorphicAtan(a) {
556
+ return _componentWiseUnaryOperation(a, Math.atan);
557
+ }
558
+ }
559
+ FlowGraphAtanBlock.ClassName = "FGAtanBlock";
560
+ RegisterClass(FlowGraphAtanBlock.ClassName, FlowGraphAtanBlock);
561
+ export class FlowGraphAtan2Block extends FlowGraphBinaryOperationBlock {
562
+ constructor(config) {
563
+ super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicAtan2(a, b), FlowGraphAtan2Block.ClassName, config);
564
+ }
565
+ _polymorphicAtan2(a, b) {
566
+ return _componentWiseBinaryOperation(a, b, Math.atan2);
567
+ }
568
+ }
569
+ FlowGraphAtan2Block.ClassName = "FGAtan2Block";
570
+ RegisterClass(FlowGraphAtan2Block.ClassName, FlowGraphAtan2Block);
571
+ export class FlowGraphSinhBlock extends FlowGraphUnaryOperationBlock {
572
+ constructor(config) {
573
+ super(RichTypeAny, RichTypeAny, (a) => this._polymorphicSinh(a), FlowGraphSinhBlock.ClassName, config);
574
+ }
575
+ _polymorphicSinh(a) {
576
+ return _componentWiseUnaryOperation(a, Math.sinh);
577
+ }
578
+ }
579
+ FlowGraphSinhBlock.ClassName = "FGSinhBlock";
580
+ RegisterClass(FlowGraphSinhBlock.ClassName, FlowGraphSinhBlock);
581
+ export class FlowGraphCoshBlock extends FlowGraphUnaryOperationBlock {
582
+ constructor(config) {
583
+ super(RichTypeAny, RichTypeAny, (a) => this._polymorphicCosh(a), FlowGraphCoshBlock.ClassName, config);
584
+ }
585
+ _polymorphicCosh(a) {
586
+ return _componentWiseUnaryOperation(a, Math.cosh);
587
+ }
588
+ }
589
+ FlowGraphCoshBlock.ClassName = "FGCoshBlock";
590
+ RegisterClass(FlowGraphCoshBlock.ClassName, FlowGraphCoshBlock);
591
+ export class FlowGraphTanhBlock extends FlowGraphUnaryOperationBlock {
592
+ constructor(config) {
593
+ super(RichTypeAny, RichTypeAny, (a) => this._polymorphicTanh(a), FlowGraphTanhBlock.ClassName, config);
594
+ }
595
+ _polymorphicTanh(a) {
596
+ return _componentWiseUnaryOperation(a, Math.tanh);
597
+ }
598
+ }
599
+ FlowGraphTanhBlock.ClassName = "FGTanhBlock";
600
+ RegisterClass(FlowGraphTanhBlock.ClassName, FlowGraphTanhBlock);
601
+ export class FlowGraphAsinhBlock extends FlowGraphUnaryOperationBlock {
602
+ constructor(config) {
603
+ super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicAsinh(a), FlowGraphAsinhBlock.ClassName, config);
604
+ }
605
+ _polymorphicAsinh(a) {
606
+ return _componentWiseUnaryOperation(a, Math.asinh);
607
+ }
608
+ }
609
+ FlowGraphAsinhBlock.ClassName = "FGAsinhBlock";
610
+ RegisterClass(FlowGraphAsinhBlock.ClassName, FlowGraphAsinhBlock);
611
+ export class FlowGraphAcoshBlock extends FlowGraphUnaryOperationBlock {
612
+ constructor(config) {
613
+ super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicAcosh(a), FlowGraphAcoshBlock.ClassName, config);
614
+ }
615
+ _polymorphicAcosh(a) {
616
+ return _componentWiseUnaryOperation(a, Math.acosh);
617
+ }
618
+ }
619
+ FlowGraphAcoshBlock.ClassName = "FGAcoshBlock";
620
+ RegisterClass(FlowGraphAcoshBlock.ClassName, FlowGraphAcoshBlock);
621
+ export class FlowGraphAtanhBlock extends FlowGraphUnaryOperationBlock {
622
+ constructor(config) {
623
+ super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicAtanh(a), FlowGraphAtanhBlock.ClassName, config);
624
+ }
625
+ _polymorphicAtanh(a) {
626
+ return _componentWiseUnaryOperation(a, Math.atanh);
627
+ }
628
+ }
629
+ FlowGraphAtanhBlock.ClassName = "FGAtanhBlock";
630
+ RegisterClass(FlowGraphAtanhBlock.ClassName, FlowGraphAtanhBlock);
631
+ export class FlowGraphExpBlock extends FlowGraphUnaryOperationBlock {
632
+ constructor(config) {
633
+ super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicExp(a), FlowGraphExpBlock.ClassName, config);
634
+ }
635
+ _polymorphicExp(a) {
636
+ return _componentWiseUnaryOperation(a, Math.exp);
637
+ }
638
+ }
639
+ FlowGraphExpBlock.ClassName = "FGExpBlock";
640
+ RegisterClass(FlowGraphExpBlock.ClassName, FlowGraphExpBlock);
641
+ export class FlowGraphLogBlock extends FlowGraphUnaryOperationBlock {
642
+ constructor(config) {
643
+ super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicLog(a), FlowGraphLogBlock.ClassName, config);
644
+ }
645
+ _polymorphicLog(a) {
646
+ return _componentWiseUnaryOperation(a, Math.log);
647
+ }
648
+ }
649
+ FlowGraphLogBlock.ClassName = "FGLogBlock";
650
+ RegisterClass(FlowGraphLogBlock.ClassName, FlowGraphLogBlock);
651
+ export class FlowGraphLog2Block extends FlowGraphUnaryOperationBlock {
652
+ constructor(config) {
653
+ super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicLog2(a), FlowGraphLog2Block.ClassName, config);
654
+ }
655
+ _polymorphicLog2(a) {
656
+ return _componentWiseUnaryOperation(a, Math.log2);
657
+ }
658
+ }
659
+ FlowGraphLog2Block.ClassName = "FGLog2Block";
660
+ RegisterClass(FlowGraphLog2Block.ClassName, FlowGraphLog2Block);
661
+ export class FlowGraphLog10Block extends FlowGraphUnaryOperationBlock {
662
+ constructor(config) {
663
+ super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicLog10(a), FlowGraphLog10Block.ClassName, config);
664
+ }
665
+ _polymorphicLog10(a) {
666
+ return _componentWiseUnaryOperation(a, Math.log10);
667
+ }
668
+ }
669
+ FlowGraphLog10Block.ClassName = "FGLog10Block";
670
+ RegisterClass(FlowGraphLog10Block.ClassName, FlowGraphLog10Block);
671
+ export class FlowGraphSqrtBlock extends FlowGraphUnaryOperationBlock {
672
+ constructor(config) {
673
+ super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicSqrt(a), FlowGraphSqrtBlock.ClassName, config);
674
+ }
675
+ _polymorphicSqrt(a) {
676
+ return _componentWiseUnaryOperation(a, Math.sqrt);
677
+ }
678
+ }
679
+ FlowGraphSqrtBlock.ClassName = "FGSqrtBlock";
680
+ RegisterClass(FlowGraphSqrtBlock.ClassName, FlowGraphSqrtBlock);
681
+ export class FlowGraphCubeRootBlock extends FlowGraphUnaryOperationBlock {
682
+ constructor(config) {
683
+ super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicCubeRoot(a), FlowGraphCubeRootBlock.ClassName, config);
684
+ }
685
+ _polymorphicCubeRoot(a) {
686
+ return _componentWiseUnaryOperation(a, Math.cbrt);
687
+ }
688
+ }
689
+ FlowGraphCubeRootBlock.ClassName = "FGCubeRootBlock";
690
+ RegisterClass(FlowGraphCubeRootBlock.ClassName, FlowGraphCubeRootBlock);
691
+ export class FlowGraphPowBlock extends FlowGraphBinaryOperationBlock {
692
+ constructor(config) {
693
+ super(RichTypeAny, RichTypeNumber, RichTypeNumber, (a, b) => this._polymorphicPow(a, b), FlowGraphPowBlock.ClassName, config);
694
+ }
695
+ _polymorphicPow(a, b) {
696
+ return _componentWiseBinaryOperation(a, b, Math.pow);
697
+ }
698
+ }
699
+ FlowGraphPowBlock.ClassName = "FGPowBlock";
700
+ RegisterClass(FlowGraphPowBlock.ClassName, FlowGraphPowBlock);
701
+ export class FlowGraphLengthBlock extends FlowGraphUnaryOperationBlock {
702
+ constructor(config) {
703
+ super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicLength(a), FlowGraphLengthBlock.ClassName, config);
704
+ }
705
+ _polymorphicLength(a) {
706
+ const aClassName = _getClassNameOf(a);
707
+ switch (aClassName) {
708
+ case "Vector2":
709
+ case "Vector3":
710
+ case "Vector4":
711
+ return a.length();
712
+ default:
713
+ throw new Error(`Cannot compute length of value ${a}`);
714
+ }
715
+ }
716
+ }
717
+ FlowGraphLengthBlock.ClassName = "FGLengthBlock";
718
+ RegisterClass(FlowGraphLengthBlock.ClassName, FlowGraphLengthBlock);
719
+ export class FlowGraphNormalizeBlock extends FlowGraphUnaryOperationBlock {
720
+ constructor(config) {
721
+ super(RichTypeAny, RichTypeAny, (a) => this._polymorphicNormalize(a), FlowGraphNormalizeBlock.ClassName, config);
722
+ }
723
+ _polymorphicNormalize(a) {
724
+ const aClassName = _getClassNameOf(a);
725
+ switch (aClassName) {
726
+ case "Vector2":
727
+ case "Vector3":
728
+ case "Vector4":
729
+ return a.normalize();
730
+ default:
731
+ throw new Error(`Cannot normalize value ${a}`);
732
+ }
733
+ }
734
+ }
735
+ FlowGraphNormalizeBlock.ClassName = "FGNormalizeBlock";
736
+ RegisterClass(FlowGraphNormalizeBlock.ClassName, FlowGraphNormalizeBlock);
737
+ export class FlowGraphCrossBlock extends FlowGraphBinaryOperationBlock {
738
+ constructor(config) {
739
+ super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (a, b) => Vector3.Cross(a, b), FlowGraphCrossBlock.ClassName, config);
740
+ }
741
+ }
742
+ FlowGraphCrossBlock.ClassName = "FGCrossBlock";
743
+ RegisterClass(FlowGraphCrossBlock.ClassName, FlowGraphCrossBlock);
744
+ export class FlowGraphRotate2DBlock extends FlowGraphBinaryOperationBlock {
745
+ constructor(config) {
746
+ super(RichTypeVector2, RichTypeNumber, RichTypeVector2, (a, b) => Vector2.Transform(a, Matrix.RotationZ(b)), FlowGraphRotate2DBlock.ClassName, config);
747
+ }
748
+ }
749
+ FlowGraphRotate2DBlock.ClassName = "FGRotate2DBlock";
750
+ RegisterClass(FlowGraphRotate2DBlock.ClassName, FlowGraphRotate2DBlock);
751
+ export class FlowGraphRotate3DBlock extends FlowGraphTernaryOperationBlock {
752
+ constructor(config) {
753
+ super(RichTypeVector3, RichTypeVector3, RichTypeNumber, RichTypeVector3, (a, b, c) => Vector3.TransformCoordinates(a, Matrix.RotationAxis(b, c)), FlowGraphRotate3DBlock.ClassName, config);
754
+ }
755
+ }
756
+ FlowGraphRotate3DBlock.ClassName = "FGRotate3DBlock";
757
+ RegisterClass(FlowGraphRotate3DBlock.ClassName, FlowGraphRotate3DBlock);
758
+ //# sourceMappingURL=flowGraphMathBlocks.js.map