@babylonjs/core 6.37.1 → 6.38.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Behaviors/Meshes/baseSixDofDragBehavior.js +1 -1
- package/Behaviors/Meshes/baseSixDofDragBehavior.js.map +1 -1
- package/Behaviors/Meshes/sixDofDragBehavior.js +26 -6
- package/Behaviors/Meshes/sixDofDragBehavior.js.map +1 -1
- package/Bones/skeleton.js +2 -2
- package/Bones/skeleton.js.map +1 -1
- package/Buffers/buffer.align.js +4 -1
- package/Buffers/buffer.align.js.map +1 -1
- package/Buffers/buffer.d.ts +10 -3
- package/Buffers/buffer.js +34 -5
- package/Buffers/buffer.js.map +1 -1
- package/Engines/Extensions/engine.cubeTexture.d.ts +1 -3
- package/Engines/Extensions/engine.cubeTexture.js +1 -3
- package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
- package/Engines/Extensions/engine.renderTarget.js +6 -17
- package/Engines/Extensions/engine.renderTarget.js.map +1 -1
- package/Engines/ICanvas.d.ts +60 -0
- package/Engines/ICanvas.js.map +1 -1
- package/Engines/IPipelineContext.d.ts +3 -3
- package/Engines/IPipelineContext.js.map +1 -1
- package/Engines/Native/nativePipelineContext.d.ts +4 -5
- package/Engines/Native/nativePipelineContext.js +2 -9
- package/Engines/Native/nativePipelineContext.js.map +1 -1
- package/Engines/Native/validatedNativeDataStream.d.ts +3 -0
- package/Engines/Native/validatedNativeDataStream.js +3 -0
- package/Engines/Native/validatedNativeDataStream.js.map +1 -1
- package/Engines/WebGL/webGLRenderTargetWrapper.d.ts +11 -0
- package/Engines/WebGL/webGLRenderTargetWrapper.js +27 -0
- package/Engines/WebGL/webGLRenderTargetWrapper.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.cubeTexture.js +8 -4
- package/Engines/WebGPU/Extensions/engine.cubeTexture.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.renderTarget.js +1 -1
- package/Engines/WebGPU/Extensions/engine.renderTarget.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
- package/Engines/WebGPU/webgpuConstants.d.ts +3 -1
- package/Engines/WebGPU/webgpuConstants.js +2 -0
- package/Engines/WebGPU/webgpuConstants.js.map +1 -1
- package/Engines/WebGPU/webgpuTextureManager.js +3 -0
- package/Engines/WebGPU/webgpuTextureManager.js.map +1 -1
- package/Engines/engine.d.ts +10 -45
- package/Engines/nativeEngine.d.ts +3 -1
- package/Engines/nativeEngine.js +29 -30
- package/Engines/nativeEngine.js.map +1 -1
- package/Engines/renderTargetWrapper.js +7 -1
- package/Engines/renderTargetWrapper.js.map +1 -1
- package/Engines/thinEngine.d.ts +3 -3
- package/Engines/thinEngine.js +16 -8
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.d.ts +2 -2
- package/Engines/webgpuEngine.js +7 -13
- package/Engines/webgpuEngine.js.map +1 -1
- package/FlowGraph/Blocks/Data/Logic/index.d.ts +0 -1
- package/FlowGraph/Blocks/Data/Logic/index.js +0 -1
- package/FlowGraph/Blocks/Data/Logic/index.js.map +1 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.d.ts +327 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.js +465 -74
- package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.d.ts +3 -0
- package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.d.ts +1 -1
- package/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.js +2 -2
- package/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.d.ts +7 -3
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.js +7 -6
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.d.ts +14 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.js +4 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.d.ts +3 -0
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js.map +1 -1
- package/FlowGraph/flowGraphConnection.d.ts +16 -0
- package/FlowGraph/flowGraphConnection.js.map +1 -1
- package/FlowGraph/flowGraphContext.d.ts +14 -0
- package/FlowGraph/flowGraphContext.js.map +1 -1
- package/FlowGraph/flowGraphInteger.d.ts +62 -0
- package/FlowGraph/flowGraphInteger.js +76 -0
- package/FlowGraph/flowGraphInteger.js.map +1 -0
- package/FlowGraph/flowGraphPathConverterComponent.d.ts +2 -1
- package/FlowGraph/flowGraphPathConverterComponent.js +3 -3
- package/FlowGraph/flowGraphPathConverterComponent.js.map +1 -1
- package/FlowGraph/flowGraphRichTypes.d.ts +2 -0
- package/FlowGraph/flowGraphRichTypes.js +5 -0
- package/FlowGraph/flowGraphRichTypes.js.map +1 -1
- package/FlowGraph/serialization.js +8 -1
- package/FlowGraph/serialization.js.map +1 -1
- package/Gizmos/boundingBoxGizmo.js +1 -1
- package/Gizmos/boundingBoxGizmo.js.map +1 -1
- package/Gizmos/cameraGizmo.d.ts +9 -2
- package/Gizmos/cameraGizmo.js +29 -10
- package/Gizmos/cameraGizmo.js.map +1 -1
- package/Inputs/scene.inputManager.js +1 -1
- package/Inputs/scene.inputManager.js.map +1 -1
- package/Lights/shadowLight.d.ts +2 -2
- package/Lights/shadowLight.js +1 -1
- package/Lights/shadowLight.js.map +1 -1
- package/Lights/spotLight.js +1 -1
- package/Lights/spotLight.js.map +1 -1
- package/Materials/Node/Blocks/addBlock.js +1 -1
- package/Materials/Node/Blocks/addBlock.js.map +1 -1
- package/Materials/Node/Blocks/divideBlock.js +1 -1
- package/Materials/Node/Blocks/divideBlock.js.map +1 -1
- package/Materials/Node/Blocks/multiplyBlock.js +1 -1
- package/Materials/Node/Blocks/multiplyBlock.js.map +1 -1
- package/Materials/Node/Blocks/subtractBlock.js +1 -1
- package/Materials/Node/Blocks/subtractBlock.js.map +1 -1
- package/Materials/PBR/pbrMaterial.d.ts +1 -0
- package/Materials/PBR/pbrMaterial.js +1 -0
- package/Materials/PBR/pbrMaterial.js.map +1 -1
- package/Materials/Textures/baseTexture.d.ts +1 -1
- package/Materials/Textures/baseTexture.js +1 -1
- package/Materials/Textures/baseTexture.js.map +1 -1
- package/Materials/Textures/internalTexture.js +5 -0
- package/Materials/Textures/internalTexture.js.map +1 -1
- package/Materials/Textures/multiRenderTarget.d.ts +1 -1
- package/Materials/Textures/multiRenderTarget.js +4 -4
- package/Materials/Textures/multiRenderTarget.js.map +1 -1
- package/Materials/Textures/videoTexture.js +2 -0
- package/Materials/Textures/videoTexture.js.map +1 -1
- package/Materials/effect.js +2 -1
- package/Materials/effect.js.map +1 -1
- package/Materials/materialPluginManager.d.ts +1 -1
- package/Materials/materialPluginManager.js.map +1 -1
- package/Meshes/Node/Blocks/geometryArcTan2Block.d.ts +30 -0
- package/Meshes/Node/Blocks/geometryArcTan2Block.js +81 -0
- package/Meshes/Node/Blocks/geometryArcTan2Block.js.map +1 -0
- package/Meshes/Node/Blocks/geometryClampBlock.d.ts +33 -0
- package/Meshes/Node/Blocks/geometryClampBlock.js +101 -0
- package/Meshes/Node/Blocks/geometryClampBlock.js.map +1 -0
- package/Meshes/Node/Blocks/geometryCrossBlock.d.ts +30 -0
- package/Meshes/Node/Blocks/geometryCrossBlock.js +76 -0
- package/Meshes/Node/Blocks/geometryCrossBlock.js.map +1 -0
- package/Meshes/Node/Blocks/geometryLerpBlock.d.ts +34 -0
- package/Meshes/Node/Blocks/geometryLerpBlock.js +90 -0
- package/Meshes/Node/Blocks/geometryLerpBlock.js.map +1 -0
- package/Meshes/Node/Blocks/geometryModBlock.d.ts +30 -0
- package/Meshes/Node/Blocks/geometryModBlock.js +82 -0
- package/Meshes/Node/Blocks/geometryModBlock.js.map +1 -0
- package/Meshes/Node/Blocks/geometryNLerpBlock.d.ts +34 -0
- package/Meshes/Node/Blocks/geometryNLerpBlock.js +96 -0
- package/Meshes/Node/Blocks/geometryNLerpBlock.js.map +1 -0
- package/Meshes/Node/Blocks/geometryPowBlock.d.ts +30 -0
- package/Meshes/Node/Blocks/geometryPowBlock.js +82 -0
- package/Meshes/Node/Blocks/geometryPowBlock.js.map +1 -0
- package/Meshes/Node/Blocks/geometrySmoothStepBlock.d.ts +34 -0
- package/Meshes/Node/Blocks/geometrySmoothStepBlock.js +91 -0
- package/Meshes/Node/Blocks/geometrySmoothStepBlock.js.map +1 -0
- package/Meshes/Node/Blocks/geometryStepBlock.d.ts +30 -0
- package/Meshes/Node/Blocks/geometryStepBlock.js +84 -0
- package/Meshes/Node/Blocks/geometryStepBlock.js.map +1 -0
- package/Meshes/Node/Blocks/geometryTrigonometryBlock.d.ts +19 -15
- package/Meshes/Node/Blocks/geometryTrigonometryBlock.js +37 -17
- package/Meshes/Node/Blocks/geometryTrigonometryBlock.js.map +1 -1
- package/Meshes/Node/index.d.ts +9 -0
- package/Meshes/Node/index.js +9 -0
- package/Meshes/Node/index.js.map +1 -1
- package/Meshes/geometry.js +8 -5
- package/Meshes/geometry.js.map +1 -1
- package/Meshes/thinInstanceMesh.d.ts +1 -1
- package/Meshes/thinInstanceMesh.js +2 -2
- package/Meshes/thinInstanceMesh.js.map +1 -1
- package/Navigation/INavigationEngine.d.ts +10 -1
- package/Navigation/INavigationEngine.js.map +1 -1
- package/Navigation/Plugins/recastJSPlugin.d.ts +20 -0
- package/Navigation/Plugins/recastJSPlugin.js +43 -8
- package/Navigation/Plugins/recastJSPlugin.js.map +1 -1
- package/ObjectModel/objectModelInterfaces.d.ts +5 -0
- package/ObjectModel/objectModelInterfaces.js.map +1 -1
- package/Particles/gpuParticleSystem.d.ts +1 -0
- package/Particles/gpuParticleSystem.js +10 -3
- package/Particles/gpuParticleSystem.js.map +1 -1
- package/Physics/v2/ragdoll.js +4 -0
- package/Physics/v2/ragdoll.js.map +1 -1
- package/Rendering/GaussianSplatting/gaussianSplatting.d.ts +6 -0
- package/Rendering/GaussianSplatting/gaussianSplatting.js +124 -39
- package/Rendering/GaussianSplatting/gaussianSplatting.js.map +1 -1
- package/Rendering/GlobalIllumination/giRSM.d.ts +54 -0
- package/Rendering/GlobalIllumination/giRSM.js +54 -0
- package/Rendering/GlobalIllumination/giRSM.js.map +1 -0
- package/Rendering/GlobalIllumination/giRSMManager.d.ts +256 -0
- package/Rendering/GlobalIllumination/giRSMManager.js +715 -0
- package/Rendering/GlobalIllumination/giRSMManager.js.map +1 -0
- package/Rendering/GlobalIllumination/index.d.ts +2 -0
- package/Rendering/GlobalIllumination/index.js +3 -0
- package/Rendering/GlobalIllumination/index.js.map +1 -0
- package/Rendering/fluidRenderer/fluidRenderer.js +20 -1
- package/Rendering/fluidRenderer/fluidRenderer.js.map +1 -1
- package/Rendering/index.d.ts +2 -0
- package/Rendering/index.js +2 -0
- package/Rendering/index.js.map +1 -1
- package/Rendering/prePassRendererSceneComponent.js +1 -4
- package/Rendering/prePassRendererSceneComponent.js.map +1 -1
- package/Rendering/reflectiveShadowMap.d.ts +152 -0
- package/Rendering/reflectiveShadowMap.js +389 -0
- package/Rendering/reflectiveShadowMap.js.map +1 -0
- package/Shaders/bilateralBlur.fragment.d.ts +5 -0
- package/Shaders/bilateralBlur.fragment.js +20 -0
- package/Shaders/bilateralBlur.fragment.js.map +1 -0
- package/Shaders/bilateralBlurQuality.fragment.d.ts +5 -0
- package/Shaders/bilateralBlurQuality.fragment.js +20 -0
- package/Shaders/bilateralBlurQuality.fragment.js.map +1 -0
- package/Shaders/rsmFullGlobalIllumination.fragment.d.ts +5 -0
- package/Shaders/rsmFullGlobalIllumination.fragment.js +28 -0
- package/Shaders/rsmFullGlobalIllumination.fragment.js.map +1 -0
- package/Shaders/rsmGlobalIllumination.fragment.d.ts +5 -0
- package/Shaders/rsmGlobalIllumination.fragment.js +33 -0
- package/Shaders/rsmGlobalIllumination.fragment.js.map +1 -0
- package/XR/features/WebXRControllerPointerSelection.js +1 -0
- package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
- package/XR/features/WebXRControllerTeleportation.d.ts +9 -1
- package/XR/features/WebXRControllerTeleportation.js +3 -0
- package/XR/features/WebXRControllerTeleportation.js.map +1 -1
- package/XR/webXRCamera.d.ts +2 -0
- package/XR/webXRCamera.js +2 -0
- package/XR/webXRCamera.js.map +1 -1
- package/node.d.ts +3 -0
- package/node.js +3 -0
- package/node.js.map +1 -1
- package/package.json +1 -1
- package/scene.js +1 -1
- package/scene.js.map +1 -1
- package/FlowGraph/Blocks/Data/Logic/flowGraphBitwiseBlocks.d.ts +0 -60
- package/FlowGraph/Blocks/Data/Logic/flowGraphBitwiseBlocks.js +0 -104
- package/FlowGraph/Blocks/Data/Logic/flowGraphBitwiseBlocks.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowGraphMathBlocks.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC7H,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,+BAA+B,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAEnF;;;;GAIG;AACH,SAAS,eAAe,CAAC,CAAM;IAC3B,IAAI,CAAC,CAAC,YAAY,EAAE;QAChB,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC;KAC3B;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,SAAiB,EAAE,UAAkB;IAC9D,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,CAAC,CAAC;AACnL,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,iBAAkB,SAAQ,6BAA4C;IAC/E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5H,CAAC;IAEO,eAAe,CAAC,CAAM,EAAE,CAAM;QAClC,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;YAC7C,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACnB;aAAM;YACH,OAAO,CAAC,GAAG,CAAC,CAAC;SAChB;IACL,CAAC;IAEM,YAAY;QACf,OAAO,iBAAiB,CAAC,SAAS,CAAC;IACvC,CAAC;;AAEa,2BAAS,GAAG,YAAY,CAAC;AAE3C,aAAa,CAAC,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE9D;;;GAGG;AACH,MAAM,OAAO,sBAAuB,SAAQ,6BAA4C;IACpF,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjI,CAAC;IAEO,eAAe,CAAC,CAAM,EAAE,CAAM;QAClC,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;YAC7C,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACxB;aAAM;YACH,OAAO,CAAC,GAAG,CAAC,CAAC;SAChB;IACL,CAAC;IAEM,YAAY;QACf,OAAO,sBAAsB,CAAC,SAAS,CAAC;IAC5C,CAAC;;AAEa,gCAAS,GAAG,YAAY,CAAC;AAE3C,aAAa,CAAC,sBAAsB,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;AAExE,MAAM,OAAO,sBAAuB,SAAQ,6BAA4C;IACpF,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACtI,CAAC;IAEO,oBAAoB,CAAC,CAAM,EAAE,CAAM;QACvC,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;YAC7C,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACxB;aAAM;YACH,OAAO,CAAC,GAAG,CAAC,CAAC;SAChB;IACL,CAAC;;AAEa,gCAAS,GAAG,iBAAiB,CAAC;AAEhD,aAAa,CAAC,sBAAsB,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;AAExE,MAAM,OAAO,oBAAqB,SAAQ,6BAA4C;IAClF,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAClI,CAAC;IAEO,kBAAkB,CAAC,CAAM,EAAE,CAAM;QACrC,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;YAC7C,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACtB;aAAM;YACH,OAAO,CAAC,GAAG,CAAC,CAAC;SAChB;IACL,CAAC;;AAEa,8BAAS,GAAG,eAAe,CAAC;AAE9C,aAAa,CAAC,oBAAoB,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAEpE,MAAM,OAAO,oBAAqB,SAAQ,+BAAuC;IAC7E,YAAY,MAAqC;QAC7C,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACvF,CAAC;;AAEa,8BAAS,GAAG,eAAe,CAAC;AAE9C,aAAa,CAAC,oBAAoB,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAEpE,MAAM,OAAO,iBAAkB,SAAQ,6BAA+C;IAClF,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC/H,CAAC;IAEO,eAAe,CAAC,CAAM,EAAE,CAAM;QAClC,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACrC,QAAQ,SAAS,EAAE;YACf,KAAK,SAAS;gBACV,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,KAAK,SAAS;gBACV,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,KAAK,SAAS;gBACV,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B;gBACI,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAClE;IACL,CAAC;;AAEa,2BAAS,GAAG,YAAY,CAAC;AAE3C,aAAa,CAAC,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE9D,MAAM,OAAO,eAAgB,SAAQ,+BAAuC;IACxE,YAAY,MAAqC;QAC7C,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;;AAEa,yBAAS,GAAG,UAAU,CAAC;AAEzC,aAAa,CAAC,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;AAE1D,MAAM,OAAO,gBAAiB,SAAQ,+BAAuC;IACzE,YAAY,MAAqC;QAC7C,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC;;AAEa,0BAAS,GAAG,WAAW,CAAC;AAE1C,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAE5D,MAAM,OAAO,iBAAkB,SAAQ,+BAAuC;IAC1E,YAAY,MAAqC;QAC7C,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC/F,CAAC;;AAEa,2BAAS,GAAG,YAAY,CAAC;AAE3C,aAAa,CAAC,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE9D,MAAM,OAAO,iBAAkB,SAAQ,+BAAuC;IAC1E,YAAY,MAAqC;QAC7C,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjF,CAAC;;AAEa,2BAAS,GAAG,YAAY,CAAC;AAE3C,aAAa,CAAC,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE9D,SAAS,4BAA4B,CAAC,CAAM,EAAE,EAAmB;IAC7D,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IACtC,QAAQ,UAAU,EAAE;QAChB,KAAK,SAAS;YACV,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,KAAK,SAAS;YACV,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,KAAK,SAAS;YACV,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D;YACI,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;KACpB;AACL,CAAC;AAED,MAAM,OAAO,iBAAkB,SAAQ,4BAAsC;IACzE,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACzG,CAAC;IAEO,eAAe,CAAC,CAAM;QAC1B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACrD,CAAC;;AAEa,2BAAS,GAAG,YAAY,CAAC;AAE3C,aAAa,CAAC,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE9D,MAAM,OAAO,kBAAmB,SAAQ,4BAAsC;IAC1E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3G,CAAC;IAEO,gBAAgB,CAAC,CAAM;QAC3B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;;AAEa,4BAAS,GAAG,aAAa,CAAC;AAE5C,aAAa,CAAC,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;AAEhE,MAAM,OAAO,mBAAoB,SAAQ,4BAAsC;IAC3E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7G,CAAC;IAEO,iBAAiB,CAAC,CAAM;QAC5B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;;AAEa,6BAAS,GAAG,cAAc,CAAC;AAE7C,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAElE,MAAM,OAAO,mBAAoB,SAAQ,4BAAsC;IAC3E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7G,CAAC;IAEO,iBAAiB,CAAC,CAAM;QAC5B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;;AAEa,6BAAS,GAAG,cAAc,CAAC;AAE7C,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAElE,MAAM,OAAO,kBAAmB,SAAQ,4BAAsC;IAC1E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9G,CAAC;IAEO,mBAAmB,CAAC,CAAM;QAC9B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;;AAEa,4BAAS,GAAG,aAAa,CAAC;AAE5C,aAAa,CAAC,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;AAEhE,MAAM,OAAO,mBAAoB,SAAQ,4BAAsC;IAC3E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7G,CAAC;IAEO,iBAAiB,CAAC,CAAM;QAC5B,OAAO,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;;AAEa,6BAAS,GAAG,cAAc,CAAC;AAE7C,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAElE,MAAM,OAAO,iBAAkB,SAAQ,4BAAsC;IACzE,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACzG,CAAC;IAEO,eAAe,CAAC,CAAM;QAC1B,OAAO,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;;AAEa,2BAAS,GAAG,YAAY,CAAC;AAE3C,aAAa,CAAC,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE9D,SAAS,6BAA6B,CAAC,CAAM,EAAE,CAAM,EAAE,EAA2B;IAC9E,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IACtC,QAAQ,UAAU,EAAE;QAChB,KAAK,SAAS;YACV,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,KAAK,SAAS;YACV,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,KAAK,SAAS;YACV,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E;YACI,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACvB;AACL,CAAC;AAED,MAAM,OAAO,uBAAwB,SAAQ,6BAA4C;IACrF,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,uBAAuB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxI,CAAC;IAEO,qBAAqB,CAAC,CAAM,EAAE,CAAM;QACxC,OAAO,6BAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;;AAEa,iCAAS,GAAG,kBAAkB,CAAC;AAEjD,aAAa,CAAC,uBAAuB,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;AAE1E,MAAM,OAAO,iBAAkB,SAAQ,6BAA4C;IAC/E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5H,CAAC;IAEO,eAAe,CAAC,CAAM,EAAE,CAAM;QAClC,OAAO,6BAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;;AAEa,2BAAS,GAAG,YAAY,CAAC;AAE3C,aAAa,CAAC,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE9D,MAAM,OAAO,iBAAkB,SAAQ,6BAA4C;IAC/E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5H,CAAC;IAEO,eAAe,CAAC,CAAM,EAAE,CAAM;QAClC,OAAO,6BAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;;AAEa,2BAAS,GAAG,YAAY,CAAC;AAE3C,aAAa,CAAC,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE9D,SAAS,MAAM,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,8BAA8B,CAAC,CAAM,EAAE,CAAM,EAAE,CAAM,EAAE,EAAmC;IAC/F,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IACtC,QAAQ,UAAU,EAAE;QAChB,KAAK,SAAS;YACV,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,KAAK,SAAS;YACV,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,KAAK,SAAS;YACV,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnG;YACI,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KAC1B;AACL,CAAC;AAED,MAAM,OAAO,mBAAoB,SAAQ,8BAAkD;IACvF,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACnJ,CAAC;IAEO,iBAAiB,CAAC,CAAM,EAAE,CAAM,EAAE,CAAM;QAC5C,OAAO,8BAA8B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;;AAEa,6BAAS,GAAG,cAAc,CAAC;AAE7C,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAElE,MAAM,OAAO,sBAAuB,SAAQ,4BAAsC;IAC9E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACnH,CAAC;IAEO,oBAAoB,CAAC,CAAM;QAC/B,OAAO,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;;AAEa,gCAAS,GAAG,iBAAiB,CAAC;AAEhD,aAAa,CAAC,sBAAsB,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;AAExE,MAAM,OAAO,yBAA0B,SAAQ,8BAAkD;IAC7F,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,yBAAyB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC/J,CAAC;IAEO,YAAY,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;QAChD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAEO,uBAAuB,CAAC,CAAM,EAAE,CAAM,EAAE,CAAM;QAClD,OAAO,8BAA8B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACtE,CAAC;;AAEa,mCAAS,GAAG,oBAAoB,CAAC;AAEnD,aAAa,CAAC,yBAAyB,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;AAE9E,MAAM,OAAO,gBAAiB,SAAQ,6BAAgD;IAClF,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9H,CAAC;IAEO,cAAc,CAAC,CAAM,EAAE,CAAM;QACjC,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;YAC7C,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACtB;aAAM;YACH,OAAO,CAAC,KAAK,CAAC,CAAC;SAClB;IACL,CAAC;;AAEa,0BAAS,GAAG,WAAW,CAAC;AAE1C,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAE5D,MAAM,OAAO,sBAAuB,SAAQ,6BAAgD;IACxF,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC1I,CAAC;IAEO,oBAAoB,CAAC,CAAM,EAAE,CAAM;QACvC,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,QAAQ,UAAU,EAAE;YAChB,KAAK,SAAS;gBACV,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClC,KAAK,SAAS;gBACV,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/C,KAAK,SAAS;gBACV,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5D;gBACI,OAAO,CAAC,GAAG,CAAC,CAAC;SACpB;IACL,CAAC;;AAEa,gCAAS,GAAG,iBAAiB,CAAC;AAEhD,aAAa,CAAC,sBAAsB,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;AAExE,MAAM,OAAO,6BAA8B,SAAQ,6BAAgD;IAC/F,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,6BAA6B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxJ,CAAC;IAEO,2BAA2B,CAAC,CAAM,EAAE,CAAM;QAC9C,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,QAAQ,UAAU,EAAE;YAChB,KAAK,SAAS;gBACV,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpC,KAAK,SAAS;gBACV,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClD,KAAK,SAAS;gBACV,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChE;gBACI,OAAO,CAAC,IAAI,CAAC,CAAC;SACrB;IACL,CAAC;;AAEa,uCAAS,GAAG,wBAAwB,CAAC;AAGvD,MAAM,OAAO,yBAA0B,SAAQ,6BAAgD;IAC3F,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,yBAAyB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAChJ,CAAC;IAEO,uBAAuB,CAAC,CAAM,EAAE,CAAM;QAC1C,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,QAAQ,UAAU,EAAE;YAChB,KAAK,SAAS;gBACV,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClC,KAAK,SAAS;gBACV,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/C,KAAK,SAAS;gBACV,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5D;gBACI,OAAO,CAAC,GAAG,CAAC,CAAC;SACpB;IACL,CAAC;;AAEa,mCAAS,GAAG,oBAAoB,CAAC;AAEnD,aAAa,CAAC,yBAAyB,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;AAE9E,MAAM,OAAO,gCAAiC,SAAQ,6BAAgD;IAClG,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,gCAAgC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9J,CAAC;IAEO,8BAA8B,CAAC,CAAM,EAAE,CAAM;QACjD,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,QAAQ,UAAU,EAAE;YAChB,KAAK,SAAS;gBACV,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpC,KAAK,SAAS;gBACV,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClD,KAAK,SAAS;gBACV,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChE;gBACI,OAAO,CAAC,IAAI,CAAC,CAAC;SACrB;IACL,CAAC;;AAEa,0CAAS,GAAG,2BAA2B,CAAC;AAE1D,aAAa,CAAC,gCAAgC,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAC;AAE5F,MAAM,OAAO,mBAAoB,SAAQ,4BAA0C;IAC/E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjH,CAAC;IAEO,iBAAiB,CAAC,CAAM;QAC5B,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,QAAQ,UAAU,EAAE;YAChB,KAAK,SAAS;gBACV,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,KAAK,SAAS;gBACV,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,KAAK,SAAS;gBACV,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE;gBACI,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;SACvB;IACL,CAAC;;AAEa,6BAAS,GAAG,cAAc,CAAC;AAE7C,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAElE,MAAM,OAAO,mBAAoB,SAAQ,4BAA0C;IAC/E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjH,CAAC;IAEO,iBAAiB,CAAC,CAAM;QAC5B,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,QAAQ,UAAU,EAAE;YAChB,KAAK,SAAS;gBACV,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,KAAK,SAAS;gBACV,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,KAAK,SAAS;gBACV,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF;gBACI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SAC3B;IACL,CAAC;;AAEa,6BAAS,GAAG,cAAc,CAAC;AAG7C,MAAM,OAAO,sBAAuB,SAAQ,4BAAsC;IAC9E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACnH,CAAC;IAEO,SAAS,CAAC,CAAS;QACvB,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IAC/B,CAAC;IAEO,oBAAoB,CAAC,CAAM;QAC/B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;;AAEa,gCAAS,GAAG,iBAAiB,CAAC;AAEhD,aAAa,CAAC,sBAAsB,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;AAExE,MAAM,OAAO,sBAAuB,SAAQ,4BAAsC;IAC9E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACnH,CAAC;IAEO,SAAS,CAAC,CAAS;QACvB,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAC/B,CAAC;IAEO,oBAAoB,CAAC,CAAM;QAC/B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;;AAEa,gCAAS,GAAG,iBAAiB,CAAC;AAEhD,aAAa,CAAC,sBAAsB,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;AAExE,MAAM,OAAO,iBAAkB,SAAQ,4BAAsC;IACzE,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACzG,CAAC;IAEO,eAAe,CAAC,CAAM;QAC1B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACrD,CAAC;;AAEa,2BAAS,GAAG,YAAY,CAAC;AAE3C,aAAa,CAAC,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE9D,MAAM,OAAO,iBAAkB,SAAQ,4BAAsC;IACzE,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACzG,CAAC;IAEO,eAAe,CAAC,CAAM;QAC1B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACrD,CAAC;;AAEa,2BAAS,GAAG,YAAY,CAAC;AAE3C,aAAa,CAAC,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE9D,MAAM,OAAO,iBAAkB,SAAQ,4BAAsC;IACzE,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACzG,CAAC;IAEO,eAAe,CAAC,CAAM;QAC1B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACrD,CAAC;;AAEa,2BAAS,GAAG,YAAY,CAAC;AAE3C,aAAa,CAAC,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE9D,MAAM,OAAO,kBAAmB,SAAQ,4BAAsC;IAC1E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3G,CAAC;IAEO,gBAAgB,CAAC,CAAM;QAC3B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;;AAEa,4BAAS,GAAG,aAAa,CAAC;AAE5C,aAAa,CAAC,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;AAEhE,MAAM,OAAO,kBAAmB,SAAQ,4BAAsC;IAC1E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3G,CAAC;IAEO,gBAAgB,CAAC,CAAM;QAC3B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;;AAEa,4BAAS,GAAG,aAAa,CAAC;AAE5C,aAAa,CAAC,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;AAEhE,MAAM,OAAO,kBAAmB,SAAQ,4BAAsC;IAC1E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3G,CAAC;IAEO,gBAAgB,CAAC,CAAM;QAC3B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;;AAEa,4BAAS,GAAG,aAAa,CAAC;AAE5C,aAAa,CAAC,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;AAEhE,MAAM,OAAO,mBAAoB,SAAQ,6BAA4C;IACjF,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAChI,CAAC;IAEO,iBAAiB,CAAC,CAAM,EAAE,CAAM;QACpC,OAAO,6BAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;;AAEa,6BAAS,GAAG,cAAc,CAAC;AAE7C,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAElE,MAAM,OAAO,kBAAmB,SAAQ,4BAAsC;IAC1E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3G,CAAC;IAEO,gBAAgB,CAAC,CAAM;QAC3B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;;AAEa,4BAAS,GAAG,aAAa,CAAC;AAE5C,aAAa,CAAC,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;AAEhE,MAAM,OAAO,kBAAmB,SAAQ,4BAAsC;IAC1E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3G,CAAC;IAEO,gBAAgB,CAAC,CAAM;QAC3B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;;AAEa,4BAAS,GAAG,aAAa,CAAC;AAE5C,aAAa,CAAC,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;AAEhE,MAAM,OAAO,kBAAmB,SAAQ,4BAAsC;IAC1E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3G,CAAC;IAEO,gBAAgB,CAAC,CAAM;QAC3B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;;AAEa,4BAAS,GAAG,aAAa,CAAC;AAE5C,aAAa,CAAC,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;AAEhE,MAAM,OAAO,mBAAoB,SAAQ,4BAAsC;IAC3E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAChH,CAAC;IAEO,iBAAiB,CAAC,CAAM;QAC5B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;;AAEa,6BAAS,GAAG,cAAc,CAAC;AAE7C,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAElE,MAAM,OAAO,mBAAoB,SAAQ,4BAAsC;IAC3E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAChH,CAAC;IAEO,iBAAiB,CAAC,CAAM;QAC5B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;;AAEa,6BAAS,GAAG,cAAc,CAAC;AAE7C,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAElE,MAAM,OAAO,mBAAoB,SAAQ,4BAAsC;IAC3E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAChH,CAAC;IAEO,iBAAiB,CAAC,CAAM;QAC5B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;;AAEa,6BAAS,GAAG,cAAc,CAAC;AAE7C,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAElE,MAAM,OAAO,iBAAkB,SAAQ,4BAAsC;IACzE,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5G,CAAC;IAEO,eAAe,CAAC,CAAM;QAC1B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACrD,CAAC;;AAEa,2BAAS,GAAG,YAAY,CAAC;AAE3C,aAAa,CAAC,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE9D,MAAM,OAAO,iBAAkB,SAAQ,4BAAsC;IACzE,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5G,CAAC;IAEO,eAAe,CAAC,CAAM;QAC1B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACrD,CAAC;;AAEa,2BAAS,GAAG,YAAY,CAAC;AAE3C,aAAa,CAAC,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE9D,MAAM,OAAO,kBAAmB,SAAQ,4BAAsC;IAC1E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9G,CAAC;IAEO,gBAAgB,CAAC,CAAM;QAC3B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;;AAEa,4BAAS,GAAG,aAAa,CAAC;AAE5C,aAAa,CAAC,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;AAEhE,MAAM,OAAO,mBAAoB,SAAQ,4BAAsC;IAC3E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAChH,CAAC;IAEO,iBAAiB,CAAC,CAAM;QAC5B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;;AAEa,6BAAS,GAAG,cAAc,CAAC;AAE7C,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAElE,MAAM,OAAO,kBAAmB,SAAQ,4BAAsC;IAC1E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9G,CAAC;IAEO,gBAAgB,CAAC,CAAM;QAC3B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;;AAEa,4BAAS,GAAG,aAAa,CAAC;AAE5C,aAAa,CAAC,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;AAEhE,MAAM,OAAO,sBAAuB,SAAQ,4BAAsC;IAC9E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACtH,CAAC;IAEO,oBAAoB,CAAC,CAAM;QAC/B,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;;AAEa,gCAAS,GAAG,iBAAiB,CAAC;AAEhD,aAAa,CAAC,sBAAsB,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;AAExE,MAAM,OAAO,iBAAkB,SAAQ,6BAA4C;IAC/E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAClI,CAAC;IAEO,eAAe,CAAC,CAAM,EAAE,CAAM;QAClC,OAAO,6BAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;;AAEa,2BAAS,GAAG,YAAY,CAAC;AAE3C,aAAa,CAAC,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE9D,MAAM,OAAO,oBAAqB,SAAQ,4BAAyC;IAC/E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAClH,CAAC;IAEO,kBAAkB,CAAC,CAAM;QAC7B,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,QAAQ,UAAU,EAAE;YAChB,KAAK,SAAS,CAAC;YACf,KAAK,SAAS,CAAC;YACf,KAAK,SAAS;gBACV,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;YACtB;gBACI,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAC;SAC9D;IACL,CAAC;;AAEa,8BAAS,GAAG,eAAe,CAAC;AAE9C,aAAa,CAAC,oBAAoB,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAEpE,MAAM,OAAO,uBAAwB,SAAQ,4BAAsC;IAC/E,YAAY,MAAqC;QAC7C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACrH,CAAC;IAEO,qBAAqB,CAAC,CAAM;QAChC,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,QAAQ,UAAU,EAAE;YAChB,KAAK,SAAS,CAAC;YACf,KAAK,SAAS,CAAC;YACf,KAAK,SAAS;gBACV,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;YACzB;gBACI,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;SACtD;IACL,CAAC;;AAEa,iCAAS,GAAG,kBAAkB,CAAC;AAEjD,aAAa,CAAC,uBAAuB,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;AAE1E,MAAM,OAAO,mBAAoB,SAAQ,6BAAwD;IAC7F,YAAY,MAAqC;QAC7C,KAAK,CAAC,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACnI,CAAC;;AAEa,6BAAS,GAAG,cAAc,CAAC;AAE7C,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAElE,MAAM,OAAO,sBAAuB,SAAQ,6BAAuD;IAC/F,YAAY,MAAqC;QAC7C,KAAK,CAAC,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3J,CAAC;;AAEa,gCAAS,GAAG,iBAAiB,CAAC;AAEhD,aAAa,CAAC,sBAAsB,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;AAExE,MAAM,OAAO,sBAAuB,SAAQ,8BAAiE;IACzG,YAAY,MAAqC;QAC7C,KAAK,CACD,eAAe,EACf,eAAe,EACf,cAAc,EACd,eAAe,EACf,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACvE,sBAAsB,CAAC,SAAS,EAChC,MAAM,CACT,CAAC;IACN,CAAC;;AAEa,gCAAS,GAAG,iBAAiB,CAAC;AAEhD,aAAa,CAAC,sBAAsB,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC","sourcesContent":["import { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../../flowGraphBlock\";\r\nimport { RichTypeAny, RichTypeBoolean, RichTypeNumber, RichTypeVector2, RichTypeVector3 } from \"../../../flowGraphRichTypes\";\r\nimport { FlowGraphBinaryOperationBlock } from \"../flowGraphBinaryOperationBlock\";\r\nimport { FlowGraphConstantOperationBlock } from \"../flowGraphConstantOperationBlock\";\r\nimport { Matrix, Vector2, Vector3, Vector4 } from \"../../../../Maths/math.vector\";\r\nimport { FlowGraphUnaryOperationBlock } from \"../flowGraphUnaryOperationBlock\";\r\nimport { FlowGraphTernaryOperationBlock } from \"../flowGraphTernaryOperationBlock\";\r\n\r\n/**\r\n * @internal\r\n * @param v\r\n * @returns\r\n */\r\nfunction _getClassNameOf(v: any) {\r\n if (v.getClassName) {\r\n return v.getClassName();\r\n }\r\n return \"\";\r\n}\r\n\r\n/**\r\n * @internal\r\n * @param className\r\n * @param className2\r\n * @returns\r\n */\r\nfunction _areSameVectorClass(className: string, className2: string) {\r\n return (className === \"Vector2\" && className2 === \"Vector2\") || (className === \"Vector3\" && className2 === \"Vector3\") || (className === \"Vector4\" && className2 === \"Vector4\");\r\n}\r\n\r\n/**\r\n * @experimental\r\n * Polymorphic add block.\r\n */\r\nexport class FlowGraphAddBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicAdd(a, b), FlowGraphAddBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAdd(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n const bClassName = _getClassNameOf(b);\r\n if (_areSameVectorClass(aClassName, bClassName)) {\r\n return a.add(b);\r\n } else {\r\n return a + b;\r\n }\r\n }\r\n\r\n public getClassName(): string {\r\n return FlowGraphAddBlock.ClassName;\r\n }\r\n\r\n public static ClassName = \"FGAddBlock\";\r\n}\r\nRegisterClass(FlowGraphAddBlock.ClassName, FlowGraphAddBlock);\r\n\r\n/**\r\n * @experimental\r\n * Polymorphic add block.\r\n */\r\nexport class FlowGraphSubtractBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicAdd(a, b), FlowGraphSubtractBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAdd(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n const bClassName = _getClassNameOf(b);\r\n if (_areSameVectorClass(aClassName, bClassName)) {\r\n return a.subtract(b);\r\n } else {\r\n return a - b;\r\n }\r\n }\r\n\r\n public getClassName(): string {\r\n return FlowGraphSubtractBlock.ClassName;\r\n }\r\n\r\n public static ClassName = \"FGSubBlock\";\r\n}\r\nRegisterClass(FlowGraphSubtractBlock.ClassName, FlowGraphSubtractBlock);\r\n\r\nexport class FlowGraphMultiplyBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicMultiply(a, b), FlowGraphMultiplyBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicMultiply(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n const bClassName = _getClassNameOf(b);\r\n if (_areSameVectorClass(aClassName, bClassName)) {\r\n return a.multiply(b);\r\n } else {\r\n return a * b;\r\n }\r\n }\r\n\r\n public static ClassName = \"FGMultiplyBlock\";\r\n}\r\nRegisterClass(FlowGraphMultiplyBlock.ClassName, FlowGraphMultiplyBlock);\r\n\r\nexport class FlowGraphDivideBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicDivide(a, b), FlowGraphDivideBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicDivide(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n const bClassName = _getClassNameOf(b);\r\n if (_areSameVectorClass(aClassName, bClassName)) {\r\n return a.divide(b);\r\n } else {\r\n return a / b;\r\n }\r\n }\r\n\r\n public static ClassName = \"FGDivideBlock\";\r\n}\r\nRegisterClass(FlowGraphDivideBlock.ClassName, FlowGraphDivideBlock);\r\n\r\nexport class FlowGraphRandomBlock extends FlowGraphConstantOperationBlock<number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, () => Math.random(), FlowGraphRandomBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGRandomBlock\";\r\n}\r\nRegisterClass(FlowGraphRandomBlock.ClassName, FlowGraphRandomBlock);\r\n\r\nexport class FlowGraphDotBlock extends FlowGraphBinaryOperationBlock<any, any, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeNumber, (a, b) => this._polymorphicDot(a, b), FlowGraphDotBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicDot(a: any, b: any) {\r\n const className = _getClassNameOf(a);\r\n switch (className) {\r\n case \"Vector2\":\r\n return Vector2.Dot(a, b);\r\n case \"Vector3\":\r\n return Vector3.Dot(a, b);\r\n case \"Vector4\":\r\n return Vector4.Dot(a, b);\r\n default:\r\n throw new Error(`Cannot get dot product of ${a} and ${b}`);\r\n }\r\n }\r\n\r\n public static ClassName = \"FGDotBlock\";\r\n}\r\nRegisterClass(FlowGraphDotBlock.ClassName, FlowGraphDotBlock);\r\n\r\nexport class FlowGraphEBlock extends FlowGraphConstantOperationBlock<number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, () => Math.E, FlowGraphEBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGEBlock\";\r\n}\r\nRegisterClass(FlowGraphEBlock.ClassName, FlowGraphEBlock);\r\n\r\nexport class FlowGraphPiBlock extends FlowGraphConstantOperationBlock<number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, () => Math.PI, FlowGraphPiBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGPIBlock\";\r\n}\r\nRegisterClass(FlowGraphPiBlock.ClassName, FlowGraphPiBlock);\r\n\r\nexport class FlowGraphInfBlock extends FlowGraphConstantOperationBlock<number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, () => Number.POSITIVE_INFINITY, FlowGraphInfBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGInfBlock\";\r\n}\r\nRegisterClass(FlowGraphInfBlock.ClassName, FlowGraphInfBlock);\r\n\r\nexport class FlowGraphNaNBlock extends FlowGraphConstantOperationBlock<number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, () => Number.NaN, FlowGraphNaNBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGNaNBlock\";\r\n}\r\nRegisterClass(FlowGraphNaNBlock.ClassName, FlowGraphNaNBlock);\r\n\r\nfunction _componentWiseUnaryOperation(a: any, op: (a: any) => any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n return new Vector2(op(a.x), op(a.y));\r\n case \"Vector3\":\r\n return new Vector3(op(a.x), op(a.y), op(a.z));\r\n case \"Vector4\":\r\n return new Vector4(op(a.x), op(a.y), op(a.z), op(a.w));\r\n default:\r\n return op(a);\r\n }\r\n}\r\n\r\nexport class FlowGraphAbsBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicAbs(a), FlowGraphAbsBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAbs(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.abs);\r\n }\r\n\r\n public static ClassName = \"FGAbsBlock\";\r\n}\r\nRegisterClass(FlowGraphAbsBlock.ClassName, FlowGraphAbsBlock);\r\n\r\nexport class FlowGraphSignBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicSign(a), FlowGraphSignBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicSign(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.sign);\r\n }\r\n\r\n public static ClassName = \"FGSignBlock\";\r\n}\r\nRegisterClass(FlowGraphSignBlock.ClassName, FlowGraphSignBlock);\r\n\r\nexport class FlowGraphTruncBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicTrunc(a), FlowGraphTruncBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicTrunc(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.trunc);\r\n }\r\n\r\n public static ClassName = \"FGTruncBlock\";\r\n}\r\nRegisterClass(FlowGraphTruncBlock.ClassName, FlowGraphTruncBlock);\r\n\r\nexport class FlowGraphFloorBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicFloor(a), FlowGraphFloorBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicFloor(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.floor);\r\n }\r\n\r\n public static ClassName = \"FGFloorBlock\";\r\n}\r\nRegisterClass(FlowGraphFloorBlock.ClassName, FlowGraphFloorBlock);\r\n\r\nexport class FlowGraphCeilBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicCeiling(a), FlowGraphCeilBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicCeiling(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.ceil);\r\n }\r\n\r\n public static ClassName = \"FGCeilBlock\";\r\n}\r\nRegisterClass(FlowGraphCeilBlock.ClassName, FlowGraphCeilBlock);\r\n\r\nexport class FlowGraphFractBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicFract(a), FlowGraphFractBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicFract(a: any) {\r\n return _componentWiseUnaryOperation(a, (a) => a - Math.floor(a));\r\n }\r\n\r\n public static ClassName = \"FGFractBlock\";\r\n}\r\nRegisterClass(FlowGraphFractBlock.ClassName, FlowGraphFractBlock);\r\n\r\nexport class FlowGraphNegBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicNeg(a), FlowGraphNegBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicNeg(a: any) {\r\n return _componentWiseUnaryOperation(a, (a) => -a);\r\n }\r\n\r\n public static ClassName = \"FGNegBlock\";\r\n}\r\nRegisterClass(FlowGraphNegBlock.ClassName, FlowGraphNegBlock);\r\n\r\nfunction _componentWiseBinaryOperation(a: any, b: any, op: (a: any, b: any) => any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n return new Vector2(op(a.x, b.x), op(a.y, b.y));\r\n case \"Vector3\":\r\n return new Vector3(op(a.x, b.x), op(a.y, b.y), op(a.z, b.z));\r\n case \"Vector4\":\r\n return new Vector4(op(a.x, b.x), op(a.y, b.y), op(a.z, b.z), op(a.w, b.w));\r\n default:\r\n return op(a, b);\r\n }\r\n}\r\n\r\nexport class FlowGraphRemainderBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicRemainder(a, b), FlowGraphRemainderBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicRemainder(a: any, b: any) {\r\n return _componentWiseBinaryOperation(a, b, (a, b) => a % b);\r\n }\r\n\r\n public static ClassName = \"FGRemainderBlock\";\r\n}\r\nRegisterClass(FlowGraphRemainderBlock.ClassName, FlowGraphRemainderBlock);\r\n\r\nexport class FlowGraphMinBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicMin(a, b), FlowGraphMinBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicMin(a: any, b: any) {\r\n return _componentWiseBinaryOperation(a, b, Math.min);\r\n }\r\n\r\n public static ClassName = \"FGMinBlock\";\r\n}\r\nRegisterClass(FlowGraphMinBlock.ClassName, FlowGraphMinBlock);\r\n\r\nexport class FlowGraphMaxBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicMax(a, b), FlowGraphMaxBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicMax(a: any, b: any) {\r\n return _componentWiseBinaryOperation(a, b, Math.max);\r\n }\r\n\r\n public static ClassName = \"FGMaxBlock\";\r\n}\r\nRegisterClass(FlowGraphMaxBlock.ClassName, FlowGraphMaxBlock);\r\n\r\nfunction _clamp(a: number, b: number, c: number) {\r\n return Math.min(Math.max(a, b), c);\r\n}\r\n\r\nfunction _componentWiseTernaryOperation(a: any, b: any, c: any, op: (a: any, b: any, c: any) => any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n return new Vector2(op(a.x, b.x, c.x), op(a.y, b.y, c.y));\r\n case \"Vector3\":\r\n return new Vector3(op(a.x, b.x, c.x), op(a.y, b.y, c.y), op(a.z, b.z, c.z));\r\n case \"Vector4\":\r\n 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));\r\n default:\r\n return op(a, b, c);\r\n }\r\n}\r\n\r\nexport class FlowGraphClampBlock extends FlowGraphTernaryOperationBlock<any, any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, RichTypeAny, (a, b, c) => this._polymorphicClamp(a, b, c), FlowGraphClampBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicClamp(a: any, b: any, c: any) {\r\n return _componentWiseTernaryOperation(a, b, c, _clamp);\r\n }\r\n\r\n public static ClassName = \"FGClampBlock\";\r\n}\r\nRegisterClass(FlowGraphClampBlock.ClassName, FlowGraphClampBlock);\r\n\r\nexport class FlowGraphSaturateBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicSaturate(a), FlowGraphSaturateBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicSaturate(a: any) {\r\n return _componentWiseUnaryOperation(a, (a) => _clamp(a, 0, 1));\r\n }\r\n\r\n public static ClassName = \"FGSaturateBlock\";\r\n}\r\nRegisterClass(FlowGraphSaturateBlock.ClassName, FlowGraphSaturateBlock);\r\n\r\nexport class FlowGraphInterpolateBlock extends FlowGraphTernaryOperationBlock<any, any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, RichTypeAny, (a, b, c) => this._polymorphicInterpolate(a, b, c), FlowGraphInterpolateBlock.ClassName, config);\r\n }\r\n\r\n private _interpolate(a: number, b: number, c: number) {\r\n return (1 - c) * a + c * b;\r\n }\r\n\r\n private _polymorphicInterpolate(a: any, b: any, c: any) {\r\n return _componentWiseTernaryOperation(a, b, c, this._interpolate);\r\n }\r\n\r\n public static ClassName = \"FGInterpolateBlock\";\r\n}\r\nRegisterClass(FlowGraphInterpolateBlock.ClassName, FlowGraphInterpolateBlock);\r\n\r\nexport class FlowGraphEqBlock extends FlowGraphBinaryOperationBlock<any, any, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeBoolean, (a, b) => this._polymorphicEq(a, b), FlowGraphEqBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicEq(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n const bClassName = _getClassNameOf(b);\r\n if (_areSameVectorClass(aClassName, bClassName)) {\r\n return a.equals(b);\r\n } else {\r\n return a === b;\r\n }\r\n }\r\n\r\n public static ClassName = \"FGEqBlock\";\r\n}\r\nRegisterClass(FlowGraphEqBlock.ClassName, FlowGraphEqBlock);\r\n\r\nexport class FlowGraphLessThanBlock extends FlowGraphBinaryOperationBlock<any, any, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeBoolean, (a, b) => this._polymorphicLessThan(a, b), FlowGraphLessThanBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicLessThan(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n return a.x < b.x && a.y < b.y;\r\n case \"Vector3\":\r\n return a.x < b.x && a.y < b.y && a.z < b.z;\r\n case \"Vector4\":\r\n return a.x < b.x && a.y < b.y && a.z < b.z && a.w < b.w;\r\n default:\r\n return a < b;\r\n }\r\n }\r\n\r\n public static ClassName = \"FGLessThanBlock\";\r\n}\r\nRegisterClass(FlowGraphLessThanBlock.ClassName, FlowGraphLessThanBlock);\r\n\r\nexport class FlowGraphLessThanOrEqualBlock extends FlowGraphBinaryOperationBlock<any, any, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeBoolean, (a, b) => this._polymorphicLessThanOrEqual(a, b), FlowGraphLessThanOrEqualBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicLessThanOrEqual(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n return a.x <= b.x && a.y <= b.y;\r\n case \"Vector3\":\r\n return a.x <= b.x && a.y <= b.y && a.z <= b.z;\r\n case \"Vector4\":\r\n return a.x <= b.x && a.y <= b.y && a.z <= b.z && a.w <= b.w;\r\n default:\r\n return a <= b;\r\n }\r\n }\r\n\r\n public static ClassName = \"FGLessThanOrEqualBlock\";\r\n}\r\n\r\nexport class FlowGraphGreaterThanBlock extends FlowGraphBinaryOperationBlock<any, any, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeBoolean, (a, b) => this._polymorphicGreaterThan(a, b), FlowGraphGreaterThanBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicGreaterThan(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n return a.x > b.x && a.y > b.y;\r\n case \"Vector3\":\r\n return a.x > b.x && a.y > b.y && a.z > b.z;\r\n case \"Vector4\":\r\n return a.x > b.x && a.y > b.y && a.z > b.z && a.w > b.w;\r\n default:\r\n return a > b;\r\n }\r\n }\r\n\r\n public static ClassName = \"FGGreaterThanBlock\";\r\n}\r\nRegisterClass(FlowGraphGreaterThanBlock.ClassName, FlowGraphGreaterThanBlock);\r\n\r\nexport class FlowGraphGreaterThanOrEqualBlock extends FlowGraphBinaryOperationBlock<any, any, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeBoolean, (a, b) => this._polymorphicGreaterThanOrEqual(a, b), FlowGraphGreaterThanOrEqualBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicGreaterThanOrEqual(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n return a.x >= b.x && a.y >= b.y;\r\n case \"Vector3\":\r\n return a.x >= b.x && a.y >= b.y && a.z >= b.z;\r\n case \"Vector4\":\r\n return a.x >= b.x && a.y >= b.y && a.z >= b.z && a.w >= b.w;\r\n default:\r\n return a >= b;\r\n }\r\n }\r\n\r\n public static ClassName = \"FGGreaterThanOrEqualBlock\";\r\n}\r\nRegisterClass(FlowGraphGreaterThanOrEqualBlock.ClassName, FlowGraphGreaterThanOrEqualBlock);\r\n\r\nexport class FlowGraphIsNanBlock extends FlowGraphUnaryOperationBlock<any, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeBoolean, (a) => this._polymorphicIsNan(a), FlowGraphIsNanBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicIsNan(a: any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n return isNaN(a.x) || isNaN(a.y);\r\n case \"Vector3\":\r\n return isNaN(a.x) || isNaN(a.y) || isNaN(a.z);\r\n case \"Vector4\":\r\n return isNaN(a.x) || isNaN(a.y) || isNaN(a.z) || isNaN(a.w);\r\n default:\r\n return isNaN(a);\r\n }\r\n }\r\n\r\n public static ClassName = \"FGIsNanBlock\";\r\n}\r\nRegisterClass(FlowGraphIsNanBlock.ClassName, FlowGraphIsNanBlock);\r\n\r\nexport class FlowGraphIsInfBlock extends FlowGraphUnaryOperationBlock<any, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeBoolean, (a) => this._polymorphicIsInf(a), FlowGraphIsInfBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicIsInf(a: any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n return !isFinite(a.x) || !isFinite(a.y);\r\n case \"Vector3\":\r\n return !isFinite(a.x) || !isFinite(a.y) || !isFinite(a.z);\r\n case \"Vector4\":\r\n return !isFinite(a.x) || !isFinite(a.y) || !isFinite(a.z) || !isFinite(a.w);\r\n default:\r\n return !isFinite(a);\r\n }\r\n }\r\n\r\n public static ClassName = \"FGIsInfBlock\";\r\n}\r\n\r\nexport class FlowGraphDegToRadBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicDegToRad(a), FlowGraphDegToRadBlock.ClassName, config);\r\n }\r\n\r\n private _degToRad(a: number) {\r\n return (a * Math.PI) / 180;\r\n }\r\n\r\n private _polymorphicDegToRad(a: any) {\r\n return _componentWiseUnaryOperation(a, this._degToRad);\r\n }\r\n\r\n public static ClassName = \"FGDegToRadBlock\";\r\n}\r\nRegisterClass(FlowGraphDegToRadBlock.ClassName, FlowGraphDegToRadBlock);\r\n\r\nexport class FlowGraphRadToDegBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicRadToDeg(a), FlowGraphRadToDegBlock.ClassName, config);\r\n }\r\n\r\n private _radToDeg(a: number) {\r\n return (a * 180) / Math.PI;\r\n }\r\n\r\n private _polymorphicRadToDeg(a: any) {\r\n return _componentWiseUnaryOperation(a, this._radToDeg);\r\n }\r\n\r\n public static ClassName = \"FGRadToDegBlock\";\r\n}\r\nRegisterClass(FlowGraphRadToDegBlock.ClassName, FlowGraphRadToDegBlock);\r\n\r\nexport class FlowGraphSinBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicSin(a), FlowGraphSinBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicSin(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.sin);\r\n }\r\n\r\n public static ClassName = \"FGSinBlock\";\r\n}\r\nRegisterClass(FlowGraphSinBlock.ClassName, FlowGraphSinBlock);\r\n\r\nexport class FlowGraphCosBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicCos(a), FlowGraphCosBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicCos(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.cos);\r\n }\r\n\r\n public static ClassName = \"FGCosBlock\";\r\n}\r\nRegisterClass(FlowGraphCosBlock.ClassName, FlowGraphCosBlock);\r\n\r\nexport class FlowGraphTanBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicTan(a), FlowGraphTanBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicTan(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.tan);\r\n }\r\n\r\n public static ClassName = \"FGTanBlock\";\r\n}\r\nRegisterClass(FlowGraphTanBlock.ClassName, FlowGraphTanBlock);\r\n\r\nexport class FlowGraphAsinBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicAsin(a), FlowGraphAsinBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAsin(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.asin);\r\n }\r\n\r\n public static ClassName = \"FGAsinBlock\";\r\n}\r\nRegisterClass(FlowGraphAsinBlock.ClassName, FlowGraphAsinBlock);\r\n\r\nexport class FlowGraphAcosBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicAcos(a), FlowGraphAcosBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAcos(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.acos);\r\n }\r\n\r\n public static ClassName = \"FGAcosBlock\";\r\n}\r\nRegisterClass(FlowGraphAcosBlock.ClassName, FlowGraphAcosBlock);\r\n\r\nexport class FlowGraphAtanBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicAtan(a), FlowGraphAtanBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAtan(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.atan);\r\n }\r\n\r\n public static ClassName = \"FGAtanBlock\";\r\n}\r\nRegisterClass(FlowGraphAtanBlock.ClassName, FlowGraphAtanBlock);\r\n\r\nexport class FlowGraphAtan2Block extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicAtan2(a, b), FlowGraphAtan2Block.ClassName, config);\r\n }\r\n\r\n private _polymorphicAtan2(a: any, b: any) {\r\n return _componentWiseBinaryOperation(a, b, Math.atan2);\r\n }\r\n\r\n public static ClassName = \"FGAtan2Block\";\r\n}\r\nRegisterClass(FlowGraphAtan2Block.ClassName, FlowGraphAtan2Block);\r\n\r\nexport class FlowGraphSinhBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicSinh(a), FlowGraphSinhBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicSinh(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.sinh);\r\n }\r\n\r\n public static ClassName = \"FGSinhBlock\";\r\n}\r\nRegisterClass(FlowGraphSinhBlock.ClassName, FlowGraphSinhBlock);\r\n\r\nexport class FlowGraphCoshBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicCosh(a), FlowGraphCoshBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicCosh(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.cosh);\r\n }\r\n\r\n public static ClassName = \"FGCoshBlock\";\r\n}\r\nRegisterClass(FlowGraphCoshBlock.ClassName, FlowGraphCoshBlock);\r\n\r\nexport class FlowGraphTanhBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicTanh(a), FlowGraphTanhBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicTanh(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.tanh);\r\n }\r\n\r\n public static ClassName = \"FGTanhBlock\";\r\n}\r\nRegisterClass(FlowGraphTanhBlock.ClassName, FlowGraphTanhBlock);\r\n\r\nexport class FlowGraphAsinhBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicAsinh(a), FlowGraphAsinhBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAsinh(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.asinh);\r\n }\r\n\r\n public static ClassName = \"FGAsinhBlock\";\r\n}\r\nRegisterClass(FlowGraphAsinhBlock.ClassName, FlowGraphAsinhBlock);\r\n\r\nexport class FlowGraphAcoshBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicAcosh(a), FlowGraphAcoshBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAcosh(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.acosh);\r\n }\r\n\r\n public static ClassName = \"FGAcoshBlock\";\r\n}\r\nRegisterClass(FlowGraphAcoshBlock.ClassName, FlowGraphAcoshBlock);\r\n\r\nexport class FlowGraphAtanhBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicAtanh(a), FlowGraphAtanhBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAtanh(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.atanh);\r\n }\r\n\r\n public static ClassName = \"FGAtanhBlock\";\r\n}\r\nRegisterClass(FlowGraphAtanhBlock.ClassName, FlowGraphAtanhBlock);\r\n\r\nexport class FlowGraphExpBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicExp(a), FlowGraphExpBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicExp(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.exp);\r\n }\r\n\r\n public static ClassName = \"FGExpBlock\";\r\n}\r\nRegisterClass(FlowGraphExpBlock.ClassName, FlowGraphExpBlock);\r\n\r\nexport class FlowGraphLogBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicLog(a), FlowGraphLogBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicLog(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.log);\r\n }\r\n\r\n public static ClassName = \"FGLogBlock\";\r\n}\r\nRegisterClass(FlowGraphLogBlock.ClassName, FlowGraphLogBlock);\r\n\r\nexport class FlowGraphLog2Block extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicLog2(a), FlowGraphLog2Block.ClassName, config);\r\n }\r\n\r\n private _polymorphicLog2(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.log2);\r\n }\r\n\r\n public static ClassName = \"FGLog2Block\";\r\n}\r\nRegisterClass(FlowGraphLog2Block.ClassName, FlowGraphLog2Block);\r\n\r\nexport class FlowGraphLog10Block extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicLog10(a), FlowGraphLog10Block.ClassName, config);\r\n }\r\n\r\n private _polymorphicLog10(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.log10);\r\n }\r\n\r\n public static ClassName = \"FGLog10Block\";\r\n}\r\nRegisterClass(FlowGraphLog10Block.ClassName, FlowGraphLog10Block);\r\n\r\nexport class FlowGraphSqrtBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicSqrt(a), FlowGraphSqrtBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicSqrt(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.sqrt);\r\n }\r\n\r\n public static ClassName = \"FGSqrtBlock\";\r\n}\r\nRegisterClass(FlowGraphSqrtBlock.ClassName, FlowGraphSqrtBlock);\r\n\r\nexport class FlowGraphCubeRootBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicCubeRoot(a), FlowGraphCubeRootBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicCubeRoot(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.cbrt);\r\n }\r\n\r\n public static ClassName = \"FGCubeRootBlock\";\r\n}\r\nRegisterClass(FlowGraphCubeRootBlock.ClassName, FlowGraphCubeRootBlock);\r\n\r\nexport class FlowGraphPowBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, RichTypeNumber, (a, b) => this._polymorphicPow(a, b), FlowGraphPowBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicPow(a: any, b: any) {\r\n return _componentWiseBinaryOperation(a, b, Math.pow);\r\n }\r\n\r\n public static ClassName = \"FGPowBlock\";\r\n}\r\nRegisterClass(FlowGraphPowBlock.ClassName, FlowGraphPowBlock);\r\n\r\nexport class FlowGraphLengthBlock extends FlowGraphUnaryOperationBlock<any, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicLength(a), FlowGraphLengthBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicLength(a: any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n case \"Vector3\":\r\n case \"Vector4\":\r\n return a.length();\r\n default:\r\n throw new Error(`Cannot compute length of value ${a}`);\r\n }\r\n }\r\n\r\n public static ClassName = \"FGLengthBlock\";\r\n}\r\nRegisterClass(FlowGraphLengthBlock.ClassName, FlowGraphLengthBlock);\r\n\r\nexport class FlowGraphNormalizeBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicNormalize(a), FlowGraphNormalizeBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicNormalize(a: any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n case \"Vector3\":\r\n case \"Vector4\":\r\n return a.normalize();\r\n default:\r\n throw new Error(`Cannot normalize value ${a}`);\r\n }\r\n }\r\n\r\n public static ClassName = \"FGNormalizeBlock\";\r\n}\r\nRegisterClass(FlowGraphNormalizeBlock.ClassName, FlowGraphNormalizeBlock);\r\n\r\nexport class FlowGraphCrossBlock extends FlowGraphBinaryOperationBlock<Vector3, Vector3, Vector3> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (a, b) => Vector3.Cross(a, b), FlowGraphCrossBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGCrossBlock\";\r\n}\r\nRegisterClass(FlowGraphCrossBlock.ClassName, FlowGraphCrossBlock);\r\n\r\nexport class FlowGraphRotate2DBlock extends FlowGraphBinaryOperationBlock<Vector2, number, Vector2> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector2, RichTypeNumber, RichTypeVector2, (a, b) => Vector2.Transform(a, Matrix.RotationZ(b)), FlowGraphRotate2DBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGRotate2DBlock\";\r\n}\r\nRegisterClass(FlowGraphRotate2DBlock.ClassName, FlowGraphRotate2DBlock);\r\n\r\nexport class FlowGraphRotate3DBlock extends FlowGraphTernaryOperationBlock<Vector3, Vector3, number, Vector3> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(\r\n RichTypeVector3,\r\n RichTypeVector3,\r\n RichTypeNumber,\r\n RichTypeVector3,\r\n (a, b, c) => Vector3.TransformCoordinates(a, Matrix.RotationAxis(b, c)),\r\n FlowGraphRotate3DBlock.ClassName,\r\n config\r\n );\r\n }\r\n\r\n public static ClassName = \"FGRotate3DBlock\";\r\n}\r\nRegisterClass(FlowGraphRotate3DBlock.ClassName, FlowGraphRotate3DBlock);\r\n"]}
|
|
1
|
+
{"version":3,"file":"flowGraphMathBlocks.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.ts"],"names":[],"mappings":"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EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAC7B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAC7B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAC7B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAC7B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,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","sourcesContent":["import { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../../flowGraphBlock\";\r\nimport { RichTypeAny, RichTypeBoolean, RichTypeFlowGraphInteger, RichTypeMatrix, RichTypeNumber, RichTypeVector2, RichTypeVector3 } from \"../../../flowGraphRichTypes\";\r\nimport { FlowGraphBinaryOperationBlock } from \"../flowGraphBinaryOperationBlock\";\r\nimport { FlowGraphConstantOperationBlock } from \"../flowGraphConstantOperationBlock\";\r\nimport { Matrix, Vector2, Vector3, Vector4 } from \"../../../../Maths/math.vector\";\r\nimport { FlowGraphUnaryOperationBlock } from \"../flowGraphUnaryOperationBlock\";\r\nimport { FlowGraphTernaryOperationBlock } from \"../flowGraphTernaryOperationBlock\";\r\nimport { FlowGraphInteger } from \"../../../flowGraphInteger\";\r\n\r\n/**\r\n * @internal\r\n */\r\nfunction _getClassNameOf(v: any) {\r\n if (v.getClassName) {\r\n return v.getClassName();\r\n }\r\n return \"\";\r\n}\r\n\r\n/**\r\n * @internal\r\n * @returns\r\n */\r\nfunction _areSameVectorClass(className: string, className2: string) {\r\n return (className === \"Vector2\" && className2 === \"Vector2\") || (className === \"Vector3\" && className2 === \"Vector3\") || (className === \"Vector4\" && className2 === \"Vector4\");\r\n}\r\n\r\n/**\r\n * @internal\r\n * @returns\r\n */\r\nfunction _areSameMatrixClass(className: string, className2: string) {\r\n return className === \"Matrix\" && className2 === \"Matrix\";\r\n}\r\n\r\n/**\r\n * @internal\r\n * @returns\r\n */\r\nfunction _areSameIntegerClass(className: string, className2: string) {\r\n return className === \"FlowGraphInteger\" && className2 === \"FlowGraphInteger\";\r\n}\r\n\r\n/**\r\n * @experimental\r\n * Polymorphic add block.\r\n */\r\nexport class FlowGraphAddBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicAdd(a, b), FlowGraphAddBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAdd(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n const bClassName = _getClassNameOf(b);\r\n if (_areSameVectorClass(aClassName, bClassName) || _areSameMatrixClass(aClassName, bClassName) || _areSameIntegerClass(aClassName, bClassName)) {\r\n return a.add(b);\r\n } else {\r\n return a + b;\r\n }\r\n }\r\n\r\n public getClassName(): string {\r\n return FlowGraphAddBlock.ClassName;\r\n }\r\n\r\n public static ClassName = \"FGAddBlock\";\r\n}\r\nRegisterClass(FlowGraphAddBlock.ClassName, FlowGraphAddBlock);\r\n\r\n/**\r\n * @experimental\r\n * Polymorphic add block.\r\n */\r\nexport class FlowGraphSubtractBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicAdd(a, b), FlowGraphSubtractBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAdd(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n const bClassName = _getClassNameOf(b);\r\n if (_areSameVectorClass(aClassName, bClassName) || _areSameIntegerClass(aClassName, bClassName)) {\r\n return a.subtract(b);\r\n } else if (_areSameMatrixClass(aClassName, bClassName)) {\r\n return a.add(b.scale(-1));\r\n } else {\r\n return a - b;\r\n }\r\n }\r\n\r\n public getClassName(): string {\r\n return FlowGraphSubtractBlock.ClassName;\r\n }\r\n\r\n public static ClassName = \"FGSubBlock\";\r\n}\r\nRegisterClass(FlowGraphSubtractBlock.ClassName, FlowGraphSubtractBlock);\r\n\r\n/**\r\n * @experimental\r\n * Polymorphic multiply block.\r\n * In case of matrix, it is a component wise multiplication.\r\n */\r\nexport class FlowGraphMultiplyBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicMultiply(a, b), FlowGraphMultiplyBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicMultiply(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n const bClassName = _getClassNameOf(b);\r\n if (_areSameVectorClass(aClassName, bClassName) || _areSameIntegerClass(aClassName, bClassName)) {\r\n return a.multiply(b);\r\n } else if (_areSameMatrixClass(aClassName, bClassName)) {\r\n return Matrix.FromValues(\r\n a.m[0] * b.m[0],\r\n a.m[4] * b.m[4],\r\n a.m[8] * b.m[8],\r\n a.m[12] * b.m[12],\r\n a.m[1] * b.m[1],\r\n a.m[5] * b.m[5],\r\n a.m[9] * b.m[9],\r\n a.m[13] * b.m[13],\r\n a.m[2] * b.m[2],\r\n a.m[6] * b.m[6],\r\n a.m[10] * b.m[10],\r\n a.m[14] * b.m[14],\r\n a.m[3] * b.m[3],\r\n a.m[7] * b.m[7],\r\n a.m[11] * b.m[11],\r\n a.m[15] * b.m[15]\r\n );\r\n } else {\r\n return a * b;\r\n }\r\n }\r\n\r\n public static ClassName = \"FGMultiplyBlock\";\r\n}\r\nRegisterClass(FlowGraphMultiplyBlock.ClassName, FlowGraphMultiplyBlock);\r\n\r\n/**\r\n * @experimental\r\n * Polymorphic division block.\r\n */\r\nexport class FlowGraphDivideBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicDivide(a, b), FlowGraphDivideBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicDivide(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n const bClassName = _getClassNameOf(b);\r\n if (_areSameVectorClass(aClassName, bClassName) || _areSameIntegerClass(aClassName, bClassName)) {\r\n return a.divide(b);\r\n } else if (_areSameMatrixClass(aClassName, bClassName)) {\r\n return Matrix.FromValues(\r\n a.m[0] / b.m[0],\r\n a.m[4] / b.m[4],\r\n a.m[8] / b.m[8],\r\n a.m[12] / b.m[12],\r\n a.m[1] / b.m[1],\r\n a.m[5] / b.m[5],\r\n a.m[9] / b.m[9],\r\n a.m[13] / b.m[13],\r\n a.m[2] / b.m[2],\r\n a.m[6] / b.m[6],\r\n a.m[10] / b.m[10],\r\n a.m[14] / b.m[14],\r\n a.m[3] / b.m[3],\r\n a.m[7] / b.m[7],\r\n a.m[11] / b.m[11],\r\n a.m[15] / b.m[15]\r\n );\r\n } else {\r\n return a / b;\r\n }\r\n }\r\n\r\n public static ClassName = \"FGDivideBlock\";\r\n}\r\nRegisterClass(FlowGraphDivideBlock.ClassName, FlowGraphDivideBlock);\r\n\r\n/**\r\n * @experimental\r\n * Random number between 0 and 1.\r\n */\r\nexport class FlowGraphRandomBlock extends FlowGraphConstantOperationBlock<number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, () => Math.random(), FlowGraphRandomBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGRandomBlock\";\r\n}\r\nRegisterClass(FlowGraphRandomBlock.ClassName, FlowGraphRandomBlock);\r\n\r\n/**\r\n * @experimental\r\n * Dot product block.\r\n */\r\nexport class FlowGraphDotBlock extends FlowGraphBinaryOperationBlock<any, any, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeNumber, (a, b) => this._polymorphicDot(a, b), FlowGraphDotBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicDot(a: any, b: any) {\r\n const className = _getClassNameOf(a);\r\n switch (className) {\r\n case \"Vector2\":\r\n return Vector2.Dot(a, b);\r\n case \"Vector3\":\r\n return Vector3.Dot(a, b);\r\n case \"Vector4\":\r\n return Vector4.Dot(a, b);\r\n default:\r\n throw new Error(`Cannot get dot product of ${a} and ${b}`);\r\n }\r\n }\r\n\r\n public static ClassName = \"FGDotBlock\";\r\n}\r\nRegisterClass(FlowGraphDotBlock.ClassName, FlowGraphDotBlock);\r\n\r\n/**\r\n * @experimental\r\n * E constant.\r\n */\r\nexport class FlowGraphEBlock extends FlowGraphConstantOperationBlock<number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, () => Math.E, FlowGraphEBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGEBlock\";\r\n}\r\nRegisterClass(FlowGraphEBlock.ClassName, FlowGraphEBlock);\r\n\r\n/**\r\n * @experimental\r\n * Pi constant.\r\n */\r\nexport class FlowGraphPiBlock extends FlowGraphConstantOperationBlock<number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, () => Math.PI, FlowGraphPiBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGPIBlock\";\r\n}\r\nRegisterClass(FlowGraphPiBlock.ClassName, FlowGraphPiBlock);\r\n\r\n/**\r\n * @experimental\r\n * Positive inf constant.\r\n */\r\nexport class FlowGraphInfBlock extends FlowGraphConstantOperationBlock<number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, () => Number.POSITIVE_INFINITY, FlowGraphInfBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGInfBlock\";\r\n}\r\nRegisterClass(FlowGraphInfBlock.ClassName, FlowGraphInfBlock);\r\n\r\n/**\r\n * @experimental\r\n * NaN constant.\r\n */\r\nexport class FlowGraphNaNBlock extends FlowGraphConstantOperationBlock<number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, () => Number.NaN, FlowGraphNaNBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGNaNBlock\";\r\n}\r\nRegisterClass(FlowGraphNaNBlock.ClassName, FlowGraphNaNBlock);\r\n\r\nfunction _componentWiseUnaryOperation(a: any, op: (a: any) => any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"FlowGraphInteger\":\r\n return new FlowGraphInteger(op(a.value));\r\n case \"Vector2\":\r\n return new Vector2(op(a.x), op(a.y));\r\n case \"Vector3\":\r\n return new Vector3(op(a.x), op(a.y), op(a.z));\r\n case \"Vector4\":\r\n return new Vector4(op(a.x), op(a.y), op(a.z), op(a.w));\r\n case \"Matrix\":\r\n return Matrix.FromValues(\r\n op(a.m[0]),\r\n op(a.m[4]),\r\n op(a.m[8]),\r\n op(a.m[12]),\r\n op(a.m[1]),\r\n op(a.m[5]),\r\n op(a.m[9]),\r\n op(a.m[13]),\r\n op(a.m[2]),\r\n op(a.m[6]),\r\n op(a.m[10]),\r\n op(a.m[14]),\r\n op(a.m[3]),\r\n op(a.m[7]),\r\n op(a.m[11]),\r\n op(a.m[15])\r\n );\r\n default:\r\n return op(a);\r\n }\r\n}\r\n\r\n/**\r\n * @experimental\r\n * Absolute value block.\r\n */\r\nexport class FlowGraphAbsBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicAbs(a), FlowGraphAbsBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAbs(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.abs);\r\n }\r\n\r\n public static ClassName = \"FGAbsBlock\";\r\n}\r\nRegisterClass(FlowGraphAbsBlock.ClassName, FlowGraphAbsBlock);\r\n\r\n/**\r\n * @experimental\r\n * Sign block.\r\n */\r\nexport class FlowGraphSignBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicSign(a), FlowGraphSignBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicSign(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.sign);\r\n }\r\n\r\n public static ClassName = \"FGSignBlock\";\r\n}\r\nRegisterClass(FlowGraphSignBlock.ClassName, FlowGraphSignBlock);\r\n\r\n/**\r\n * @experimental\r\n * Truncation block.\r\n */\r\nexport class FlowGraphTruncBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicTrunc(a), FlowGraphTruncBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicTrunc(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.trunc);\r\n }\r\n\r\n public static ClassName = \"FGTruncBlock\";\r\n}\r\nRegisterClass(FlowGraphTruncBlock.ClassName, FlowGraphTruncBlock);\r\n\r\n/**\r\n * @experimental\r\n * Floor block.\r\n */\r\nexport class FlowGraphFloorBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicFloor(a), FlowGraphFloorBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicFloor(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.floor);\r\n }\r\n\r\n public static ClassName = \"FGFloorBlock\";\r\n}\r\nRegisterClass(FlowGraphFloorBlock.ClassName, FlowGraphFloorBlock);\r\n\r\n/**\r\n * @experimental\r\n * Ceiling block.\r\n */\r\nexport class FlowGraphCeilBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicCeiling(a), FlowGraphCeilBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicCeiling(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.ceil);\r\n }\r\n\r\n public static ClassName = \"FGCeilBlock\";\r\n}\r\nRegisterClass(FlowGraphCeilBlock.ClassName, FlowGraphCeilBlock);\r\n\r\n/**\r\n * @experimental\r\n * Fract block.\r\n */\r\nexport class FlowGraphFractBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicFract(a), FlowGraphFractBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicFract(a: any) {\r\n return _componentWiseUnaryOperation(a, (a) => a - Math.floor(a));\r\n }\r\n\r\n public static ClassName = \"FGFractBlock\";\r\n}\r\nRegisterClass(FlowGraphFractBlock.ClassName, FlowGraphFractBlock);\r\n\r\n/**\r\n * @experimental\r\n * Negation block.\r\n */\r\nexport class FlowGraphNegBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicNeg(a), FlowGraphNegBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicNeg(a: any) {\r\n return _componentWiseUnaryOperation(a, (a) => -a);\r\n }\r\n\r\n public static ClassName = \"FGNegBlock\";\r\n}\r\nRegisterClass(FlowGraphNegBlock.ClassName, FlowGraphNegBlock);\r\n\r\nfunction _componentWiseBinaryOperation(a: any, b: any, op: (a: any, b: any) => any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"FlowGraphInteger\":\r\n return new FlowGraphInteger(op(a.value, b.value));\r\n case \"Vector2\":\r\n return new Vector2(op(a.x, b.x), op(a.y, b.y));\r\n case \"Vector3\":\r\n return new Vector3(op(a.x, b.x), op(a.y, b.y), op(a.z, b.z));\r\n case \"Vector4\":\r\n return new Vector4(op(a.x, b.x), op(a.y, b.y), op(a.z, b.z), op(a.w, b.w));\r\n case \"Matrix\":\r\n return Matrix.FromValues(\r\n op(a.m[0], b.m[0]),\r\n op(a.m[4], b.m[4]),\r\n op(a.m[8], b.m[8]),\r\n op(a.m[12], b.m[12]),\r\n op(a.m[1], b.m[1]),\r\n op(a.m[5], b.m[5]),\r\n op(a.m[9], b.m[9]),\r\n op(a.m[13], b.m[13]),\r\n op(a.m[2], b.m[2]),\r\n op(a.m[6], b.m[6]),\r\n op(a.m[10], b.m[10]),\r\n op(a.m[14], b.m[14]),\r\n op(a.m[3], b.m[3]),\r\n op(a.m[7], b.m[7]),\r\n op(a.m[11], b.m[11]),\r\n op(a.m[15], b.m[15])\r\n );\r\n default:\r\n return op(a, b);\r\n }\r\n}\r\n\r\n/**\r\n * @experimental\r\n * Remainder block.\r\n */\r\nexport class FlowGraphRemainderBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicRemainder(a, b), FlowGraphRemainderBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicRemainder(a: any, b: any) {\r\n return _componentWiseBinaryOperation(a, b, (a, b) => a % b);\r\n }\r\n\r\n public static ClassName = \"FGRemainderBlock\";\r\n}\r\nRegisterClass(FlowGraphRemainderBlock.ClassName, FlowGraphRemainderBlock);\r\n\r\n/**\r\n * @experimental\r\n * Min block.\r\n */\r\nexport class FlowGraphMinBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicMin(a, b), FlowGraphMinBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicMin(a: any, b: any) {\r\n return _componentWiseBinaryOperation(a, b, Math.min);\r\n }\r\n\r\n public static ClassName = \"FGMinBlock\";\r\n}\r\nRegisterClass(FlowGraphMinBlock.ClassName, FlowGraphMinBlock);\r\n\r\n/**\r\n * @experimental\r\n * Max block\r\n */\r\nexport class FlowGraphMaxBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicMax(a, b), FlowGraphMaxBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicMax(a: any, b: any) {\r\n return _componentWiseBinaryOperation(a, b, Math.max);\r\n }\r\n\r\n public static ClassName = \"FGMaxBlock\";\r\n}\r\nRegisterClass(FlowGraphMaxBlock.ClassName, FlowGraphMaxBlock);\r\n\r\nfunction _clamp(a: number, b: number, c: number) {\r\n return Math.min(Math.max(a, Math.min(b, c)), Math.max(b, c));\r\n}\r\n\r\nfunction _componentWiseTernaryOperation(a: any, b: any, c: any, op: (a: any, b: any, c: any) => any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"FlowGraphInteger\":\r\n return new FlowGraphInteger(op(a.value, b.value, c.value));\r\n case \"Vector2\":\r\n return new Vector2(op(a.x, b.x, c.x), op(a.y, b.y, c.y));\r\n case \"Vector3\":\r\n return new Vector3(op(a.x, b.x, c.x), op(a.y, b.y, c.y), op(a.z, b.z, c.z));\r\n case \"Vector4\":\r\n 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));\r\n case \"Matrix\":\r\n return Matrix.FromValues(\r\n op(a.m[0], b.m[0], c.m[0]),\r\n op(a.m[4], b.m[4], c.m[4]),\r\n op(a.m[8], b.m[8], c.m[8]),\r\n op(a.m[12], b.m[12], c.m[12]),\r\n op(a.m[1], b.m[1], c.m[1]),\r\n op(a.m[5], b.m[5], c.m[5]),\r\n op(a.m[9], b.m[9], c.m[9]),\r\n op(a.m[13], b.m[13], c.m[13]),\r\n op(a.m[2], b.m[2], c.m[2]),\r\n op(a.m[6], b.m[6], c.m[6]),\r\n op(a.m[10], b.m[10], c.m[10]),\r\n op(a.m[14], b.m[14], c.m[14]),\r\n op(a.m[3], b.m[3], c.m[3]),\r\n op(a.m[7], b.m[7], c.m[7]),\r\n op(a.m[11], b.m[11], c.m[11]),\r\n op(a.m[15], b.m[15], c.m[15])\r\n );\r\n default:\r\n return op(a, b, c);\r\n }\r\n}\r\n\r\n/**\r\n * @experimental\r\n * Clamp block.\r\n */\r\nexport class FlowGraphClampBlock extends FlowGraphTernaryOperationBlock<any, any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, RichTypeAny, (a, b, c) => this._polymorphicClamp(a, b, c), FlowGraphClampBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicClamp(a: any, b: any, c: any) {\r\n return _componentWiseTernaryOperation(a, b, c, _clamp);\r\n }\r\n\r\n public static ClassName = \"FGClampBlock\";\r\n}\r\nRegisterClass(FlowGraphClampBlock.ClassName, FlowGraphClampBlock);\r\n\r\nfunction _saturate(a: number) {\r\n return Math.min(Math.max(a, 0), 1);\r\n}\r\n\r\n/**\r\n * @experimental\r\n * Saturate block.\r\n */\r\nexport class FlowGraphSaturateBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicSaturate(a), FlowGraphSaturateBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicSaturate(a: any) {\r\n return _componentWiseUnaryOperation(a, _saturate);\r\n }\r\n\r\n public static ClassName = \"FGSaturateBlock\";\r\n}\r\nRegisterClass(FlowGraphSaturateBlock.ClassName, FlowGraphSaturateBlock);\r\n\r\n/**\r\n * @experimental\r\n * Interpolate block.\r\n */\r\nexport class FlowGraphInterpolateBlock extends FlowGraphTernaryOperationBlock<any, any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, RichTypeAny, (a, b, c) => this._polymorphicInterpolate(a, b, c), FlowGraphInterpolateBlock.ClassName, config);\r\n }\r\n\r\n private _interpolate(a: number, b: number, c: number) {\r\n return (1 - c) * a + c * b;\r\n }\r\n\r\n private _polymorphicInterpolate(a: any, b: any, c: any) {\r\n return _componentWiseTernaryOperation(a, b, c, this._interpolate);\r\n }\r\n\r\n public static ClassName = \"FGInterpolateBlock\";\r\n}\r\nRegisterClass(FlowGraphInterpolateBlock.ClassName, FlowGraphInterpolateBlock);\r\n\r\n/**\r\n * @experimental\r\n * Equals block.\r\n */\r\nexport class FlowGraphEqBlock extends FlowGraphBinaryOperationBlock<any, any, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeBoolean, (a, b) => this._polymorphicEq(a, b), FlowGraphEqBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicEq(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n const bClassName = _getClassNameOf(b);\r\n if (_areSameVectorClass(aClassName, bClassName) || _areSameMatrixClass(aClassName, bClassName) || _areSameIntegerClass(aClassName, bClassName)) {\r\n return a.equals(b);\r\n } else {\r\n return a === b;\r\n }\r\n }\r\n\r\n public static ClassName = \"FGEqBlock\";\r\n}\r\nRegisterClass(FlowGraphEqBlock.ClassName, FlowGraphEqBlock);\r\n\r\nfunction _comparisonOperators(a: any, b: any, op: (a: any, b: any) => boolean) {\r\n const aClassName = _getClassNameOf(a);\r\n const bClassName = _getClassNameOf(b);\r\n if (aClassName === bClassName) {\r\n // float\r\n if (aClassName === \"\") {\r\n return op(a, b);\r\n } else if (aClassName === \"FlowGraphInteger\") {\r\n return op(a.value, b.value);\r\n } else {\r\n throw new Error(`Cannot compare ${a} and ${b}`);\r\n }\r\n }\r\n throw new Error(`${a} and ${b} are of different types.`);\r\n}\r\n\r\n/**\r\n * @experimental\r\n * Less than block.\r\n */\r\nexport class FlowGraphLessThanBlock extends FlowGraphBinaryOperationBlock<any, any, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeBoolean, (a, b) => this._polymorphicLessThan(a, b), FlowGraphLessThanBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicLessThan(a: any, b: any) {\r\n return _comparisonOperators(a, b, (a, b) => a < b);\r\n }\r\n\r\n public static ClassName = \"FGLessThanBlock\";\r\n}\r\nRegisterClass(FlowGraphLessThanBlock.ClassName, FlowGraphLessThanBlock);\r\n\r\n/**\r\n * @experimental\r\n * Less than or equal block.\r\n */\r\nexport class FlowGraphLessThanOrEqualBlock extends FlowGraphBinaryOperationBlock<any, any, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeBoolean, (a, b) => this._polymorphicLessThanOrEqual(a, b), FlowGraphLessThanOrEqualBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicLessThanOrEqual(a: any, b: any) {\r\n return _comparisonOperators(a, b, (a, b) => a <= b);\r\n }\r\n\r\n public static ClassName = \"FGLessThanOrEqualBlock\";\r\n}\r\n\r\n/**\r\n * @experimental\r\n * Greater than block.\r\n */\r\nexport class FlowGraphGreaterThanBlock extends FlowGraphBinaryOperationBlock<any, any, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeBoolean, (a, b) => this._polymorphicGreaterThan(a, b), FlowGraphGreaterThanBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicGreaterThan(a: any, b: any) {\r\n return _comparisonOperators(a, b, (a, b) => a > b);\r\n }\r\n\r\n public static ClassName = \"FGGreaterThanBlock\";\r\n}\r\nRegisterClass(FlowGraphGreaterThanBlock.ClassName, FlowGraphGreaterThanBlock);\r\n\r\n/**\r\n * @experimental\r\n * Greater than or equal block.\r\n */\r\nexport class FlowGraphGreaterThanOrEqualBlock extends FlowGraphBinaryOperationBlock<any, any, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeBoolean, (a, b) => this._polymorphicGreaterThanOrEqual(a, b), FlowGraphGreaterThanOrEqualBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicGreaterThanOrEqual(a: any, b: any) {\r\n return _comparisonOperators(a, b, (a, b) => a >= b);\r\n }\r\n\r\n public static ClassName = \"FGGreaterThanOrEqualBlock\";\r\n}\r\nRegisterClass(FlowGraphGreaterThanOrEqualBlock.ClassName, FlowGraphGreaterThanOrEqualBlock);\r\n\r\n/**\r\n * @experimental\r\n * Is NaN block.\r\n */\r\nexport class FlowGraphIsNanBlock extends FlowGraphUnaryOperationBlock<any, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeBoolean, (a) => this._polymorphicIsNan(a), FlowGraphIsNanBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicIsNan(a: any) {\r\n const aClassName = _getClassNameOf(a);\r\n if (aClassName === \"\") {\r\n return isNaN(a);\r\n } else if (aClassName === \"FlowGraphInteger\") {\r\n return isNaN(a.value);\r\n } else {\r\n throw new Error(`Cannot get NaN of ${a}`);\r\n }\r\n }\r\n\r\n public static ClassName = \"FGIsNanBlock\";\r\n}\r\nRegisterClass(FlowGraphIsNanBlock.ClassName, FlowGraphIsNanBlock);\r\n\r\n/**\r\n * @experimental\r\n * Is Inf block.\r\n */\r\nexport class FlowGraphIsInfBlock extends FlowGraphUnaryOperationBlock<any, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeBoolean, (a) => this._polymorphicIsInf(a), FlowGraphIsInfBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicIsInf(a: any) {\r\n const aClassName = _getClassNameOf(a);\r\n if (aClassName === \"\") {\r\n return !isFinite(a);\r\n } else if (aClassName === \"FlowGraphInteger\") {\r\n return !isFinite(a.value);\r\n } else {\r\n throw new Error(`Cannot get isInf of ${a}`);\r\n }\r\n }\r\n\r\n public static ClassName = \"FGIsInfBlock\";\r\n}\r\n\r\n/**\r\n * @experimental\r\n * Convert degrees to radians block.\r\n */\r\nexport class FlowGraphDegToRadBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicDegToRad(a), FlowGraphDegToRadBlock.ClassName, config);\r\n }\r\n\r\n private _degToRad(a: number) {\r\n return (a * Math.PI) / 180;\r\n }\r\n\r\n private _polymorphicDegToRad(a: any) {\r\n return _componentWiseUnaryOperation(a, this._degToRad);\r\n }\r\n\r\n public static ClassName = \"FGDegToRadBlock\";\r\n}\r\nRegisterClass(FlowGraphDegToRadBlock.ClassName, FlowGraphDegToRadBlock);\r\n\r\n/**\r\n * @experimental\r\n * Convert radians to degrees block.\r\n */\r\nexport class FlowGraphRadToDegBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicRadToDeg(a), FlowGraphRadToDegBlock.ClassName, config);\r\n }\r\n\r\n private _radToDeg(a: number) {\r\n return (a * 180) / Math.PI;\r\n }\r\n\r\n private _polymorphicRadToDeg(a: any) {\r\n return _componentWiseUnaryOperation(a, this._radToDeg);\r\n }\r\n\r\n public static ClassName = \"FGRadToDegBlock\";\r\n}\r\nRegisterClass(FlowGraphRadToDegBlock.ClassName, FlowGraphRadToDegBlock);\r\n\r\n/**\r\n * @experimental\r\n * Sin block.\r\n */\r\nexport class FlowGraphSinBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicSin(a), FlowGraphSinBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicSin(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.sin);\r\n }\r\n\r\n public static ClassName = \"FGSinBlock\";\r\n}\r\nRegisterClass(FlowGraphSinBlock.ClassName, FlowGraphSinBlock);\r\n\r\n/**\r\n * @experimental\r\n * Cos block.\r\n */\r\nexport class FlowGraphCosBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicCos(a), FlowGraphCosBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicCos(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.cos);\r\n }\r\n\r\n public static ClassName = \"FGCosBlock\";\r\n}\r\nRegisterClass(FlowGraphCosBlock.ClassName, FlowGraphCosBlock);\r\n\r\n/**\r\n * @experimental\r\n * Tan block.\r\n */\r\nexport class FlowGraphTanBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicTan(a), FlowGraphTanBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicTan(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.tan);\r\n }\r\n\r\n public static ClassName = \"FGTanBlock\";\r\n}\r\nRegisterClass(FlowGraphTanBlock.ClassName, FlowGraphTanBlock);\r\n\r\n/**\r\n * @experimental\r\n * Arcsin block.\r\n */\r\nexport class FlowGraphAsinBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicAsin(a), FlowGraphAsinBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAsin(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.asin);\r\n }\r\n\r\n public static ClassName = \"FGAsinBlock\";\r\n}\r\nRegisterClass(FlowGraphAsinBlock.ClassName, FlowGraphAsinBlock);\r\n\r\n/**\r\n * @experimental\r\n * Arccos block.\r\n */\r\nexport class FlowGraphAcosBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicAcos(a), FlowGraphAcosBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAcos(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.acos);\r\n }\r\n\r\n public static ClassName = \"FGAcosBlock\";\r\n}\r\nRegisterClass(FlowGraphAcosBlock.ClassName, FlowGraphAcosBlock);\r\n\r\n/**\r\n * @experimental\r\n * Arctan block.\r\n */\r\nexport class FlowGraphAtanBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicAtan(a), FlowGraphAtanBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAtan(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.atan);\r\n }\r\n\r\n public static ClassName = \"FGAtanBlock\";\r\n}\r\nRegisterClass(FlowGraphAtanBlock.ClassName, FlowGraphAtanBlock);\r\n\r\n/**\r\n * @experimental\r\n * Arctan2 block.\r\n */\r\nexport class FlowGraphAtan2Block extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicAtan2(a, b), FlowGraphAtan2Block.ClassName, config);\r\n }\r\n\r\n private _polymorphicAtan2(a: any, b: any) {\r\n return _componentWiseBinaryOperation(a, b, Math.atan2);\r\n }\r\n\r\n public static ClassName = \"FGAtan2Block\";\r\n}\r\nRegisterClass(FlowGraphAtan2Block.ClassName, FlowGraphAtan2Block);\r\n\r\n/**\r\n * @experimental\r\n * Hyperbolic sin block.\r\n */\r\nexport class FlowGraphSinhBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicSinh(a), FlowGraphSinhBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicSinh(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.sinh);\r\n }\r\n\r\n public static ClassName = \"FGSinhBlock\";\r\n}\r\nRegisterClass(FlowGraphSinhBlock.ClassName, FlowGraphSinhBlock);\r\n\r\n/**\r\n * @experimental\r\n * Hyperbolic cos block.\r\n */\r\nexport class FlowGraphCoshBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicCosh(a), FlowGraphCoshBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicCosh(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.cosh);\r\n }\r\n\r\n public static ClassName = \"FGCoshBlock\";\r\n}\r\nRegisterClass(FlowGraphCoshBlock.ClassName, FlowGraphCoshBlock);\r\n\r\n/**\r\n * @experimental\r\n * Hyperbolic tan block.\r\n */\r\nexport class FlowGraphTanhBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicTanh(a), FlowGraphTanhBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicTanh(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.tanh);\r\n }\r\n\r\n public static ClassName = \"FGTanhBlock\";\r\n}\r\nRegisterClass(FlowGraphTanhBlock.ClassName, FlowGraphTanhBlock);\r\n\r\n/**\r\n * @experimental\r\n * Hyperbolic arcsin block.\r\n */\r\nexport class FlowGraphAsinhBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicAsinh(a), FlowGraphAsinhBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAsinh(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.asinh);\r\n }\r\n\r\n public static ClassName = \"FGAsinhBlock\";\r\n}\r\nRegisterClass(FlowGraphAsinhBlock.ClassName, FlowGraphAsinhBlock);\r\n\r\n/**\r\n * @experimental\r\n * Hyperbolic arccos block.\r\n */\r\nexport class FlowGraphAcoshBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicAcosh(a), FlowGraphAcoshBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAcosh(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.acosh);\r\n }\r\n\r\n public static ClassName = \"FGAcoshBlock\";\r\n}\r\nRegisterClass(FlowGraphAcoshBlock.ClassName, FlowGraphAcoshBlock);\r\n\r\n/**\r\n * @experimental\r\n * Hyperbolic arctan block.\r\n */\r\nexport class FlowGraphAtanhBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicAtanh(a), FlowGraphAtanhBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAtanh(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.atanh);\r\n }\r\n\r\n public static ClassName = \"FGAtanhBlock\";\r\n}\r\nRegisterClass(FlowGraphAtanhBlock.ClassName, FlowGraphAtanhBlock);\r\n\r\n/**\r\n * @experimental\r\n * Exponential block.\r\n */\r\nexport class FlowGraphExpBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicExp(a), FlowGraphExpBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicExp(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.exp);\r\n }\r\n\r\n public static ClassName = \"FGExpBlock\";\r\n}\r\nRegisterClass(FlowGraphExpBlock.ClassName, FlowGraphExpBlock);\r\n\r\n/**\r\n * @experimental\r\n * Logarithm block.\r\n */\r\nexport class FlowGraphLogBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicLog(a), FlowGraphLogBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicLog(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.log);\r\n }\r\n\r\n public static ClassName = \"FGLogBlock\";\r\n}\r\nRegisterClass(FlowGraphLogBlock.ClassName, FlowGraphLogBlock);\r\n\r\n/**\r\n * @experimental\r\n * Base 2 logarithm block.\r\n */\r\nexport class FlowGraphLog2Block extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicLog2(a), FlowGraphLog2Block.ClassName, config);\r\n }\r\n\r\n private _polymorphicLog2(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.log2);\r\n }\r\n\r\n public static ClassName = \"FGLog2Block\";\r\n}\r\nRegisterClass(FlowGraphLog2Block.ClassName, FlowGraphLog2Block);\r\n\r\n/**\r\n * @experimental\r\n * Base 10 logarithm block.\r\n */\r\nexport class FlowGraphLog10Block extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicLog10(a), FlowGraphLog10Block.ClassName, config);\r\n }\r\n\r\n private _polymorphicLog10(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.log10);\r\n }\r\n\r\n public static ClassName = \"FGLog10Block\";\r\n}\r\nRegisterClass(FlowGraphLog10Block.ClassName, FlowGraphLog10Block);\r\n\r\n/**\r\n * @experimental\r\n * Square root block.\r\n */\r\nexport class FlowGraphSqrtBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicSqrt(a), FlowGraphSqrtBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicSqrt(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.sqrt);\r\n }\r\n\r\n public static ClassName = \"FGSqrtBlock\";\r\n}\r\nRegisterClass(FlowGraphSqrtBlock.ClassName, FlowGraphSqrtBlock);\r\n\r\n/**\r\n * @experimental\r\n * Cube root block.\r\n */\r\nexport class FlowGraphCubeRootBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicCubeRoot(a), FlowGraphCubeRootBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicCubeRoot(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.cbrt);\r\n }\r\n\r\n public static ClassName = \"FGCubeRootBlock\";\r\n}\r\nRegisterClass(FlowGraphCubeRootBlock.ClassName, FlowGraphCubeRootBlock);\r\n\r\n/**\r\n * @experimental\r\n * Power block.\r\n */\r\nexport class FlowGraphPowBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, RichTypeNumber, (a, b) => this._polymorphicPow(a, b), FlowGraphPowBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicPow(a: any, b: any) {\r\n return _componentWiseBinaryOperation(a, b, Math.pow);\r\n }\r\n\r\n public static ClassName = \"FGPowBlock\";\r\n}\r\nRegisterClass(FlowGraphPowBlock.ClassName, FlowGraphPowBlock);\r\n\r\n/**\r\n * @experimental\r\n * Vector length block.\r\n */\r\nexport class FlowGraphLengthBlock extends FlowGraphUnaryOperationBlock<any, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicLength(a), FlowGraphLengthBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicLength(a: any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n case \"Vector3\":\r\n case \"Vector4\":\r\n return a.length();\r\n default:\r\n throw new Error(`Cannot compute length of value ${a}`);\r\n }\r\n }\r\n\r\n public static ClassName = \"FGLengthBlock\";\r\n}\r\nRegisterClass(FlowGraphLengthBlock.ClassName, FlowGraphLengthBlock);\r\n\r\n/**\r\n * @experimental\r\n * Vector normalize block.\r\n */\r\nexport class FlowGraphNormalizeBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicNormalize(a), FlowGraphNormalizeBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicNormalize(a: any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n case \"Vector3\":\r\n case \"Vector4\":\r\n return a.normalize();\r\n default:\r\n throw new Error(`Cannot normalize value ${a}`);\r\n }\r\n }\r\n\r\n public static ClassName = \"FGNormalizeBlock\";\r\n}\r\nRegisterClass(FlowGraphNormalizeBlock.ClassName, FlowGraphNormalizeBlock);\r\n\r\n/**\r\n * @experimental\r\n * Cross product block.\r\n */\r\nexport class FlowGraphCrossBlock extends FlowGraphBinaryOperationBlock<Vector3, Vector3, Vector3> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (a, b) => Vector3.Cross(a, b), FlowGraphCrossBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGCrossBlock\";\r\n}\r\nRegisterClass(FlowGraphCrossBlock.ClassName, FlowGraphCrossBlock);\r\n\r\n/**\r\n * @experimental\r\n * 2D rotation block.\r\n */\r\nexport class FlowGraphRotate2DBlock extends FlowGraphBinaryOperationBlock<Vector2, number, Vector2> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector2, RichTypeNumber, RichTypeVector2, (a, b) => Vector2.Transform(a, Matrix.RotationZ(b)), FlowGraphRotate2DBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGRotate2DBlock\";\r\n}\r\nRegisterClass(FlowGraphRotate2DBlock.ClassName, FlowGraphRotate2DBlock);\r\n\r\n/**\r\n * @experimental\r\n * 3D rotation block.\r\n */\r\nexport class FlowGraphRotate3DBlock extends FlowGraphTernaryOperationBlock<Vector3, Vector3, number, Vector3> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(\r\n RichTypeVector3,\r\n RichTypeVector3,\r\n RichTypeNumber,\r\n RichTypeVector3,\r\n (a, b, c) => Vector3.TransformCoordinates(a, Matrix.RotationAxis(b, c)),\r\n FlowGraphRotate3DBlock.ClassName,\r\n config\r\n );\r\n }\r\n\r\n public static ClassName = \"FGRotate3DBlock\";\r\n}\r\nRegisterClass(FlowGraphRotate3DBlock.ClassName, FlowGraphRotate3DBlock);\r\n\r\n/**\r\n * @experimental\r\n * Transposes a matrix.\r\n */\r\nexport class FlowGraphTransposeBlock extends FlowGraphUnaryOperationBlock<Matrix, Matrix> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeMatrix, RichTypeMatrix, (a) => Matrix.Transpose(a), FlowGraphTransposeBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGTransposeBlock\";\r\n}\r\nRegisterClass(FlowGraphTransposeBlock.ClassName, FlowGraphTransposeBlock);\r\n\r\n/**\r\n * @experimental\r\n * Gets the determinant of a matrix.\r\n */\r\nexport class FlowGraphDeterminantBlock extends FlowGraphUnaryOperationBlock<Matrix, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeMatrix, RichTypeNumber, (a) => a.determinant(), FlowGraphDeterminantBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGDeterminantBlock\";\r\n}\r\nRegisterClass(FlowGraphDeterminantBlock.ClassName, FlowGraphDeterminantBlock);\r\n\r\n/**\r\n * @experimental\r\n * Inverts a matrix.\r\n */\r\nexport class FlowGraphInvertMatrixBlock extends FlowGraphUnaryOperationBlock<Matrix, Matrix> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeMatrix, RichTypeMatrix, (a) => Matrix.Invert(a), FlowGraphInvertMatrixBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGInvertMatrixBlock\";\r\n}\r\nRegisterClass(FlowGraphInvertMatrixBlock.ClassName, FlowGraphInvertMatrixBlock);\r\n\r\n/**\r\n * @experimental\r\n * Multiplies two matrices.\r\n */\r\nexport class FlowGraphMatMulBlock extends FlowGraphBinaryOperationBlock<Matrix, Matrix, Matrix> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeMatrix, RichTypeMatrix, RichTypeMatrix, (a, b) => b.multiply(a), FlowGraphMatMulBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGMatMulBlock\";\r\n}\r\nRegisterClass(FlowGraphMatMulBlock.ClassName, FlowGraphMatMulBlock);\r\n\r\n/**\r\n * @experimental\r\n * Bitwise NOT operation\r\n */\r\nexport class FlowGraphBitwiseNotBlock extends FlowGraphUnaryOperationBlock<FlowGraphInteger, FlowGraphInteger> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeFlowGraphInteger, RichTypeFlowGraphInteger, (a) => new FlowGraphInteger(~a.value), FlowGraphBitwiseNotBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGBitwiseNotBlock\";\r\n}\r\nRegisterClass(FlowGraphBitwiseNotBlock.ClassName, FlowGraphBitwiseNotBlock);\r\n\r\n/**\r\n * @experimental\r\n * Bitwise AND operation\r\n */\r\nexport class FlowGraphBitwiseAndBlock extends FlowGraphBinaryOperationBlock<FlowGraphInteger, FlowGraphInteger, FlowGraphInteger> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(\r\n RichTypeFlowGraphInteger,\r\n RichTypeFlowGraphInteger,\r\n RichTypeFlowGraphInteger,\r\n (a, b) => new FlowGraphInteger(a.value & b.value),\r\n FlowGraphBitwiseAndBlock.ClassName,\r\n config\r\n );\r\n }\r\n\r\n public static ClassName = \"FGBitwiseAndBlock\";\r\n}\r\nRegisterClass(FlowGraphBitwiseAndBlock.ClassName, FlowGraphBitwiseAndBlock);\r\n\r\n/**\r\n * @experimental\r\n * Bitwise OR operation\r\n */\r\nexport class FlowGraphBitwiseOrBlock extends FlowGraphBinaryOperationBlock<FlowGraphInteger, FlowGraphInteger, FlowGraphInteger> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(\r\n RichTypeFlowGraphInteger,\r\n RichTypeFlowGraphInteger,\r\n RichTypeFlowGraphInteger,\r\n (a, b) => new FlowGraphInteger(a.value | b.value),\r\n FlowGraphBitwiseOrBlock.ClassName,\r\n config\r\n );\r\n }\r\n\r\n public static ClassName = \"FGBitwiseOrBlock\";\r\n}\r\nRegisterClass(FlowGraphBitwiseOrBlock.ClassName, FlowGraphBitwiseOrBlock);\r\n\r\n/**\r\n * @experimental\r\n * Bitwise XOR operation\r\n */\r\nexport class FlowGraphBitwiseXorBlock extends FlowGraphBinaryOperationBlock<FlowGraphInteger, FlowGraphInteger, FlowGraphInteger> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(\r\n RichTypeFlowGraphInteger,\r\n RichTypeFlowGraphInteger,\r\n RichTypeFlowGraphInteger,\r\n (a, b) => new FlowGraphInteger(a.value ^ b.value),\r\n FlowGraphBitwiseXorBlock.ClassName,\r\n config\r\n );\r\n }\r\n\r\n public static ClassName = \"FGBitwiseXorBlock\";\r\n}\r\nRegisterClass(FlowGraphBitwiseXorBlock.ClassName, FlowGraphBitwiseXorBlock);\r\n\r\n/**\r\n * @experimental\r\n * Bitwise left shift operation\r\n */\r\nexport class FlowGraphBitwiseLeftShiftBlock extends FlowGraphBinaryOperationBlock<FlowGraphInteger, FlowGraphInteger, FlowGraphInteger> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(\r\n RichTypeFlowGraphInteger,\r\n RichTypeFlowGraphInteger,\r\n RichTypeFlowGraphInteger,\r\n (a, b) => new FlowGraphInteger(a.value << b.value),\r\n FlowGraphBitwiseLeftShiftBlock.ClassName,\r\n config\r\n );\r\n }\r\n\r\n public static ClassName = \"FGBitwiseLeftShiftBlock\";\r\n}\r\nRegisterClass(FlowGraphBitwiseLeftShiftBlock.ClassName, FlowGraphBitwiseLeftShiftBlock);\r\n\r\n/**\r\n * @experimental\r\n * Bitwise right shift operation\r\n */\r\nexport class FlowGraphBitwiseRightShiftBlock extends FlowGraphBinaryOperationBlock<FlowGraphInteger, FlowGraphInteger, FlowGraphInteger> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(\r\n RichTypeFlowGraphInteger,\r\n RichTypeFlowGraphInteger,\r\n RichTypeFlowGraphInteger,\r\n (a, b) => new FlowGraphInteger(a.value >> b.value),\r\n FlowGraphBitwiseRightShiftBlock.ClassName,\r\n config\r\n );\r\n }\r\n\r\n public static ClassName = \"FGBitwiseRightShiftBlock\";\r\n}\r\nRegisterClass(FlowGraphBitwiseRightShiftBlock.ClassName, FlowGraphBitwiseRightShiftBlock);\r\n\r\n/**\r\n * @experimental\r\n * Count leading zeros operation\r\n */\r\nexport class FlowGraphCountLeadingZerosBlock extends FlowGraphUnaryOperationBlock<FlowGraphInteger, FlowGraphInteger> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeFlowGraphInteger, RichTypeFlowGraphInteger, (a) => new FlowGraphInteger(Math.clz32(a.value)), FlowGraphCountLeadingZerosBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGCountLeadingZerosBlock\";\r\n}\r\nRegisterClass(FlowGraphCountLeadingZerosBlock.ClassName, FlowGraphCountLeadingZerosBlock);\r\n\r\n/**\r\n * @experimental\r\n * Count trailing zeros operation\r\n */\r\nexport class FlowGraphCountTrailingZerosBlock extends FlowGraphUnaryOperationBlock<FlowGraphInteger, FlowGraphInteger> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(\r\n RichTypeFlowGraphInteger,\r\n RichTypeFlowGraphInteger,\r\n (a) => new FlowGraphInteger(a.value ? 31 - Math.clz32(a.value & -a.value) : 32),\r\n FlowGraphCountTrailingZerosBlock.ClassName,\r\n config\r\n );\r\n }\r\n\r\n public static ClassName = \"FGCountTrailingZerosBlock\";\r\n}\r\nRegisterClass(FlowGraphCountTrailingZerosBlock.ClassName, FlowGraphCountTrailingZerosBlock);\r\n\r\n/**\r\n * Given a number (which is converted to a 32-bit integer), return the\r\n * number of bits set to one on that number.\r\n * @internal\r\n * @param n\r\n */\r\nfunction _countOnes(n: number) {\r\n let result = 0;\r\n while (n) {\r\n // This zeroes out all bits except for the least significant one.\r\n // So if the bit is set, it will be 1, otherwise it will be 0.\r\n result += n & 1;\r\n // This shifts n's bits to the right by one\r\n n >>= 1;\r\n }\r\n return result;\r\n}\r\n\r\n/**\r\n * @experimental\r\n * Count one bits operation\r\n */\r\nexport class FlowGraphCountOneBitsBlock extends FlowGraphUnaryOperationBlock<FlowGraphInteger, FlowGraphInteger> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeFlowGraphInteger, RichTypeFlowGraphInteger, (a) => new FlowGraphInteger(_countOnes(a.value)), FlowGraphCountOneBitsBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGCountOneBitsBlock\";\r\n}\r\nRegisterClass(FlowGraphCountOneBitsBlock.ClassName, FlowGraphCountOneBitsBlock);\r\n"]}
|
|
@@ -7,6 +7,9 @@ import type { FlowGraphDataConnection } from "../../flowGraphDataConnection";
|
|
|
7
7
|
* The configuration of the FlowGraphGetVariableBlock.
|
|
8
8
|
*/
|
|
9
9
|
export interface IFlowGraphGetVariableBlockConfiguration extends IFlowGraphBlockConfiguration {
|
|
10
|
+
/**
|
|
11
|
+
* The name of the variable to get.
|
|
12
|
+
*/
|
|
10
13
|
variableName: string;
|
|
11
14
|
}
|
|
12
15
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowGraphGetVariableBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"flowGraphGetVariableBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAaxD;;;GAGG;AACH,MAAM,OAAO,yBAA6B,SAAQ,cAAc;IAM5D;;;OAGG;IACH,YAAmB,MAA+C;QAC9D,KAAK,CAAC,MAAM,CAAC,CAAC;QADC,WAAM,GAAN,MAAM,CAAyC;QAG9D,8DAA8D;QAC9D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,OAAyB;QAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QACnD,IAAI,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC;SACzE;IACL,CAAC;IAEM,YAAY;QACf,OAAO,yBAAyB,CAAC,SAAS,CAAC;IAC/C,CAAC;IAEM,SAAS,CAAC,mBAAyB;QACtC,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACrC,mBAAmB,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IACvE,CAAC;;AAEa,mCAAS,GAAG,oBAAoB,CAAC;AAEnD,aAAa,CAAC,yBAAyB,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC","sourcesContent":["import type { FlowGraphContext } from \"../../flowGraphContext\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../flowGraphBlock\";\r\nimport { FlowGraphBlock } from \"../../flowGraphBlock\";\r\nimport type { FlowGraphDataConnection } from \"../../flowGraphDataConnection\";\r\nimport { RichTypeAny } from \"../../flowGraphRichTypes\";\r\nimport { RegisterClass } from \"../../../Misc/typeStore\";\r\n\r\n/**\r\n * @experimental\r\n * The configuration of the FlowGraphGetVariableBlock.\r\n */\r\nexport interface IFlowGraphGetVariableBlockConfiguration extends IFlowGraphBlockConfiguration {\r\n /**\r\n * The name of the variable to get.\r\n */\r\n variableName: string;\r\n}\r\n\r\n/**\r\n * A block that gets the value of a variable.\r\n * @experimental\r\n */\r\nexport class FlowGraphGetVariableBlock<T> extends FlowGraphBlock {\r\n /**\r\n * Output connection: The value of the variable.\r\n */\r\n public readonly output: FlowGraphDataConnection<T>;\r\n\r\n /**\r\n * Construct a FlowGraphGetVariableBlock.\r\n * @param params optional construction parameters\r\n */\r\n constructor(public config: IFlowGraphGetVariableBlockConfiguration) {\r\n super(config);\r\n\r\n // The output connection has to have the name of the variable.\r\n this.output = this.registerDataOutput(config.variableName, RichTypeAny);\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public _updateOutputs(context: FlowGraphContext): void {\r\n const variableNameValue = this.config.variableName;\r\n if (context.hasVariable(variableNameValue)) {\r\n this.output.setValue(context.getVariable(variableNameValue), context);\r\n }\r\n }\r\n\r\n public getClassName(): string {\r\n return FlowGraphGetVariableBlock.ClassName;\r\n }\r\n\r\n public serialize(serializationObject?: any): void {\r\n super.serialize(serializationObject);\r\n serializationObject.config.variableName = this.config.variableName;\r\n }\r\n\r\n public static ClassName = \"FGGetVariableBlock\";\r\n}\r\nRegisterClass(FlowGraphGetVariableBlock.ClassName, FlowGraphGetVariableBlock);\r\n"]}
|
|
@@ -10,7 +10,7 @@ import { FlowGraphCachedOperationBlock } from "./flowGraphCachedOperationBlock";
|
|
|
10
10
|
export declare class FlowGraphUnaryOperationBlock<InputT, ResultT> extends FlowGraphCachedOperationBlock<ResultT> {
|
|
11
11
|
private _operation;
|
|
12
12
|
private _className;
|
|
13
|
-
|
|
13
|
+
a: FlowGraphDataConnection<InputT>;
|
|
14
14
|
constructor(inputRichType: RichType<InputT>, resultRichType: RichType<ResultT>, _operation: (input: InputT) => ResultT, _className: string, config?: IFlowGraphBlockConfiguration);
|
|
15
15
|
_doOperation(context: FlowGraphContext): ResultT;
|
|
16
16
|
getClassName(): string;
|
|
@@ -8,10 +8,10 @@ export class FlowGraphUnaryOperationBlock extends FlowGraphCachedOperationBlock
|
|
|
8
8
|
super(resultRichType, config);
|
|
9
9
|
this._operation = _operation;
|
|
10
10
|
this._className = _className;
|
|
11
|
-
this.
|
|
11
|
+
this.a = this.registerDataInput("a", inputRichType);
|
|
12
12
|
}
|
|
13
13
|
_doOperation(context) {
|
|
14
|
-
return this._operation(this.
|
|
14
|
+
return this._operation(this.a.getValue(context));
|
|
15
15
|
}
|
|
16
16
|
getClassName() {
|
|
17
17
|
return this._className;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowGraphUnaryOperationBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF;;;GAGG;AACH,MAAM,OAAO,4BAA8C,SAAQ,6BAAsC;IAGrG,YACI,aAA+B,EAC/B,cAAiC,EACzB,UAAsC,EACtC,UAAkB,EAC1B,MAAqC;QAErC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAJtB,eAAU,GAAV,UAAU,CAA4B;QACtC,eAAU,GAAV,UAAU,CAAQ;QAI1B,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"flowGraphUnaryOperationBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF;;;GAGG;AACH,MAAM,OAAO,4BAA8C,SAAQ,6BAAsC;IAGrG,YACI,aAA+B,EAC/B,cAAiC,EACzB,UAAsC,EACtC,UAAkB,EAC1B,MAAqC;QAErC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAJtB,eAAU,GAAV,UAAU,CAA4B;QACtC,eAAU,GAAV,UAAU,CAAQ;QAI1B,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACxD,CAAC;IACe,YAAY,CAAC,OAAyB;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;CACJ","sourcesContent":["import type { FlowGraphDataConnection } from \"../../flowGraphDataConnection\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../flowGraphBlock\";\r\nimport type { RichType } from \"../../flowGraphRichTypes\";\r\nimport type { FlowGraphContext } from \"../../flowGraphContext\";\r\nimport { FlowGraphCachedOperationBlock } from \"./flowGraphCachedOperationBlock\";\r\n\r\n/**\r\n * @experimental\r\n * The base block for all unary operation blocks. Receives an input of type InputT, and outputs a value of type ResultT.\r\n */\r\nexport class FlowGraphUnaryOperationBlock<InputT, ResultT> extends FlowGraphCachedOperationBlock<ResultT> {\r\n a: FlowGraphDataConnection<InputT>;\r\n\r\n constructor(\r\n inputRichType: RichType<InputT>,\r\n resultRichType: RichType<ResultT>,\r\n private _operation: (input: InputT) => ResultT,\r\n private _className: string,\r\n config?: IFlowGraphBlockConfiguration\r\n ) {\r\n super(resultRichType, config);\r\n this.a = this.registerDataInput(\"a\", inputRichType);\r\n }\r\n public override _doOperation(context: FlowGraphContext): ResultT {\r\n return this._operation(this.a.getValue(context));\r\n }\r\n\r\n public getClassName(): string {\r\n return this._className;\r\n }\r\n}\r\n"]}
|
|
@@ -3,11 +3,15 @@ import type { FlowGraphDataConnection } from "../../../flowGraphDataConnection";
|
|
|
3
3
|
import type { FlowGraphSignalConnection } from "../../../flowGraphSignalConnection";
|
|
4
4
|
import { FlowGraphExecutionBlockWithOutSignal } from "../../../flowGraphExecutionBlockWithOutSignal";
|
|
5
5
|
import type { IFlowGraphBlockConfiguration } from "../../../flowGraphBlock";
|
|
6
|
+
import { FlowGraphInteger } from "../../../flowGraphInteger";
|
|
6
7
|
/**
|
|
7
8
|
* @experimental
|
|
8
9
|
*/
|
|
9
10
|
export interface IFlowGraphDoNBlockConfiguration extends IFlowGraphBlockConfiguration {
|
|
10
|
-
|
|
11
|
+
/**
|
|
12
|
+
* The start index for the counter.
|
|
13
|
+
*/
|
|
14
|
+
startIndex: FlowGraphInteger;
|
|
11
15
|
}
|
|
12
16
|
/**
|
|
13
17
|
* A block that executes a branch a set number of times.
|
|
@@ -22,11 +26,11 @@ export declare class FlowGraphDoNBlock extends FlowGraphExecutionBlockWithOutSig
|
|
|
22
26
|
/**
|
|
23
27
|
* Input connection: The maximum number of times the block can be executed.
|
|
24
28
|
*/
|
|
25
|
-
readonly n: FlowGraphDataConnection<
|
|
29
|
+
readonly n: FlowGraphDataConnection<FlowGraphInteger>;
|
|
26
30
|
/**
|
|
27
31
|
* Output connection: The number of times the block has been executed.
|
|
28
32
|
*/
|
|
29
|
-
readonly value: FlowGraphDataConnection<
|
|
33
|
+
readonly value: FlowGraphDataConnection<FlowGraphInteger>;
|
|
30
34
|
constructor(config?: IFlowGraphDoNBlockConfiguration);
|
|
31
35
|
_execute(context: FlowGraphContext, callingSignal: FlowGraphSignalConnection): void;
|
|
32
36
|
getClassName(): string;
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RichTypeFlowGraphInteger } from "../../../flowGraphRichTypes.js";
|
|
2
2
|
import { FlowGraphExecutionBlockWithOutSignal } from "../../../flowGraphExecutionBlockWithOutSignal.js";
|
|
3
3
|
import { RegisterClass } from "../../../../Misc/typeStore.js";
|
|
4
|
+
import { FlowGraphInteger } from "../../../flowGraphInteger.js";
|
|
4
5
|
/**
|
|
5
6
|
* A block that executes a branch a set number of times.
|
|
6
7
|
* @experimental
|
|
7
8
|
*/
|
|
8
9
|
export class FlowGraphDoNBlock extends FlowGraphExecutionBlockWithOutSignal {
|
|
9
|
-
constructor(config = { startIndex: 0 }) {
|
|
10
|
+
constructor(config = { startIndex: new FlowGraphInteger(0) }) {
|
|
10
11
|
super(config);
|
|
11
12
|
this.config = config;
|
|
12
13
|
this.reset = this._registerSignalInput("reset");
|
|
13
|
-
this.n = this.registerDataInput("n",
|
|
14
|
-
this.value = this.registerDataOutput("value",
|
|
14
|
+
this.n = this.registerDataInput("n", RichTypeFlowGraphInteger);
|
|
15
|
+
this.value = this.registerDataOutput("value", RichTypeFlowGraphInteger);
|
|
15
16
|
}
|
|
16
17
|
_execute(context, callingSignal) {
|
|
17
18
|
if (callingSignal === this.reset) {
|
|
@@ -19,8 +20,8 @@ export class FlowGraphDoNBlock extends FlowGraphExecutionBlockWithOutSignal {
|
|
|
19
20
|
}
|
|
20
21
|
else {
|
|
21
22
|
const currentCountValue = this.value.getValue(context);
|
|
22
|
-
if (currentCountValue < this.n.getValue(context)) {
|
|
23
|
-
this.value.setValue(currentCountValue + 1, context);
|
|
23
|
+
if (currentCountValue.value < this.n.getValue(context).value) {
|
|
24
|
+
this.value.setValue(new FlowGraphInteger(currentCountValue.value + 1), context);
|
|
24
25
|
this.out._activateSignal(context);
|
|
25
26
|
}
|
|
26
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowGraphDoNBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"flowGraphDoNBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,EAAE,oCAAoC,EAAE,MAAM,+CAA+C,CAAC;AACrG,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAW7D;;;GAGG;AACH,MAAM,OAAO,iBAAkB,SAAQ,oCAAoC;IAcvE,YAAmB,SAA0C,EAAE,UAAU,EAAE,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE;QAChG,KAAK,CAAC,MAAM,CAAC,CAAC;QADC,WAAM,GAAN,MAAM,CAA2E;QAEhG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;IAC5E,CAAC;IAEM,QAAQ,CAAC,OAAyB,EAAE,aAAwC;QAC/E,IAAI,aAAa,KAAK,IAAI,CAAC,KAAK,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;SACxD;aAAM;YACH,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE;gBAC1D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,iBAAiB,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAChF,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;aACrC;SACJ;IACL,CAAC;IAEM,YAAY;QACf,OAAO,iBAAiB,CAAC,SAAS,CAAC;IACvC,CAAC;;AAEa,2BAAS,GAAG,YAAY,CAAC;AAE3C,aAAa,CAAC,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC","sourcesContent":["import type { FlowGraphContext } from \"../../../flowGraphContext\";\r\nimport type { FlowGraphDataConnection } from \"../../../flowGraphDataConnection\";\r\nimport { RichTypeFlowGraphInteger } from \"../../../flowGraphRichTypes\";\r\nimport type { FlowGraphSignalConnection } from \"../../../flowGraphSignalConnection\";\r\nimport { FlowGraphExecutionBlockWithOutSignal } from \"../../../flowGraphExecutionBlockWithOutSignal\";\r\nimport { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../../flowGraphBlock\";\r\nimport { FlowGraphInteger } from \"../../../flowGraphInteger\";\r\n\r\n/**\r\n * @experimental\r\n */\r\nexport interface IFlowGraphDoNBlockConfiguration extends IFlowGraphBlockConfiguration {\r\n /**\r\n * The start index for the counter.\r\n */\r\n startIndex: FlowGraphInteger;\r\n}\r\n/**\r\n * A block that executes a branch a set number of times.\r\n * @experimental\r\n */\r\nexport class FlowGraphDoNBlock extends FlowGraphExecutionBlockWithOutSignal {\r\n /**\r\n * Input connection: Resets the counter\r\n */\r\n public readonly reset: FlowGraphSignalConnection;\r\n /**\r\n * Input connection: The maximum number of times the block can be executed.\r\n */\r\n public readonly n: FlowGraphDataConnection<FlowGraphInteger>;\r\n /**\r\n * Output connection: The number of times the block has been executed.\r\n */\r\n public readonly value: FlowGraphDataConnection<FlowGraphInteger>;\r\n\r\n constructor(public config: IFlowGraphDoNBlockConfiguration = { startIndex: new FlowGraphInteger(0) }) {\r\n super(config);\r\n this.reset = this._registerSignalInput(\"reset\");\r\n this.n = this.registerDataInput(\"n\", RichTypeFlowGraphInteger);\r\n this.value = this.registerDataOutput(\"value\", RichTypeFlowGraphInteger);\r\n }\r\n\r\n public _execute(context: FlowGraphContext, callingSignal: FlowGraphSignalConnection): void {\r\n if (callingSignal === this.reset) {\r\n this.value.setValue(this.config.startIndex, context);\r\n } else {\r\n const currentCountValue = this.value.getValue(context);\r\n if (currentCountValue.value < this.n.getValue(context).value) {\r\n this.value.setValue(new FlowGraphInteger(currentCountValue.value + 1), context);\r\n this.out._activateSignal(context);\r\n }\r\n }\r\n }\r\n\r\n public getClassName(): string {\r\n return FlowGraphDoNBlock.ClassName;\r\n }\r\n\r\n public static ClassName = \"FGDoNBlock\";\r\n}\r\nRegisterClass(FlowGraphDoNBlock.ClassName, FlowGraphDoNBlock);\r\n"]}
|
|
@@ -2,11 +2,25 @@ import type { IFlowGraphBlockConfiguration } from "../../../flowGraphBlock";
|
|
|
2
2
|
import type { FlowGraphContext } from "../../../flowGraphContext";
|
|
3
3
|
import { FlowGraphExecutionBlock } from "../../../flowGraphExecutionBlock";
|
|
4
4
|
import type { FlowGraphSignalConnection } from "../../../flowGraphSignalConnection";
|
|
5
|
+
/**
|
|
6
|
+
* @experimental
|
|
7
|
+
* Configuration for the sequence block.
|
|
8
|
+
*/
|
|
5
9
|
export interface IFlowGraphSequenceBlockConfiguration extends IFlowGraphBlockConfiguration {
|
|
10
|
+
/**
|
|
11
|
+
* The number of output flows.
|
|
12
|
+
*/
|
|
6
13
|
numberOutputFlows: number;
|
|
7
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* @experimental
|
|
17
|
+
* A block that executes its output flows in sequence.
|
|
18
|
+
*/
|
|
8
19
|
export declare class FlowGraphSequenceBlock extends FlowGraphExecutionBlock {
|
|
9
20
|
config: IFlowGraphSequenceBlockConfiguration;
|
|
21
|
+
/**
|
|
22
|
+
* The output flows.
|
|
23
|
+
*/
|
|
10
24
|
outFlows: FlowGraphSignalConnection[];
|
|
11
25
|
constructor(config: IFlowGraphSequenceBlockConfiguration);
|
|
12
26
|
configure(): void;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { RegisterClass } from "../../../../Misc/typeStore.js";
|
|
2
2
|
import { FlowGraphExecutionBlock } from "../../../flowGraphExecutionBlock.js";
|
|
3
|
+
/**
|
|
4
|
+
* @experimental
|
|
5
|
+
* A block that executes its output flows in sequence.
|
|
6
|
+
*/
|
|
3
7
|
export class FlowGraphSequenceBlock extends FlowGraphExecutionBlock {
|
|
4
8
|
constructor(config) {
|
|
5
9
|
super(config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowGraphSequenceBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"flowGraphSequenceBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAc3E;;;GAGG;AACH,MAAM,OAAO,sBAAuB,SAAQ,uBAAuB;IAM/D,YAAmB,MAA4C;QAC3D,KAAK,CAAC,MAAM,CAAC,CAAC;QADC,WAAM,GAAN,MAAM,CAAsC;IAE/D,CAAC;IAEM,SAAS;QACZ,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE;YACpD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;SAC1D;IACL,CAAC;IAEM,QAAQ,CAAC,OAAyB;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE;YACpD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;SAC7C;IACL,CAAC;IAEM,YAAY;QACf,OAAO,sBAAsB,CAAC,SAAS,CAAC;IAC5C,CAAC;;AAEa,gCAAS,GAAG,iBAAiB,CAAC;AAEhD,aAAa,CAAC,sBAAsB,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC","sourcesContent":["import { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../../flowGraphBlock\";\r\nimport type { FlowGraphContext } from \"../../../flowGraphContext\";\r\nimport { FlowGraphExecutionBlock } from \"../../../flowGraphExecutionBlock\";\r\nimport type { FlowGraphSignalConnection } from \"../../../flowGraphSignalConnection\";\r\n\r\n/**\r\n * @experimental\r\n * Configuration for the sequence block.\r\n */\r\nexport interface IFlowGraphSequenceBlockConfiguration extends IFlowGraphBlockConfiguration {\r\n /**\r\n * The number of output flows.\r\n */\r\n numberOutputFlows: number;\r\n}\r\n\r\n/**\r\n * @experimental\r\n * A block that executes its output flows in sequence.\r\n */\r\nexport class FlowGraphSequenceBlock extends FlowGraphExecutionBlock {\r\n /**\r\n * The output flows.\r\n */\r\n public outFlows: FlowGraphSignalConnection[];\r\n\r\n constructor(public config: IFlowGraphSequenceBlockConfiguration) {\r\n super(config);\r\n }\r\n\r\n public configure(): void {\r\n super.configure();\r\n this.outFlows = [];\r\n for (let i = 0; i < this.config.numberOutputFlows; i++) {\r\n this.outFlows.push(this._registerSignalOutput(`${i}`));\r\n }\r\n }\r\n\r\n public _execute(context: FlowGraphContext) {\r\n for (let i = 0; i < this.config.numberOutputFlows; i++) {\r\n this.outFlows[i]._activateSignal(context);\r\n }\r\n }\r\n\r\n public getClassName(): string {\r\n return FlowGraphSequenceBlock.ClassName;\r\n }\r\n\r\n public static ClassName = \"FGSequenceBlock\";\r\n}\r\nRegisterClass(FlowGraphSequenceBlock.ClassName, FlowGraphSequenceBlock);\r\n"]}
|