@babylonjs/core 7.51.1 → 7.51.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Animations/animation.js +2 -1
- package/Animations/animation.js.map +1 -1
- package/Buffers/bufferUtils.d.ts +7 -5
- package/Buffers/bufferUtils.js +13 -9
- package/Buffers/bufferUtils.js.map +1 -1
- package/Engines/abstractEngine.js +2 -2
- package/Engines/abstractEngine.js.map +1 -1
- package/Engines/constants.d.ts +32 -0
- package/Engines/constants.js +33 -0
- package/Engines/constants.js.map +1 -1
- package/Engines/webgpuEngine.js +6 -3
- package/Engines/webgpuEngine.js.map +1 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.d.ts +148 -465
- package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.js +394 -691
- package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.js.map +1 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphMathCombineExtractBlocks.d.ts +142 -0
- package/FlowGraph/Blocks/Data/Math/flowGraphMathCombineExtractBlocks.js +342 -0
- package/FlowGraph/Blocks/Data/Math/flowGraphMathCombineExtractBlocks.js.map +1 -0
- package/FlowGraph/Blocks/Data/Math/flowGraphMatrixMathBlocks.d.ts +107 -0
- package/FlowGraph/Blocks/Data/Math/flowGraphMatrixMathBlocks.js +130 -0
- package/FlowGraph/Blocks/Data/Math/flowGraphMatrixMathBlocks.js.map +1 -0
- package/FlowGraph/Blocks/Data/Math/flowGraphVectorMathBlocks.d.ts +77 -0
- package/FlowGraph/Blocks/Data/Math/flowGraphVectorMathBlocks.js +139 -0
- package/FlowGraph/Blocks/Data/Math/flowGraphVectorMathBlocks.js.map +1 -0
- package/FlowGraph/Blocks/Data/Math/index.d.ts +3 -0
- package/FlowGraph/Blocks/Data/Math/index.js +3 -0
- package/FlowGraph/Blocks/Data/Math/index.js.map +1 -1
- package/FlowGraph/Blocks/Data/Transformers/flowGraphJsonPointerParserBlock.d.ts +85 -0
- package/FlowGraph/Blocks/Data/Transformers/flowGraphJsonPointerParserBlock.js +133 -0
- package/FlowGraph/Blocks/Data/Transformers/flowGraphJsonPointerParserBlock.js.map +1 -0
- package/FlowGraph/Blocks/Data/Transformers/flowGraphTypeToTypeBlocks.d.ts +49 -0
- package/FlowGraph/Blocks/Data/Transformers/flowGraphTypeToTypeBlocks.js +71 -0
- package/FlowGraph/Blocks/Data/Transformers/flowGraphTypeToTypeBlocks.js.map +1 -0
- package/FlowGraph/Blocks/Data/Transformers/index.d.ts +2 -0
- package/FlowGraph/Blocks/Data/Transformers/index.js +3 -0
- package/FlowGraph/Blocks/Data/Transformers/index.js.map +1 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphArrayIndexBlock.d.ts +39 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphArrayIndexBlock.js +46 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphArrayIndexBlock.js.map +1 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphCodeExecutionBlock.d.ts +35 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphCodeExecutionBlock.js +34 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphCodeExecutionBlock.js.map +1 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphContextBlock.d.ts +20 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphContextBlock.js +25 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphContextBlock.js.map +1 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphFunctionReferenceBlock.d.ts +34 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphFunctionReferenceBlock.js +35 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphFunctionReferenceBlock.js.map +1 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphIndexOfBlock.d.ts +39 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphIndexOfBlock.js +42 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphIndexOfBlock.js.map +1 -0
- package/FlowGraph/Blocks/Data/Utils/index.d.ts +5 -0
- package/FlowGraph/Blocks/Data/Utils/index.js +6 -0
- package/FlowGraph/Blocks/Data/Utils/index.js.map +1 -0
- package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.d.ts +0 -1
- package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.js +3 -2
- package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.d.ts +1 -1
- package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.js +4 -4
- package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphConditionalDataBlock.d.ts +6 -3
- package/FlowGraph/Blocks/Data/flowGraphConditionalDataBlock.js +12 -6
- package/FlowGraph/Blocks/Data/flowGraphConditionalDataBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphConstantBlock.d.ts +0 -2
- package/FlowGraph/Blocks/Data/flowGraphConstantBlock.js +2 -3
- package/FlowGraph/Blocks/Data/flowGraphConstantBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphConstantOperationBlock.d.ts +5 -4
- package/FlowGraph/Blocks/Data/flowGraphConstantOperationBlock.js +5 -4
- package/FlowGraph/Blocks/Data/flowGraphConstantOperationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphGetAssetBlock.d.ts +62 -0
- package/FlowGraph/Blocks/Data/flowGraphGetAssetBlock.js +41 -0
- package/FlowGraph/Blocks/Data/flowGraphGetAssetBlock.js.map +1 -0
- package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.d.ts +38 -33
- package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.js +42 -25
- package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.d.ts +11 -16
- package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.js +9 -17
- package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphTernaryOperationBlock.d.ts +1 -1
- package/FlowGraph/Blocks/Data/flowGraphTernaryOperationBlock.js +1 -1
- package/FlowGraph/Blocks/Data/flowGraphTernaryOperationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/{flowGraphCoordinateTransformBlock.d.ts → flowGraphTransformCoordinatesSystemBlock.d.ts} +1 -2
- package/FlowGraph/Blocks/Data/{flowGraphCoordinateTransformBlock.js → flowGraphTransformCoordinatesSystemBlock.js} +4 -5
- package/FlowGraph/Blocks/Data/flowGraphTransformCoordinatesSystemBlock.js.map +1 -0
- package/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.d.ts +1 -1
- package/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.js +1 -1
- package/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/index.d.ts +7 -3
- package/FlowGraph/Blocks/Data/index.js +9 -4
- package/FlowGraph/Blocks/Data/index.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.d.ts +45 -24
- package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.js +45 -51
- package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphPointerOutEventBlock.d.ts +61 -0
- package/FlowGraph/Blocks/Event/flowGraphPointerOutEventBlock.js +39 -0
- package/FlowGraph/Blocks/Event/flowGraphPointerOutEventBlock.js.map +1 -0
- package/FlowGraph/Blocks/Event/flowGraphPointerOverEventBlock.d.ts +61 -0
- package/FlowGraph/Blocks/Event/flowGraphPointerOverEventBlock.js +40 -0
- package/FlowGraph/Blocks/Event/flowGraphPointerOverEventBlock.js.map +1 -0
- package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.d.ts +12 -14
- package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.js +19 -26
- package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.d.ts +6 -12
- package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.js +13 -24
- package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.d.ts +31 -7
- package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.js +22 -20
- package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.js.map +1 -1
- package/FlowGraph/Blocks/{Execution → Event}/flowGraphSendCustomEventBlock.d.ts +12 -7
- package/FlowGraph/Blocks/Event/flowGraphSendCustomEventBlock.js +39 -0
- package/FlowGraph/Blocks/Event/flowGraphSendCustomEventBlock.js.map +1 -0
- package/FlowGraph/Blocks/Event/index.d.ts +3 -0
- package/FlowGraph/Blocks/Event/index.js +3 -0
- package/FlowGraph/Blocks/Event/index.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphBezierCurveEasingBlock.d.ts +44 -0
- package/FlowGraph/Blocks/Execution/Animation/flowGraphBezierCurveEasingBlock.js +46 -0
- package/FlowGraph/Blocks/Execution/Animation/flowGraphBezierCurveEasingBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/Animation/flowGraphEasingBlock.d.ts +60 -0
- package/FlowGraph/Blocks/Execution/Animation/flowGraphEasingBlock.js +93 -0
- package/FlowGraph/Blocks/Execution/Animation/flowGraphEasingBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.d.ts +82 -0
- package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.js +105 -0
- package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.d.ts +2 -2
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.js +2 -2
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.d.ts +40 -42
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.js +116 -50
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.d.ts +12 -4
- package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.js +86 -8
- package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Animation/index.d.ts +3 -0
- package/FlowGraph/Blocks/Execution/Animation/index.js +3 -0
- package/FlowGraph/Blocks/Execution/Animation/index.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphBranchBlock.d.ts +1 -2
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphBranchBlock.js +3 -4
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphBranchBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/{Audio/flowGraphStopAudioBlock.d.ts → ControlFlow/flowGraphCancelDelayBlock.d.ts} +6 -8
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCancelDelayBlock.js +31 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCancelDelayBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.d.ts +2 -2
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.js +5 -5
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.d.ts +0 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.js +2 -3
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.d.ts +5 -10
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.js +11 -15
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphFlipFlopBlock.d.ts +11 -3
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphFlipFlopBlock.js +5 -6
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphFlipFlopBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.d.ts +27 -7
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.js +28 -30
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphMultiGateBlock.d.ts +13 -16
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphMultiGateBlock.js +50 -52
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphMultiGateBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.d.ts +8 -9
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.js +26 -13
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSetDelayBlock.d.ts +32 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSetDelayBlock.js +84 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSetDelayBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSwitchBlock.d.ts +20 -6
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSwitchBlock.js +55 -16
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSwitchBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.d.ts +3 -4
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.js +36 -13
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.d.ts +13 -5
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.js +22 -17
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.d.ts +12 -16
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.js +21 -21
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/index.d.ts +2 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/index.js +2 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/index.js.map +1 -1
- package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.d.ts +4 -5
- package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.js +13 -8
- package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.d.ts +33 -36
- package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.js +42 -26
- package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.d.ts +10 -25
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js +38 -24
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/index.d.ts +0 -3
- package/FlowGraph/Blocks/Execution/index.js +0 -3
- package/FlowGraph/Blocks/Execution/index.js.map +1 -1
- package/FlowGraph/Blocks/flowGraphBlockFactory.d.ts +16 -0
- package/FlowGraph/Blocks/flowGraphBlockFactory.js +292 -0
- package/FlowGraph/Blocks/flowGraphBlockFactory.js.map +1 -0
- package/FlowGraph/Blocks/flowGraphBlockNames.d.ts +145 -0
- package/FlowGraph/Blocks/flowGraphBlockNames.js +147 -0
- package/FlowGraph/Blocks/flowGraphBlockNames.js.map +1 -0
- package/FlowGraph/Blocks/index.d.ts +2 -0
- package/FlowGraph/Blocks/index.js +2 -0
- package/FlowGraph/Blocks/index.js.map +1 -1
- package/FlowGraph/{flowGraphInteger.d.ts → CustomTypes/flowGraphInteger.d.ts} +2 -3
- package/FlowGraph/{flowGraphInteger.js → CustomTypes/flowGraphInteger.js} +4 -5
- package/FlowGraph/CustomTypes/flowGraphInteger.js.map +1 -0
- package/FlowGraph/CustomTypes/flowGraphMatrix.d.ts +196 -0
- package/FlowGraph/CustomTypes/flowGraphMatrix.js +272 -0
- package/FlowGraph/CustomTypes/flowGraphMatrix.js.map +1 -0
- package/FlowGraph/CustomTypes/index.d.ts +2 -0
- package/FlowGraph/CustomTypes/index.js +3 -0
- package/FlowGraph/CustomTypes/index.js.map +1 -0
- package/FlowGraph/flowGraph.d.ts +29 -34
- package/FlowGraph/flowGraph.js +120 -104
- package/FlowGraph/flowGraph.js.map +1 -1
- package/FlowGraph/flowGraphAssetsContext.d.ts +29 -0
- package/FlowGraph/flowGraphAssetsContext.js +52 -0
- package/FlowGraph/flowGraphAssetsContext.js.map +1 -0
- package/FlowGraph/flowGraphAsyncExecutionBlock.d.ts +15 -8
- package/FlowGraph/flowGraphAsyncExecutionBlock.js +25 -5
- package/FlowGraph/flowGraphAsyncExecutionBlock.js.map +1 -1
- package/FlowGraph/flowGraphBlock.d.ts +22 -15
- package/FlowGraph/flowGraphBlock.js +31 -52
- package/FlowGraph/flowGraphBlock.js.map +1 -1
- package/FlowGraph/flowGraphConnection.d.ts +13 -12
- package/FlowGraph/flowGraphConnection.js +31 -16
- package/FlowGraph/flowGraphConnection.js.map +1 -1
- package/FlowGraph/flowGraphContext.d.ts +89 -13
- package/FlowGraph/flowGraphContext.js +210 -23
- package/FlowGraph/flowGraphContext.js.map +1 -1
- package/FlowGraph/flowGraphCoordinator.d.ts +4 -10
- package/FlowGraph/flowGraphCoordinator.js +4 -16
- package/FlowGraph/flowGraphCoordinator.js.map +1 -1
- package/FlowGraph/flowGraphDataConnection.d.ts +52 -14
- package/FlowGraph/flowGraphDataConnection.js +73 -26
- package/FlowGraph/flowGraphDataConnection.js.map +1 -1
- package/FlowGraph/flowGraphEventBlock.d.ts +17 -1
- package/FlowGraph/flowGraphEventBlock.js +13 -2
- package/FlowGraph/flowGraphEventBlock.js.map +1 -1
- package/FlowGraph/flowGraphEventType.d.ts +16 -0
- package/FlowGraph/flowGraphEventType.js +18 -0
- package/FlowGraph/flowGraphEventType.js.map +1 -0
- package/FlowGraph/flowGraphExecutionBlock.d.ts +11 -1
- package/FlowGraph/flowGraphExecutionBlock.js +21 -2
- package/FlowGraph/flowGraphExecutionBlock.js.map +1 -1
- package/FlowGraph/flowGraphExecutionBlockWithOutSignal.d.ts +2 -2
- package/FlowGraph/flowGraphExecutionBlockWithOutSignal.js +0 -1
- package/FlowGraph/flowGraphExecutionBlockWithOutSignal.js.map +1 -1
- package/FlowGraph/flowGraphLogger.d.ts +60 -0
- package/FlowGraph/flowGraphLogger.js +53 -0
- package/FlowGraph/flowGraphLogger.js.map +1 -0
- package/FlowGraph/flowGraphParser.d.ts +85 -0
- package/FlowGraph/flowGraphParser.js +271 -0
- package/FlowGraph/flowGraphParser.js.map +1 -0
- package/FlowGraph/flowGraphPathConverter.d.ts +1 -1
- package/FlowGraph/flowGraphPathConverter.js +3 -2
- package/FlowGraph/flowGraphPathConverter.js.map +1 -1
- package/FlowGraph/flowGraphPathConverterComponent.d.ts +8 -1
- package/FlowGraph/flowGraphPathConverterComponent.js +18 -2
- package/FlowGraph/flowGraphPathConverterComponent.js.map +1 -1
- package/FlowGraph/flowGraphRichTypes.d.ts +51 -9
- package/FlowGraph/flowGraphRichTypes.js +160 -50
- package/FlowGraph/flowGraphRichTypes.js.map +1 -1
- package/FlowGraph/flowGraphSceneEventCoordinator.d.ts +45 -0
- package/FlowGraph/flowGraphSceneEventCoordinator.js +77 -0
- package/FlowGraph/flowGraphSceneEventCoordinator.js.map +1 -0
- package/FlowGraph/flowGraphSignalConnection.d.ts +8 -5
- package/FlowGraph/flowGraphSignalConnection.js +26 -9
- package/FlowGraph/flowGraphSignalConnection.js.map +1 -1
- package/FlowGraph/index.d.ts +6 -1
- package/FlowGraph/index.js +7 -1
- package/FlowGraph/index.js.map +1 -1
- package/FlowGraph/serialization.d.ts +5 -2
- package/FlowGraph/serialization.js +94 -22
- package/FlowGraph/serialization.js.map +1 -1
- package/FlowGraph/typeDefinitions.d.ts +74 -12
- package/FlowGraph/typeDefinitions.js.map +1 -1
- package/FlowGraph/utils.d.ts +47 -0
- package/FlowGraph/utils.js +55 -0
- package/FlowGraph/utils.js.map +1 -1
- package/Maths/math.path.js +3 -0
- package/Maths/math.path.js.map +1 -1
- package/Meshes/geometry.d.ts +2 -1
- package/Meshes/geometry.js +8 -2
- package/Meshes/geometry.js.map +1 -1
- package/Meshes/mesh.d.ts +2 -1
- package/Meshes/mesh.js +3 -2
- package/Meshes/mesh.js.map +1 -1
- package/ObjectModel/objectModelInterfaces.d.ts +2 -2
- package/ObjectModel/objectModelInterfaces.js.map +1 -1
- package/package.json +1 -1
- package/FlowGraph/Blocks/Data/Logic/flowGraphLogicBlocks.d.ts +0 -24
- package/FlowGraph/Blocks/Data/Logic/flowGraphLogicBlocks.js +0 -39
- package/FlowGraph/Blocks/Data/Logic/flowGraphLogicBlocks.js.map +0 -1
- package/FlowGraph/Blocks/Data/Logic/index.d.ts +0 -1
- package/FlowGraph/Blocks/Data/Logic/index.js +0 -2
- package/FlowGraph/Blocks/Data/Logic/index.js.map +0 -1
- package/FlowGraph/Blocks/Data/flowGraphCoordinateTransformBlock.js.map +0 -1
- package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.d.ts +0 -19
- package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.js +0 -26
- package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.js.map +0 -1
- package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.js +0 -25
- package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.js.map +0 -1
- package/FlowGraph/Blocks/Execution/Audio/index.d.ts +0 -2
- package/FlowGraph/Blocks/Execution/Audio/index.js +0 -3
- package/FlowGraph/Blocks/Execution/Audio/index.js.map +0 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.d.ts +0 -31
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.js +0 -69
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.js.map +0 -1
- package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.js +0 -38
- package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.js.map +0 -1
- package/FlowGraph/flowGraphContextLogger.d.ts +0 -9
- package/FlowGraph/flowGraphContextLogger.js +0 -14
- package/FlowGraph/flowGraphContextLogger.js.map +0 -1
- package/FlowGraph/flowGraphInteger.js.map +0 -1
|
@@ -3,46 +3,41 @@ import type { IFlowGraphBlockConfiguration } from "../../flowGraphBlock";
|
|
|
3
3
|
import { FlowGraphBlock } from "../../flowGraphBlock";
|
|
4
4
|
import type { FlowGraphDataConnection } from "../../flowGraphDataConnection";
|
|
5
5
|
/**
|
|
6
|
-
* @experimental
|
|
7
6
|
* The configuration of the FlowGraphGetVariableBlock.
|
|
8
7
|
*/
|
|
9
|
-
export interface IFlowGraphGetVariableBlockConfiguration extends IFlowGraphBlockConfiguration {
|
|
8
|
+
export interface IFlowGraphGetVariableBlockConfiguration<T> extends IFlowGraphBlockConfiguration {
|
|
10
9
|
/**
|
|
11
10
|
* The name of the variable to get.
|
|
12
11
|
*/
|
|
13
|
-
|
|
12
|
+
variable: string;
|
|
13
|
+
/**
|
|
14
|
+
* The initial value of the variable.
|
|
15
|
+
*/
|
|
16
|
+
initialValue?: T;
|
|
14
17
|
}
|
|
15
18
|
/**
|
|
16
19
|
* A block that gets the value of a variable.
|
|
17
|
-
*
|
|
20
|
+
* Variables are an stored in the context of the flow graph.
|
|
18
21
|
*/
|
|
19
22
|
export declare class FlowGraphGetVariableBlock<T> extends FlowGraphBlock {
|
|
20
|
-
config: IFlowGraphGetVariableBlockConfiguration
|
|
23
|
+
config: IFlowGraphGetVariableBlockConfiguration<T>;
|
|
21
24
|
/**
|
|
22
25
|
* Output connection: The value of the variable.
|
|
23
26
|
*/
|
|
24
|
-
readonly
|
|
27
|
+
readonly value: FlowGraphDataConnection<T>;
|
|
25
28
|
/**
|
|
26
29
|
* Construct a FlowGraphGetVariableBlock.
|
|
27
30
|
* @param config construction parameters
|
|
28
31
|
*/
|
|
29
|
-
constructor(config: IFlowGraphGetVariableBlockConfiguration);
|
|
32
|
+
constructor(config: IFlowGraphGetVariableBlockConfiguration<T>);
|
|
30
33
|
/**
|
|
31
34
|
* @internal
|
|
32
35
|
*/
|
|
33
36
|
_updateOutputs(context: FlowGraphContext): void;
|
|
34
|
-
/**
|
|
35
|
-
* Gets the class name of this block
|
|
36
|
-
* @returns the class name
|
|
37
|
-
*/
|
|
38
|
-
getClassName(): string;
|
|
39
37
|
/**
|
|
40
38
|
* Serializes this block
|
|
41
39
|
* @param serializationObject the object to serialize to
|
|
42
40
|
*/
|
|
43
41
|
serialize(serializationObject?: any): void;
|
|
44
|
-
|
|
45
|
-
* Class name of the block.
|
|
46
|
-
*/
|
|
47
|
-
static ClassName: string;
|
|
42
|
+
getClassName(): string;
|
|
48
43
|
}
|
|
@@ -3,7 +3,7 @@ import { RichTypeAny } from "../../flowGraphRichTypes.js";
|
|
|
3
3
|
import { RegisterClass } from "../../../Misc/typeStore.js";
|
|
4
4
|
/**
|
|
5
5
|
* A block that gets the value of a variable.
|
|
6
|
-
*
|
|
6
|
+
* Variables are an stored in the context of the flow graph.
|
|
7
7
|
*/
|
|
8
8
|
export class FlowGraphGetVariableBlock extends FlowGraphBlock {
|
|
9
9
|
/**
|
|
@@ -14,36 +14,28 @@ export class FlowGraphGetVariableBlock extends FlowGraphBlock {
|
|
|
14
14
|
super(config);
|
|
15
15
|
this.config = config;
|
|
16
16
|
// The output connection has to have the name of the variable.
|
|
17
|
-
this.
|
|
17
|
+
this.value = this.registerDataOutput("value", RichTypeAny, config.initialValue);
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
20
|
* @internal
|
|
21
21
|
*/
|
|
22
22
|
_updateOutputs(context) {
|
|
23
|
-
const variableNameValue = this.config.
|
|
23
|
+
const variableNameValue = this.config.variable;
|
|
24
24
|
if (context.hasVariable(variableNameValue)) {
|
|
25
|
-
this.
|
|
25
|
+
this.value.setValue(context.getVariable(variableNameValue), context);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
/**
|
|
29
|
-
* Gets the class name of this block
|
|
30
|
-
* @returns the class name
|
|
31
|
-
*/
|
|
32
|
-
getClassName() {
|
|
33
|
-
return FlowGraphGetVariableBlock.ClassName;
|
|
34
|
-
}
|
|
35
28
|
/**
|
|
36
29
|
* Serializes this block
|
|
37
30
|
* @param serializationObject the object to serialize to
|
|
38
31
|
*/
|
|
39
32
|
serialize(serializationObject) {
|
|
40
33
|
super.serialize(serializationObject);
|
|
41
|
-
serializationObject.config.
|
|
34
|
+
serializationObject.config.variable = this.config.variable;
|
|
35
|
+
}
|
|
36
|
+
getClassName() {
|
|
37
|
+
return "FlowGraphGetVariableBlock" /* FlowGraphBlockNames.GetVariable */;
|
|
42
38
|
}
|
|
43
39
|
}
|
|
44
|
-
|
|
45
|
-
* Class name of the block.
|
|
46
|
-
*/
|
|
47
|
-
FlowGraphGetVariableBlock.ClassName = "FGGetVariableBlock";
|
|
48
|
-
RegisterClass(FlowGraphGetVariableBlock.ClassName, FlowGraphGetVariableBlock);
|
|
40
|
+
RegisterClass("FlowGraphGetVariableBlock" /* FlowGraphBlockNames.GetVariable */, FlowGraphGetVariableBlock);
|
|
49
41
|
//# sourceMappingURL=flowGraphGetVariableBlock.js.map
|
|
@@ -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;AAkBxD;;;GAGG;AACH,MAAM,OAAO,yBAA6B,SAAQ,cAAc;IAM5D;;;OAGG;IACH,YAA4B,MAAkD;QAC1E,KAAK,CAAC,MAAM,CAAC,CAAC;QADU,WAAM,GAAN,MAAM,CAA4C;QAG1E,8DAA8D;QAC9D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACpF,CAAC;IAED;;OAEG;IACa,cAAc,CAAC,OAAyB;QACpD,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC/C,IAAI,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC;QACzE,CAAC;IACL,CAAC;IAED;;;OAGG;IACa,SAAS,CAAC,mBAAyB;QAC/C,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACrC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC/D,CAAC;IAEe,YAAY;QACxB,yEAAuC;IAC3C,CAAC;CACJ;AAED,aAAa,oEAAkC,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\nimport { FlowGraphBlockNames } from \"../flowGraphBlockNames\";\r\n\r\n/**\r\n * The configuration of the FlowGraphGetVariableBlock.\r\n */\r\nexport interface IFlowGraphGetVariableBlockConfiguration<T> extends IFlowGraphBlockConfiguration {\r\n /**\r\n * The name of the variable to get.\r\n */\r\n variable: string;\r\n\r\n /**\r\n * The initial value of the variable.\r\n */\r\n initialValue?: T;\r\n}\r\n\r\n/**\r\n * A block that gets the value of a variable.\r\n * Variables are an stored in the context of the flow graph.\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 value: FlowGraphDataConnection<T>;\r\n\r\n /**\r\n * Construct a FlowGraphGetVariableBlock.\r\n * @param config construction parameters\r\n */\r\n constructor(public override config: IFlowGraphGetVariableBlockConfiguration<T>) {\r\n super(config);\r\n\r\n // The output connection has to have the name of the variable.\r\n this.value = this.registerDataOutput(\"value\", RichTypeAny, config.initialValue);\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public override _updateOutputs(context: FlowGraphContext): void {\r\n const variableNameValue = this.config.variable;\r\n if (context.hasVariable(variableNameValue)) {\r\n this.value.setValue(context.getVariable(variableNameValue), context);\r\n }\r\n }\r\n\r\n /**\r\n * Serializes this block\r\n * @param serializationObject the object to serialize to\r\n */\r\n public override serialize(serializationObject?: any): void {\r\n super.serialize(serializationObject);\r\n serializationObject.config.variable = this.config.variable;\r\n }\r\n\r\n public override getClassName(): string {\r\n return FlowGraphBlockNames.GetVariable;\r\n }\r\n}\r\n\r\nRegisterClass(FlowGraphBlockNames.GetVariable, FlowGraphGetVariableBlock);\r\n"]}
|
|
@@ -4,7 +4,7 @@ import type { FlowGraphContext } from "../../flowGraphContext";
|
|
|
4
4
|
import type { IFlowGraphBlockConfiguration } from "../../flowGraphBlock";
|
|
5
5
|
import { FlowGraphCachedOperationBlock } from "./flowGraphCachedOperationBlock";
|
|
6
6
|
/**
|
|
7
|
-
* @
|
|
7
|
+
* @internal
|
|
8
8
|
* The base block for all ternary operation blocks.
|
|
9
9
|
*/
|
|
10
10
|
export declare class FlowGraphTernaryOperationBlock<T1, T2, T3, ResultT> extends FlowGraphCachedOperationBlock<ResultT> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowGraphTernaryOperationBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphTernaryOperationBlock.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF;;;GAGG;AACH,MAAM,OAAO,8BAAoD,SAAQ,6BAAsC;IAc3G,YACI,MAAoB,EACpB,MAAoB,EACpB,MAAoB,EACpB,cAAiC,EACzB,UAA4C,EAC5C,UAAkB,EAC1B,MAAqC;QAErC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAJtB,eAAU,GAAV,UAAU,CAAkC;QAC5C,eAAU,GAAV,UAAU,CAAQ;QAI1B,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACa,YAAY,CAAC,OAAyB;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACzG,CAAC;IAED;;;OAGG;IACa,YAAY;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;CACJ","sourcesContent":["import type { FlowGraphDataConnection } from \"../../flowGraphDataConnection\";\r\nimport type { RichType } from \"../../flowGraphRichTypes\";\r\nimport type { FlowGraphContext } from \"../../flowGraphContext\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../flowGraphBlock\";\r\nimport { FlowGraphCachedOperationBlock } from \"./flowGraphCachedOperationBlock\";\r\n/**\r\n * @
|
|
1
|
+
{"version":3,"file":"flowGraphTernaryOperationBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphTernaryOperationBlock.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF;;;GAGG;AACH,MAAM,OAAO,8BAAoD,SAAQ,6BAAsC;IAc3G,YACI,MAAoB,EACpB,MAAoB,EACpB,MAAoB,EACpB,cAAiC,EACzB,UAA4C,EAC5C,UAAkB,EAC1B,MAAqC;QAErC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAJtB,eAAU,GAAV,UAAU,CAAkC;QAC5C,eAAU,GAAV,UAAU,CAAQ;QAI1B,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACa,YAAY,CAAC,OAAyB;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACzG,CAAC;IAED;;;OAGG;IACa,YAAY;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;CACJ","sourcesContent":["import type { FlowGraphDataConnection } from \"../../flowGraphDataConnection\";\r\nimport type { RichType } from \"../../flowGraphRichTypes\";\r\nimport type { FlowGraphContext } from \"../../flowGraphContext\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../flowGraphBlock\";\r\nimport { FlowGraphCachedOperationBlock } from \"./flowGraphCachedOperationBlock\";\r\n/**\r\n * @internal\r\n * The base block for all ternary operation blocks.\r\n */\r\nexport class FlowGraphTernaryOperationBlock<T1, T2, T3, ResultT> extends FlowGraphCachedOperationBlock<ResultT> {\r\n /**\r\n * First input of this block\r\n */\r\n a: FlowGraphDataConnection<T1>;\r\n /**\r\n * Second input of this block\r\n */\r\n b: FlowGraphDataConnection<T2>;\r\n /**\r\n * Third input of this block\r\n */\r\n c: FlowGraphDataConnection<T3>;\r\n\r\n constructor(\r\n t1Type: RichType<T1>,\r\n t2Type: RichType<T2>,\r\n t3Type: RichType<T3>,\r\n resultRichType: RichType<ResultT>,\r\n private _operation: (a: T1, b: T2, c: T3) => ResultT,\r\n private _className: string,\r\n config?: IFlowGraphBlockConfiguration\r\n ) {\r\n super(resultRichType, config);\r\n this.a = this.registerDataInput(\"a\", t1Type);\r\n this.b = this.registerDataInput(\"b\", t2Type);\r\n this.c = this.registerDataInput(\"c\", t3Type);\r\n }\r\n\r\n /**\r\n * the operation performed by this block\r\n * @param context the graph context\r\n * @returns the result of the operation\r\n */\r\n public override _doOperation(context: FlowGraphContext): ResultT {\r\n return this._operation(this.a.getValue(context), this.b.getValue(context), this.c.getValue(context));\r\n }\r\n\r\n /**\r\n * Gets the class name of this block\r\n * @returns the class name\r\n */\r\n public override getClassName(): string {\r\n return this._className;\r\n }\r\n}\r\n"]}
|
|
@@ -5,10 +5,9 @@ import { Vector3 } from "../../../Maths/math.vector";
|
|
|
5
5
|
import type { TransformNode } from "../../../Meshes/transformNode";
|
|
6
6
|
import type { IFlowGraphBlockConfiguration } from "../../flowGraphBlock";
|
|
7
7
|
/**
|
|
8
|
-
* @experimental
|
|
9
8
|
* This blocks transforms a vector from one coordinate system to another.
|
|
10
9
|
*/
|
|
11
|
-
export declare class
|
|
10
|
+
export declare class FlowGraphTransformCoordinatesSystemBlock extends FlowGraphBlock {
|
|
12
11
|
/**
|
|
13
12
|
* Input connection: The source coordinate system.
|
|
14
13
|
*/
|
|
@@ -3,10 +3,9 @@ import { RichTypeAny, RichTypeVector3 } from "../../flowGraphRichTypes.js";
|
|
|
3
3
|
import { TmpVectors, Vector3 } from "../../../Maths/math.vector.js";
|
|
4
4
|
import { RegisterClass } from "../../../Misc/typeStore.js";
|
|
5
5
|
/**
|
|
6
|
-
* @experimental
|
|
7
6
|
* This blocks transforms a vector from one coordinate system to another.
|
|
8
7
|
*/
|
|
9
|
-
export class
|
|
8
|
+
export class FlowGraphTransformCoordinatesSystemBlock extends FlowGraphBlock {
|
|
10
9
|
/**
|
|
11
10
|
* Creates a new FlowGraphCoordinateTransformBlock
|
|
12
11
|
* @param config optional configuration for this block
|
|
@@ -40,8 +39,8 @@ export class FlowGraphCoordinateTransformBlock extends FlowGraphBlock {
|
|
|
40
39
|
* @returns the class name
|
|
41
40
|
*/
|
|
42
41
|
getClassName() {
|
|
43
|
-
return "
|
|
42
|
+
return "FlowGraphTransformCoordinatesSystemBlock" /* FlowGraphBlockNames.TransformCoordinatesSystem */;
|
|
44
43
|
}
|
|
45
44
|
}
|
|
46
|
-
RegisterClass("
|
|
47
|
-
//# sourceMappingURL=
|
|
45
|
+
RegisterClass("FlowGraphTransformCoordinatesSystemBlock" /* FlowGraphBlockNames.TransformCoordinatesSystem */, FlowGraphTransformCoordinatesSystemBlock);
|
|
46
|
+
//# sourceMappingURL=flowGraphTransformCoordinatesSystemBlock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flowGraphTransformCoordinatesSystemBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphTransformCoordinatesSystemBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD;;GAEG;AACH,MAAM,OAAO,wCAAyC,SAAQ,cAAc;IAkBxE;;;OAGG;IACH,YAAY,MAAqC;QAC7C,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QACxE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;QAClF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;QACpF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;IAC3F,CAAC;IAEe,cAAc,CAAC,QAA0B;QACrD,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC/D,MAAM,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzE,MAAM,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEvE,qDAAqD;QACrD,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC;QACvD,0DAA0D;QAC1D,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,cAAc,EAAE,CAAC;QACjE,MAAM,uBAAuB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAChF,0DAA0D;QAC1D,uBAAuB,CAAC,MAAM,EAAE,CAAC;QAEjC,MAAM,mBAAmB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjD,0EAA0E;QAC1E,uBAAuB,CAAC,aAAa,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QACxE,MAAM,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEzE,OAAO,CAAC,yBAAyB,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,sBAAsB,CAAC,CAAC;IAC1G,CAAC;IAED;;;OAGG;IACa,YAAY;QACxB,uGAAsD;IAC1D,CAAC;CACJ;AACD,aAAa,kGAAiD,wCAAwC,CAAC,CAAC","sourcesContent":["import { FlowGraphBlock } from \"../../flowGraphBlock\";\r\nimport type { FlowGraphContext } from \"../../flowGraphContext\";\r\nimport type { FlowGraphDataConnection } from \"../../flowGraphDataConnection\";\r\nimport { RichTypeAny, RichTypeVector3 } from \"../../flowGraphRichTypes\";\r\nimport { TmpVectors, Vector3 } from \"../../../Maths/math.vector\";\r\nimport type { TransformNode } from \"../../../Meshes/transformNode\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../flowGraphBlock\";\r\nimport { RegisterClass } from \"../../../Misc/typeStore\";\r\nimport { FlowGraphBlockNames } from \"../flowGraphBlockNames\";\r\n\r\n/**\r\n * This blocks transforms a vector from one coordinate system to another.\r\n */\r\nexport class FlowGraphTransformCoordinatesSystemBlock extends FlowGraphBlock {\r\n /**\r\n * Input connection: The source coordinate system.\r\n */\r\n public readonly sourceSystem: FlowGraphDataConnection<TransformNode>;\r\n /**\r\n * Input connection: The destination coordinate system.\r\n */\r\n public readonly destinationSystem: FlowGraphDataConnection<TransformNode>;\r\n /**\r\n * Input connection: The coordinates to transform.\r\n */\r\n public readonly inputCoordinates: FlowGraphDataConnection<Vector3>;\r\n /**\r\n * Output connection: The transformed coordinates.\r\n */\r\n public readonly outputCoordinates: FlowGraphDataConnection<Vector3>;\r\n\r\n /**\r\n * Creates a new FlowGraphCoordinateTransformBlock\r\n * @param config optional configuration for this block\r\n */\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(config);\r\n\r\n this.sourceSystem = this.registerDataInput(\"sourceSystem\", RichTypeAny);\r\n this.destinationSystem = this.registerDataInput(\"destinationSystem\", RichTypeAny);\r\n this.inputCoordinates = this.registerDataInput(\"inputCoordinates\", RichTypeVector3);\r\n this.outputCoordinates = this.registerDataOutput(\"outputCoordinates\", RichTypeVector3);\r\n }\r\n\r\n public override _updateOutputs(_context: FlowGraphContext): void {\r\n const sourceSystemValue = this.sourceSystem.getValue(_context);\r\n const destinationSystemValue = this.destinationSystem.getValue(_context);\r\n const inputCoordinatesValue = this.inputCoordinates.getValue(_context);\r\n\r\n // takes coordinates from source space to world space\r\n const sourceWorld = sourceSystemValue.getWorldMatrix();\r\n // takes coordinates from destination space to world space\r\n const destinationWorld = destinationSystemValue.getWorldMatrix();\r\n const destinationWorldInverse = TmpVectors.Matrix[0].copyFrom(destinationWorld);\r\n // takes coordinates from world space to destination space\r\n destinationWorldInverse.invert();\r\n\r\n const sourceToDestination = TmpVectors.Matrix[1];\r\n // takes coordinates from source space to world space to destination space\r\n destinationWorldInverse.multiplyToRef(sourceWorld, sourceToDestination);\r\n const outputCoordinatesValue = this.outputCoordinates.getValue(_context);\r\n\r\n Vector3.TransformCoordinatesToRef(inputCoordinatesValue, sourceToDestination, outputCoordinatesValue);\r\n }\r\n\r\n /**\r\n * Gets the class name of this block\r\n * @returns the class name\r\n */\r\n public override getClassName(): string {\r\n return FlowGraphBlockNames.TransformCoordinatesSystem;\r\n }\r\n}\r\nRegisterClass(FlowGraphBlockNames.TransformCoordinatesSystem, FlowGraphTransformCoordinatesSystemBlock);\r\n"]}
|
|
@@ -4,7 +4,7 @@ import type { RichType } from "../../flowGraphRichTypes";
|
|
|
4
4
|
import type { FlowGraphContext } from "../../flowGraphContext";
|
|
5
5
|
import { FlowGraphCachedOperationBlock } from "./flowGraphCachedOperationBlock";
|
|
6
6
|
/**
|
|
7
|
-
* @
|
|
7
|
+
* @internal
|
|
8
8
|
* The base block for all unary operation blocks. Receives an input of type InputT, and outputs a value of type ResultT.
|
|
9
9
|
*/
|
|
10
10
|
export declare class FlowGraphUnaryOperationBlock<InputT, ResultT> extends FlowGraphCachedOperationBlock<ResultT> {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FlowGraphCachedOperationBlock } from "./flowGraphCachedOperationBlock.js";
|
|
2
2
|
/**
|
|
3
|
-
* @
|
|
3
|
+
* @internal
|
|
4
4
|
* The base block for all unary operation blocks. Receives an input of type InputT, and outputs a value of type ResultT.
|
|
5
5
|
*/
|
|
6
6
|
export class FlowGraphUnaryOperationBlock extends FlowGraphCachedOperationBlock {
|
|
@@ -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;IAMrG,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;IAED;;;;OAIG;IACa,YAAY,CAAC,OAAyB;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACa,YAAY;QACxB,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 * @
|
|
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;IAMrG,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;IAED;;;;OAIG;IACa,YAAY,CAAC,OAAyB;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACa,YAAY;QACxB,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 * @internal\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 /**\r\n * the input of this block\r\n */\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\r\n /**\r\n * the operation performed by this block\r\n * @param context the graph context\r\n * @returns the result of the operation\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 /**\r\n * Gets the class name of this block\r\n * @returns the class name\r\n */\r\n public override getClassName(): string {\r\n return this._className;\r\n }\r\n}\r\n"]}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
export * from "./flowGraphConditionalDataBlock";
|
|
2
2
|
export * from "./flowGraphGetVariableBlock";
|
|
3
|
-
export * from "
|
|
4
|
-
export * from "./
|
|
3
|
+
export * from "../Execution/flowGraphSetVariableBlock";
|
|
4
|
+
export * from "./flowGraphTransformCoordinatesSystemBlock";
|
|
5
5
|
export * from "./flowGraphGetPropertyBlock";
|
|
6
|
-
export * from "
|
|
6
|
+
export * from "../Execution/flowGraphSetPropertyBlock";
|
|
7
|
+
export * from "./flowGraphConstantBlock";
|
|
8
|
+
export * from "./flowGraphGetAssetBlock";
|
|
7
9
|
export * from "./Math/index";
|
|
10
|
+
export * from "./Transformers/index";
|
|
11
|
+
export * from "./Utils/index";
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
export * from "./flowGraphConditionalDataBlock.js";
|
|
2
2
|
export * from "./flowGraphGetVariableBlock.js";
|
|
3
|
-
export * from "
|
|
4
|
-
export * from "./
|
|
3
|
+
export * from "../Execution/flowGraphSetVariableBlock.js";
|
|
4
|
+
export * from "./flowGraphTransformCoordinatesSystemBlock.js";
|
|
5
5
|
export * from "./flowGraphGetPropertyBlock.js";
|
|
6
|
-
|
|
7
|
-
export * from "./
|
|
6
|
+
export * from "../Execution/flowGraphSetPropertyBlock.js";
|
|
7
|
+
export * from "./flowGraphConstantBlock.js";
|
|
8
|
+
export * from "./flowGraphGetAssetBlock.js";
|
|
8
9
|
// eslint-disable-next-line import/no-internal-modules
|
|
9
10
|
export * from "./Math/index.js";
|
|
11
|
+
// eslint-disable-next-line import/no-internal-modules
|
|
12
|
+
export * from "./Transformers/index.js";
|
|
13
|
+
// eslint-disable-next-line import/no-internal-modules
|
|
14
|
+
export * from "./Utils/index.js";
|
|
10
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wCAAwC,CAAC;AACvD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wCAAwC,CAAC;AACvD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,sDAAsD;AACtD,cAAc,cAAc,CAAC;AAC7B,sDAAsD;AACtD,cAAc,sBAAsB,CAAC;AACrC,sDAAsD;AACtD,cAAc,eAAe,CAAC","sourcesContent":["export * from \"./flowGraphConditionalDataBlock\";\r\nexport * from \"./flowGraphGetVariableBlock\";\r\nexport * from \"../Execution/flowGraphSetVariableBlock\";\r\nexport * from \"./flowGraphTransformCoordinatesSystemBlock\";\r\nexport * from \"./flowGraphGetPropertyBlock\";\r\nexport * from \"../Execution/flowGraphSetPropertyBlock\";\r\nexport * from \"./flowGraphConstantBlock\";\r\nexport * from \"./flowGraphGetAssetBlock\";\r\n// eslint-disable-next-line import/no-internal-modules\r\nexport * from \"./Math/index\";\r\n// eslint-disable-next-line import/no-internal-modules\r\nexport * from \"./Transformers/index\";\r\n// eslint-disable-next-line import/no-internal-modules\r\nexport * from \"./Utils/index\";\r\n"]}
|
|
@@ -1,57 +1,78 @@
|
|
|
1
|
-
import { AbstractMesh } from "../../../Meshes/abstractMesh";
|
|
1
|
+
import type { AbstractMesh } from "../../../Meshes/abstractMesh";
|
|
2
2
|
import { FlowGraphEventBlock } from "../../flowGraphEventBlock";
|
|
3
|
+
import type { PointerInfo } from "../../../Events/pointerEvents";
|
|
4
|
+
import { PointerEventTypes } from "../../../Events/pointerEvents";
|
|
3
5
|
import type { FlowGraphContext } from "../../flowGraphContext";
|
|
4
6
|
import type { IFlowGraphBlockConfiguration } from "../../flowGraphBlock";
|
|
5
|
-
import type {
|
|
6
|
-
import type {
|
|
7
|
+
import type { FlowGraphDataConnection } from "../../flowGraphDataConnection.js";
|
|
8
|
+
import type { Vector3 } from "../../../Maths/math.vector.js";
|
|
9
|
+
import { FlowGraphEventType } from "../../flowGraphEventType.js";
|
|
7
10
|
/**
|
|
8
|
-
*
|
|
11
|
+
* Configuration for the mesh pick event block.
|
|
9
12
|
*/
|
|
10
13
|
export interface IFlowGraphMeshPickEventBlockConfiguration extends IFlowGraphBlockConfiguration {
|
|
11
14
|
/**
|
|
12
|
-
*
|
|
15
|
+
* Should this mesh block propagation of the event.
|
|
13
16
|
*/
|
|
14
|
-
|
|
17
|
+
stopPropagation?: boolean;
|
|
15
18
|
/**
|
|
16
|
-
* The
|
|
19
|
+
* The mesh to listen to. Can also be set by the asset input.
|
|
17
20
|
*/
|
|
18
|
-
|
|
21
|
+
targetMesh?: AbstractMesh;
|
|
19
22
|
}
|
|
20
23
|
/**
|
|
21
|
-
* @experimental
|
|
22
24
|
* A block that activates when a mesh is picked.
|
|
23
25
|
*/
|
|
24
26
|
export declare class FlowGraphMeshPickEventBlock extends FlowGraphEventBlock {
|
|
25
27
|
/**
|
|
26
28
|
* the configuration of the block
|
|
27
29
|
*/
|
|
28
|
-
config
|
|
30
|
+
config?: IFlowGraphMeshPickEventBlockConfiguration | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Input connection: The mesh to listen to.
|
|
33
|
+
*/
|
|
34
|
+
readonly asset: FlowGraphDataConnection<AbstractMesh>;
|
|
35
|
+
/**
|
|
36
|
+
* Output connection: The picked point.
|
|
37
|
+
*/
|
|
38
|
+
readonly pickedPoint: FlowGraphDataConnection<Vector3>;
|
|
39
|
+
/**
|
|
40
|
+
* Output connection: The picked origin.
|
|
41
|
+
*/
|
|
42
|
+
readonly pickOrigin: FlowGraphDataConnection<Vector3>;
|
|
43
|
+
/**
|
|
44
|
+
* Output connection: The pointer id.
|
|
45
|
+
*/
|
|
46
|
+
readonly pointerId: FlowGraphDataConnection<number>;
|
|
47
|
+
/**
|
|
48
|
+
* Output connection: The picked mesh. Possibly NOT the same as the asset (could be a descendant).
|
|
49
|
+
*/
|
|
50
|
+
readonly pickedMesh: FlowGraphDataConnection<AbstractMesh>;
|
|
51
|
+
/**
|
|
52
|
+
* Input connection: The type of the pointer event.
|
|
53
|
+
*/
|
|
54
|
+
readonly pointerType: FlowGraphDataConnection<PointerEventTypes>;
|
|
55
|
+
/**
|
|
56
|
+
* the type of the event this block reacts to
|
|
57
|
+
*/
|
|
58
|
+
readonly type: FlowGraphEventType;
|
|
29
59
|
constructor(
|
|
30
60
|
/**
|
|
31
61
|
* the configuration of the block
|
|
32
62
|
*/
|
|
33
|
-
config
|
|
34
|
-
_getReferencedMesh(): AbstractMesh;
|
|
63
|
+
config?: IFlowGraphMeshPickEventBlockConfiguration | undefined);
|
|
64
|
+
_getReferencedMesh(context: FlowGraphContext): AbstractMesh;
|
|
65
|
+
_executeEvent(context: FlowGraphContext, pickedInfo: PointerInfo): boolean;
|
|
35
66
|
/**
|
|
36
67
|
* @internal
|
|
37
68
|
*/
|
|
38
|
-
_preparePendingTasks(
|
|
39
|
-
_onDispose(context: FlowGraphContext): void;
|
|
69
|
+
_preparePendingTasks(_context: FlowGraphContext): void;
|
|
40
70
|
/**
|
|
41
71
|
* @internal
|
|
42
72
|
*/
|
|
43
|
-
_cancelPendingTasks(
|
|
73
|
+
_cancelPendingTasks(_context: FlowGraphContext): void;
|
|
44
74
|
/**
|
|
45
75
|
* @returns class name of the block.
|
|
46
76
|
*/
|
|
47
77
|
getClassName(): string;
|
|
48
|
-
/**
|
|
49
|
-
* Serializes the block to a JSON object.
|
|
50
|
-
* @param serializationObject the object to serialize to.
|
|
51
|
-
*/
|
|
52
|
-
serialize(serializationObject?: any): void;
|
|
53
|
-
/**
|
|
54
|
-
* Class name of the block.
|
|
55
|
-
*/
|
|
56
|
-
static ClassName: string;
|
|
57
78
|
}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { AbstractMesh } from "../../../Meshes/abstractMesh.js";
|
|
2
1
|
import { FlowGraphEventBlock } from "../../flowGraphEventBlock.js";
|
|
3
2
|
import { PointerEventTypes } from "../../../Events/pointerEvents.js";
|
|
4
3
|
import { RegisterClass } from "../../../Misc/typeStore.js";
|
|
5
4
|
import { _isADescendantOf } from "../../utils.js";
|
|
5
|
+
import { RichTypeAny, RichTypeNumber, RichTypeVector3 } from "../../flowGraphRichTypes.js";
|
|
6
6
|
/**
|
|
7
|
-
* @experimental
|
|
8
7
|
* A block that activates when a mesh is picked.
|
|
9
8
|
*/
|
|
10
9
|
export class FlowGraphMeshPickEventBlock extends FlowGraphEventBlock {
|
|
@@ -15,70 +14,65 @@ export class FlowGraphMeshPickEventBlock extends FlowGraphEventBlock {
|
|
|
15
14
|
config) {
|
|
16
15
|
super(config);
|
|
17
16
|
this.config = config;
|
|
17
|
+
/**
|
|
18
|
+
* the type of the event this block reacts to
|
|
19
|
+
*/
|
|
20
|
+
this.type = "MeshPick" /* FlowGraphEventType.MeshPick */;
|
|
21
|
+
this.asset = this.registerDataInput("asset", RichTypeAny, config?.targetMesh);
|
|
22
|
+
this.pickedPoint = this.registerDataOutput("pickedPoint", RichTypeVector3);
|
|
23
|
+
this.pickOrigin = this.registerDataOutput("pickOrigin", RichTypeVector3);
|
|
24
|
+
this.pointerId = this.registerDataOutput("pointerId", RichTypeNumber);
|
|
25
|
+
this.pickedMesh = this.registerDataOutput("pickedMesh", RichTypeAny);
|
|
26
|
+
this.pointerType = this.registerDataInput("pointerType", RichTypeAny, PointerEventTypes.POINTERPICK);
|
|
18
27
|
}
|
|
19
|
-
_getReferencedMesh() {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
28
|
+
_getReferencedMesh(context) {
|
|
29
|
+
return this.asset.getValue(context);
|
|
30
|
+
}
|
|
31
|
+
_executeEvent(context, pickedInfo) {
|
|
32
|
+
// get the pointer type
|
|
33
|
+
const pointerType = this.pointerType.getValue(context);
|
|
34
|
+
if (pointerType !== pickedInfo.type) {
|
|
35
|
+
// returning true here to continue the propagation of the pointer event to the rest of the blocks
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
// check if the mesh is the picked mesh or a descendant
|
|
39
|
+
const mesh = this._getReferencedMesh(context);
|
|
40
|
+
if (mesh && pickedInfo.pickInfo?.pickedMesh && (pickedInfo.pickInfo?.pickedMesh === mesh || _isADescendantOf(pickedInfo.pickInfo?.pickedMesh, mesh))) {
|
|
41
|
+
this.pointerId.setValue(pickedInfo.event.pointerId, context);
|
|
42
|
+
this.pickOrigin.setValue(pickedInfo.pickInfo.ray?.origin, context);
|
|
43
|
+
this.pickedPoint.setValue(pickedInfo.pickInfo.pickedPoint, context);
|
|
44
|
+
this.pickedMesh.setValue(pickedInfo.pickInfo.pickedMesh, context);
|
|
45
|
+
this._execute(context);
|
|
46
|
+
// stop the propagation if the configuration says so
|
|
47
|
+
return !this.config?.stopPropagation;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
// reset the outputs
|
|
51
|
+
this.pointerId.resetToDefaultValue(context);
|
|
52
|
+
this.pickOrigin.resetToDefaultValue(context);
|
|
53
|
+
this.pickedPoint.resetToDefaultValue(context);
|
|
54
|
+
this.pickedMesh.resetToDefaultValue(context);
|
|
24
55
|
}
|
|
25
|
-
return
|
|
56
|
+
return true;
|
|
26
57
|
}
|
|
27
58
|
/**
|
|
28
59
|
* @internal
|
|
29
60
|
*/
|
|
30
|
-
_preparePendingTasks(
|
|
31
|
-
|
|
32
|
-
if (!pickObserver) {
|
|
33
|
-
const mesh = this._getReferencedMesh();
|
|
34
|
-
context._setExecutionVariable(this, "mesh", mesh);
|
|
35
|
-
pickObserver = mesh.getScene().onPointerObservable.add((pointerInfo) => {
|
|
36
|
-
if (pointerInfo.type === PointerEventTypes.POINTERPICK &&
|
|
37
|
-
pointerInfo.pickInfo?.pickedMesh &&
|
|
38
|
-
(pointerInfo.pickInfo?.pickedMesh === mesh || _isADescendantOf(pointerInfo.pickInfo?.pickedMesh, mesh))) {
|
|
39
|
-
this._execute(context);
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
const disposeObserver = mesh.onDisposeObservable.add(() => this._onDispose);
|
|
43
|
-
context._setExecutionVariable(this, "meshPickObserver", pickObserver);
|
|
44
|
-
context._setExecutionVariable(this, "meshDisposeObserver", disposeObserver);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
_onDispose(context) {
|
|
48
|
-
this._cancelPendingTasks(context);
|
|
49
|
-
context._removePendingBlock(this);
|
|
61
|
+
_preparePendingTasks(_context) {
|
|
62
|
+
// no-op
|
|
50
63
|
}
|
|
51
64
|
/**
|
|
52
65
|
* @internal
|
|
53
66
|
*/
|
|
54
|
-
_cancelPendingTasks(
|
|
55
|
-
|
|
56
|
-
const pickObserver = context._getExecutionVariable(this, "meshPickObserver");
|
|
57
|
-
const disposeObserver = context._getExecutionVariable(this, "meshDisposeObserver");
|
|
58
|
-
mesh.getScene().onPointerObservable.remove(pickObserver);
|
|
59
|
-
mesh.onDisposeObservable.remove(disposeObserver);
|
|
60
|
-
context._deleteExecutionVariable(this, "mesh");
|
|
61
|
-
context._deleteExecutionVariable(this, "meshPickObserver");
|
|
62
|
-
context._deleteExecutionVariable(this, "meshDisposeObserver");
|
|
67
|
+
_cancelPendingTasks(_context) {
|
|
68
|
+
// no-op
|
|
63
69
|
}
|
|
64
70
|
/**
|
|
65
71
|
* @returns class name of the block.
|
|
66
72
|
*/
|
|
67
73
|
getClassName() {
|
|
68
|
-
return FlowGraphMeshPickEventBlock.
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Serializes the block to a JSON object.
|
|
72
|
-
* @param serializationObject the object to serialize to.
|
|
73
|
-
*/
|
|
74
|
-
serialize(serializationObject) {
|
|
75
|
-
super.serialize(serializationObject);
|
|
76
|
-
serializationObject.config.path = this.config.path;
|
|
74
|
+
return "FlowGraphMeshPickEventBlock" /* FlowGraphBlockNames.MeshPickEvent */;
|
|
77
75
|
}
|
|
78
76
|
}
|
|
79
|
-
|
|
80
|
-
* Class name of the block.
|
|
81
|
-
*/
|
|
82
|
-
FlowGraphMeshPickEventBlock.ClassName = "FGMeshPickEventBlock";
|
|
83
|
-
RegisterClass(FlowGraphMeshPickEventBlock.ClassName, FlowGraphMeshPickEventBlock);
|
|
77
|
+
RegisterClass("FlowGraphMeshPickEventBlock" /* FlowGraphBlockNames.MeshPickEvent */, FlowGraphMeshPickEventBlock);
|
|
84
78
|
//# sourceMappingURL=flowGraphMeshPickEventBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowGraphMeshPickEventBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"flowGraphMeshPickEventBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,oCAA0C;AAiBjG;;GAEG;AACH,MAAM,OAAO,2BAA4B,SAAQ,mBAAmB;IAoChE;IACI;;OAEG;IACa,MAAkD;QAElE,KAAK,CAAC,MAAM,CAAC,CAAC;QAFE,WAAM,GAAN,MAAM,CAA4C;QATtE;;WAEG;QACsB,SAAI,gDAAmD;QAS5E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAC9E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAC3E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QACzE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACtE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACrE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,WAAW,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACzG,CAAC;IAEM,kBAAkB,CAAC,OAAyB;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAiB,CAAC;IACxD,CAAC;IAEe,aAAa,CAAC,OAAyB,EAAE,UAAuB;QAC5E,uBAAuB;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,WAAW,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;YAClC,iGAAiG;YACjG,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,uDAAuD;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,IAAI,IAAI,UAAU,CAAC,QAAQ,EAAE,UAAU,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,KAAK,IAAI,IAAI,gBAAgB,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YACnJ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAE,UAAU,CAAC,KAAsB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC/E,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAO,EAAE,OAAO,CAAC,CAAC;YACpE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAY,EAAE,OAAO,CAAC,CAAC;YACrE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAClE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvB,oDAAoD;YACpD,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,oBAAoB;YACpB,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,oBAAoB,CAAC,QAA0B;QAClD,QAAQ;IACZ,CAAC;IAED;;OAEG;IACI,mBAAmB,CAAC,QAA0B;QACjD,QAAQ;IACZ,CAAC;IAED;;OAEG;IACa,YAAY;QACxB,6EAAyC;IAC7C,CAAC;CACJ;AACD,aAAa,wEAAoC,2BAA2B,CAAC,CAAC","sourcesContent":["import type { AbstractMesh } from \"../../../Meshes/abstractMesh\";\r\nimport { FlowGraphEventBlock } from \"../../flowGraphEventBlock\";\r\nimport type { PointerInfo } from \"../../../Events/pointerEvents\";\r\nimport { PointerEventTypes } from \"../../../Events/pointerEvents\";\r\nimport type { FlowGraphContext } from \"../../flowGraphContext\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../flowGraphBlock\";\r\nimport { RegisterClass } from \"../../../Misc/typeStore\";\r\nimport { _isADescendantOf } from \"../../utils\";\r\nimport { FlowGraphBlockNames } from \"../flowGraphBlockNames\";\r\nimport type { FlowGraphDataConnection } from \"core/FlowGraph/flowGraphDataConnection\";\r\nimport { RichTypeAny, RichTypeNumber, RichTypeVector3 } from \"core/FlowGraph/flowGraphRichTypes\";\r\nimport type { Vector3 } from \"core/Maths/math.vector\";\r\nimport { FlowGraphEventType } from \"core/FlowGraph/flowGraphEventType\";\r\n/**\r\n * Configuration for the mesh pick event block.\r\n */\r\nexport interface IFlowGraphMeshPickEventBlockConfiguration extends IFlowGraphBlockConfiguration {\r\n /**\r\n * Should this mesh block propagation of the event.\r\n */\r\n stopPropagation?: boolean;\r\n\r\n /**\r\n * The mesh to listen to. Can also be set by the asset input.\r\n */\r\n targetMesh?: AbstractMesh;\r\n}\r\n/**\r\n * A block that activates when a mesh is picked.\r\n */\r\nexport class FlowGraphMeshPickEventBlock extends FlowGraphEventBlock {\r\n /**\r\n * Input connection: The mesh to listen to.\r\n */\r\n public readonly asset: FlowGraphDataConnection<AbstractMesh>;\r\n\r\n /**\r\n * Output connection: The picked point.\r\n */\r\n public readonly pickedPoint: FlowGraphDataConnection<Vector3>;\r\n\r\n /**\r\n * Output connection: The picked origin.\r\n */\r\n public readonly pickOrigin: FlowGraphDataConnection<Vector3>;\r\n\r\n /**\r\n * Output connection: The pointer id.\r\n */\r\n public readonly pointerId: FlowGraphDataConnection<number>;\r\n\r\n /**\r\n * Output connection: The picked mesh. Possibly NOT the same as the asset (could be a descendant).\r\n */\r\n public readonly pickedMesh: FlowGraphDataConnection<AbstractMesh>;\r\n\r\n /**\r\n * Input connection: The type of the pointer event.\r\n */\r\n public readonly pointerType: FlowGraphDataConnection<PointerEventTypes>;\r\n\r\n /**\r\n * the type of the event this block reacts to\r\n */\r\n public override readonly type: FlowGraphEventType = FlowGraphEventType.MeshPick;\r\n\r\n public constructor(\r\n /**\r\n * the configuration of the block\r\n */\r\n public override config?: IFlowGraphMeshPickEventBlockConfiguration\r\n ) {\r\n super(config);\r\n this.asset = this.registerDataInput(\"asset\", RichTypeAny, config?.targetMesh);\r\n this.pickedPoint = this.registerDataOutput(\"pickedPoint\", RichTypeVector3);\r\n this.pickOrigin = this.registerDataOutput(\"pickOrigin\", RichTypeVector3);\r\n this.pointerId = this.registerDataOutput(\"pointerId\", RichTypeNumber);\r\n this.pickedMesh = this.registerDataOutput(\"pickedMesh\", RichTypeAny);\r\n this.pointerType = this.registerDataInput(\"pointerType\", RichTypeAny, PointerEventTypes.POINTERPICK);\r\n }\r\n\r\n public _getReferencedMesh(context: FlowGraphContext): AbstractMesh {\r\n return this.asset.getValue(context) as AbstractMesh;\r\n }\r\n\r\n public override _executeEvent(context: FlowGraphContext, pickedInfo: PointerInfo): boolean {\r\n // get the pointer type\r\n const pointerType = this.pointerType.getValue(context);\r\n if (pointerType !== pickedInfo.type) {\r\n // returning true here to continue the propagation of the pointer event to the rest of the blocks\r\n return true;\r\n }\r\n // check if the mesh is the picked mesh or a descendant\r\n const mesh = this._getReferencedMesh(context);\r\n if (mesh && pickedInfo.pickInfo?.pickedMesh && (pickedInfo.pickInfo?.pickedMesh === mesh || _isADescendantOf(pickedInfo.pickInfo?.pickedMesh, mesh))) {\r\n this.pointerId.setValue((pickedInfo.event as PointerEvent).pointerId, context);\r\n this.pickOrigin.setValue(pickedInfo.pickInfo.ray?.origin!, context);\r\n this.pickedPoint.setValue(pickedInfo.pickInfo.pickedPoint!, context);\r\n this.pickedMesh.setValue(pickedInfo.pickInfo.pickedMesh, context);\r\n this._execute(context);\r\n // stop the propagation if the configuration says so\r\n return !this.config?.stopPropagation;\r\n } else {\r\n // reset the outputs\r\n this.pointerId.resetToDefaultValue(context);\r\n this.pickOrigin.resetToDefaultValue(context);\r\n this.pickedPoint.resetToDefaultValue(context);\r\n this.pickedMesh.resetToDefaultValue(context);\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public _preparePendingTasks(_context: FlowGraphContext): void {\r\n // no-op\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public _cancelPendingTasks(_context: FlowGraphContext): void {\r\n // no-op\r\n }\r\n\r\n /**\r\n * @returns class name of the block.\r\n */\r\n public override getClassName(): string {\r\n return FlowGraphBlockNames.MeshPickEvent;\r\n }\r\n}\r\nRegisterClass(FlowGraphBlockNames.MeshPickEvent, FlowGraphMeshPickEventBlock);\r\n"]}
|