@babylonjs/core 6.33.1 → 6.33.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/animationGroup.js +2 -2
- package/Animations/animationGroup.js.map +1 -1
- package/Animations/animationGroupMask.d.ts +4 -0
- package/Animations/animationGroupMask.js +4 -0
- package/Animations/animationGroupMask.js.map +1 -1
- package/Compute/computeShader.d.ts +5 -0
- package/Compute/computeShader.js +42 -32
- package/Compute/computeShader.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.computeShader.js +4 -2
- package/Engines/WebGPU/Extensions/engine.computeShader.js.map +1 -1
- package/Engines/engine.d.ts +16 -10
- package/Engines/thinEngine.js +3 -2
- package/Engines/thinEngine.js.map +1 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.d.ts +296 -0
- package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.js +758 -0
- package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.js.map +1 -0
- package/FlowGraph/Blocks/Data/Math/index.d.ts +1 -5
- package/FlowGraph/Blocks/Data/Math/index.js +1 -5
- package/FlowGraph/Blocks/Data/Math/index.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.d.ts +2 -2
- package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.js +3 -3
- package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.d.ts +1 -1
- package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.js +3 -3
- package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphConstantBlock.d.ts +1 -0
- package/FlowGraph/Blocks/Data/flowGraphConstantBlock.js +5 -0
- package/FlowGraph/Blocks/Data/flowGraphConstantBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.d.ts +25 -0
- package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.js +22 -0
- package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.js.map +1 -0
- package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.d.ts +11 -5
- package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.js +12 -6
- package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphTernaryOperationBlock.d.ts +19 -0
- package/FlowGraph/Blocks/Data/flowGraphTernaryOperationBlock.js +22 -0
- package/FlowGraph/Blocks/Data/flowGraphTernaryOperationBlock.js.map +1 -0
- package/FlowGraph/Blocks/Data/index.d.ts +1 -0
- package/FlowGraph/Blocks/Data/index.js +1 -0
- package/FlowGraph/Blocks/Data/index.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.d.ts +10 -5
- package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.js +15 -5
- package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.d.ts +1 -0
- package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.js +2 -1
- package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.d.ts +1 -0
- package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.js +3 -2
- package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.d.ts +2 -2
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.js +3 -3
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.d.ts +0 -5
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.js +2 -3
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.d.ts +2 -2
- package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.js +3 -3
- package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.d.ts +2 -2
- package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.js +3 -3
- package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.d.ts +2 -2
- package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.js +2 -2
- package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.d.ts +2 -2
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.js +3 -3
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.d.ts +2 -2
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.js +3 -3
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.d.ts +13 -5
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.js +14 -12
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.d.ts +2 -6
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.js +3 -4
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.d.ts +16 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.js +26 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.d.ts +2 -2
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.js +3 -3
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.d.ts +1 -6
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.js +4 -4
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.d.ts +2 -2
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.js +4 -4
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.d.ts +3 -2
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.js +6 -5
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/index.d.ts +1 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/index.js +1 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/index.js.map +1 -1
- package/FlowGraph/Blocks/Execution/{flowGraphLogBlock.d.ts → flowGraphConsoleLogBlock.d.ts} +3 -2
- package/FlowGraph/Blocks/Execution/{flowGraphLogBlock.js → flowGraphConsoleLogBlock.js} +7 -6
- package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.d.ts +16 -8
- package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.js +17 -10
- package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.d.ts +4 -3
- package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.js +7 -6
- package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.d.ts +12 -7
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js +10 -9
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/index.d.ts +1 -2
- package/FlowGraph/Blocks/Execution/index.js +1 -3
- package/FlowGraph/Blocks/Execution/index.js.map +1 -1
- package/FlowGraph/flowGraph.d.ts +3 -1
- package/FlowGraph/flowGraph.js +6 -2
- package/FlowGraph/flowGraph.js.map +1 -1
- package/FlowGraph/flowGraphAsyncExecutionBlock.d.ts +6 -2
- package/FlowGraph/flowGraphAsyncExecutionBlock.js +2 -1
- package/FlowGraph/flowGraphAsyncExecutionBlock.js.map +1 -1
- package/FlowGraph/flowGraphBlock.d.ts +7 -2
- package/FlowGraph/flowGraphBlock.js +36 -14
- package/FlowGraph/flowGraphBlock.js.map +1 -1
- package/FlowGraph/flowGraphContext.d.ts +9 -5
- package/FlowGraph/flowGraphContext.js +7 -2
- package/FlowGraph/flowGraphContext.js.map +1 -1
- package/FlowGraph/flowGraphCoordinator.d.ts +4 -5
- package/FlowGraph/flowGraphCoordinator.js +12 -7
- package/FlowGraph/flowGraphCoordinator.js.map +1 -1
- package/FlowGraph/flowGraphEventBlock.js +1 -1
- package/FlowGraph/flowGraphEventBlock.js.map +1 -1
- package/FlowGraph/flowGraphExecutionBlock.d.ts +3 -2
- package/FlowGraph/flowGraphExecutionBlock.js +7 -11
- package/FlowGraph/flowGraphExecutionBlock.js.map +1 -1
- package/FlowGraph/flowGraphPath.d.ts +20 -2
- package/FlowGraph/flowGraphPath.js +27 -7
- package/FlowGraph/flowGraphPath.js.map +1 -1
- package/FlowGraph/flowGraphWithOnDoneExecutionBlock.d.ts +3 -3
- package/FlowGraph/flowGraphWithOnDoneExecutionBlock.js +3 -3
- package/FlowGraph/flowGraphWithOnDoneExecutionBlock.js.map +1 -1
- package/FlowGraph/index.d.ts +3 -0
- package/FlowGraph/index.js +3 -0
- package/FlowGraph/index.js.map +1 -1
- package/FlowGraph/serialization.js +20 -6
- package/FlowGraph/serialization.js.map +1 -1
- package/FlowGraph/typeDefinitions.d.ts +33 -0
- package/FlowGraph/typeDefinitions.js +2 -0
- package/FlowGraph/typeDefinitions.js.map +1 -0
- package/Lights/light.d.ts +15 -0
- package/Lights/light.js +18 -0
- package/Lights/light.js.map +1 -1
- package/Lights/shadowLight.d.ts +18 -1
- package/Lights/shadowLight.js +34 -1
- package/Lights/shadowLight.js.map +1 -1
- package/Meshes/Node/nodeGeometryBlock.js +9 -1
- package/Meshes/Node/nodeGeometryBlock.js.map +1 -1
- package/XR/features/WebXRMeshDetector.d.ts +14 -2
- package/XR/features/WebXRMeshDetector.js +43 -8
- package/XR/features/WebXRMeshDetector.js.map +1 -1
- package/package.json +1 -1
- package/scene.d.ts +1 -2
- package/scene.js.map +1 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphMatrixBlocks.d.ts +0 -172
- package/FlowGraph/Blocks/Data/Math/flowGraphMatrixBlocks.js +0 -235
- package/FlowGraph/Blocks/Data/Math/flowGraphMatrixBlocks.js.map +0 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphNumberMathBlocks.d.ts +0 -269
- package/FlowGraph/Blocks/Data/Math/flowGraphNumberMathBlocks.js +0 -429
- package/FlowGraph/Blocks/Data/Math/flowGraphNumberMathBlocks.js.map +0 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphVector2MathBlocks.d.ts +0 -115
- package/FlowGraph/Blocks/Data/Math/flowGraphVector2MathBlocks.js +0 -146
- package/FlowGraph/Blocks/Data/Math/flowGraphVector2MathBlocks.js.map +0 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphVector3MathBlocks.d.ts +0 -155
- package/FlowGraph/Blocks/Data/Math/flowGraphVector3MathBlocks.js +0 -190
- package/FlowGraph/Blocks/Data/Math/flowGraphVector3MathBlocks.js.map +0 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphVector4MathBlocks.d.ts +0 -116
- package/FlowGraph/Blocks/Data/Math/flowGraphVector4MathBlocks.js +0 -144
- package/FlowGraph/Blocks/Data/Math/flowGraphVector4MathBlocks.js.map +0 -1
- package/FlowGraph/Blocks/Execution/flowGraphLogBlock.js.map +0 -1
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import { RichTypeMatrix, RichTypeNumber, RichTypeVector3 } from "../../../flowGraphRichTypes.js";
|
|
2
|
-
import { FlowGraphBinaryOperationBlock } from "../flowGraphBinaryOperationBlock.js";
|
|
3
|
-
import { Quaternion, Vector3 } from "../../../../Maths/math.vector.js";
|
|
4
|
-
import { FlowGraphUnaryOperationBlock } from "../flowGraphUnaryOperationBlock.js";
|
|
5
|
-
import { FlowGraphBlock } from "../../../flowGraphBlock.js";
|
|
6
|
-
import { RegisterClass } from "../../../../Misc/typeStore.js";
|
|
7
|
-
const ADDNAME = "FGAddVector3Block";
|
|
8
|
-
/**
|
|
9
|
-
* Add two vectors together.
|
|
10
|
-
* @experimental
|
|
11
|
-
*/
|
|
12
|
-
export class FlowGraphAddVector3Block extends FlowGraphBinaryOperationBlock {
|
|
13
|
-
constructor(config) {
|
|
14
|
-
super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (left, right) => left.add(right), ADDNAME, config);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
RegisterClass(ADDNAME, FlowGraphAddVector3Block);
|
|
18
|
-
const SUBNAME = "FGSubtractVector3Block";
|
|
19
|
-
/**
|
|
20
|
-
* Subtract two vectors.
|
|
21
|
-
* @experimental
|
|
22
|
-
*/
|
|
23
|
-
export class FlowGraphSubtractVector3Block extends FlowGraphBinaryOperationBlock {
|
|
24
|
-
constructor(config) {
|
|
25
|
-
super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (left, right) => left.subtract(right), SUBNAME, config);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
RegisterClass(SUBNAME, FlowGraphSubtractVector3Block);
|
|
29
|
-
const MULNAME = "FGMultiplyVector3Block";
|
|
30
|
-
/**
|
|
31
|
-
* Multiply two vectors together.
|
|
32
|
-
* @experimental
|
|
33
|
-
*/
|
|
34
|
-
export class FlowGraphMultiplyVector3Block extends FlowGraphBinaryOperationBlock {
|
|
35
|
-
constructor(config) {
|
|
36
|
-
super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (left, right) => left.multiply(right), MULNAME, config);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
RegisterClass(MULNAME, FlowGraphMultiplyVector3Block);
|
|
40
|
-
const DIVNAME = "FGDivideVector3Block";
|
|
41
|
-
/**
|
|
42
|
-
* Divide two vectors.
|
|
43
|
-
* @experimental
|
|
44
|
-
*/
|
|
45
|
-
export class FlowGraphDivideVector3Block extends FlowGraphBinaryOperationBlock {
|
|
46
|
-
constructor(config) {
|
|
47
|
-
super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (left, right) => left.divide(right), DIVNAME, config);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
RegisterClass(DIVNAME, FlowGraphDivideVector3Block);
|
|
51
|
-
const SCALNAME = "FGScaleVector3Block";
|
|
52
|
-
/**
|
|
53
|
-
* Scale a vector by a number.
|
|
54
|
-
* @experimental
|
|
55
|
-
*/
|
|
56
|
-
export class FlowGraphScaleVector3Block extends FlowGraphBinaryOperationBlock {
|
|
57
|
-
constructor(config) {
|
|
58
|
-
super(RichTypeVector3, RichTypeNumber, RichTypeVector3, (left, right) => left.scale(right), SCALNAME, config);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
RegisterClass(SCALNAME, FlowGraphScaleVector3Block);
|
|
62
|
-
const LENNAME = "FGLengthVector3Block";
|
|
63
|
-
/**
|
|
64
|
-
* Get the length of a vector.
|
|
65
|
-
* @experimental
|
|
66
|
-
*/
|
|
67
|
-
export class FlowGraphLengthVector3Block extends FlowGraphUnaryOperationBlock {
|
|
68
|
-
constructor(config) {
|
|
69
|
-
super(RichTypeVector3, RichTypeNumber, (value) => value.length(), LENNAME, config);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
RegisterClass(LENNAME, FlowGraphLengthVector3Block);
|
|
73
|
-
const NORMNAME = "FGNormalizeVector3Block";
|
|
74
|
-
/**
|
|
75
|
-
* Normalize a vector.
|
|
76
|
-
* @experimental
|
|
77
|
-
*/
|
|
78
|
-
export class FlowGraphNormalizeVector3Block extends FlowGraphUnaryOperationBlock {
|
|
79
|
-
constructor(config) {
|
|
80
|
-
super(RichTypeVector3, RichTypeVector3, (value) => value.normalizeToNew(), NORMNAME, config);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
RegisterClass(NORMNAME, FlowGraphNormalizeVector3Block);
|
|
84
|
-
const DOTNAME = "FGDotVector3Block";
|
|
85
|
-
/**
|
|
86
|
-
* Get the dot product of two vectors.
|
|
87
|
-
* @experimental
|
|
88
|
-
*/
|
|
89
|
-
export class FlowGraphDotVector3Block extends FlowGraphBinaryOperationBlock {
|
|
90
|
-
constructor(config) {
|
|
91
|
-
super(RichTypeVector3, RichTypeVector3, RichTypeNumber, (left, right) => Vector3.Dot(left, right), DOTNAME, config);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
RegisterClass(DOTNAME, FlowGraphDotVector3Block);
|
|
95
|
-
const CROSSNAME = "FGCrossVector3Block";
|
|
96
|
-
/**
|
|
97
|
-
* Get the cross product of two vectors.
|
|
98
|
-
* @experimental
|
|
99
|
-
*/
|
|
100
|
-
export class FlowGraphCrossVector3Block extends FlowGraphBinaryOperationBlock {
|
|
101
|
-
constructor(config) {
|
|
102
|
-
super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (left, right) => Vector3.Cross(left, right), CROSSNAME, config);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
RegisterClass(CROSSNAME, FlowGraphCrossVector3Block);
|
|
106
|
-
const CREATENAME = "FGCreateVector3Block";
|
|
107
|
-
/**
|
|
108
|
-
* Create a vector from its components.
|
|
109
|
-
* @experimental
|
|
110
|
-
*/
|
|
111
|
-
export class FlowGraphCreateVector3Block extends FlowGraphBlock {
|
|
112
|
-
constructor(config) {
|
|
113
|
-
super(config);
|
|
114
|
-
this._cachedVector = Vector3.Zero();
|
|
115
|
-
this.x = this.registerDataInput("x", RichTypeNumber);
|
|
116
|
-
this.y = this.registerDataInput("y", RichTypeNumber);
|
|
117
|
-
this.z = this.registerDataInput("y", RichTypeNumber);
|
|
118
|
-
this.vector = this.registerDataOutput("vector", RichTypeVector3);
|
|
119
|
-
}
|
|
120
|
-
_updateOutputs(_context) {
|
|
121
|
-
this._cachedVector.x = this.x.getValue(_context);
|
|
122
|
-
this._cachedVector.y = this.y.getValue(_context);
|
|
123
|
-
this._cachedVector.z = this.z.getValue(_context);
|
|
124
|
-
this.vector.setValue(this._cachedVector, _context);
|
|
125
|
-
}
|
|
126
|
-
getClassName() {
|
|
127
|
-
return CREATENAME;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
RegisterClass(CREATENAME, FlowGraphCreateVector3Block);
|
|
131
|
-
const SPLITNAME = "FGSplitVector3Block";
|
|
132
|
-
/**
|
|
133
|
-
* Split a vector into its components.
|
|
134
|
-
* @experimental
|
|
135
|
-
*/
|
|
136
|
-
export class FlowGraphSplitVector3Block extends FlowGraphBlock {
|
|
137
|
-
constructor(config) {
|
|
138
|
-
super(config);
|
|
139
|
-
this.vector = this.registerDataInput("vector", RichTypeVector3);
|
|
140
|
-
this.x = this.registerDataOutput("x", RichTypeNumber);
|
|
141
|
-
this.y = this.registerDataOutput("y", RichTypeNumber);
|
|
142
|
-
this.z = this.registerDataOutput("z", RichTypeNumber);
|
|
143
|
-
}
|
|
144
|
-
_updateOutputs(_context) {
|
|
145
|
-
const vector = this.vector.getValue(_context);
|
|
146
|
-
this.x.setValue(vector.x, _context);
|
|
147
|
-
this.y.setValue(vector.y, _context);
|
|
148
|
-
this.z.setValue(vector.z, _context);
|
|
149
|
-
}
|
|
150
|
-
getClassName() {
|
|
151
|
-
return SPLITNAME;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
RegisterClass(SPLITNAME, FlowGraphSplitVector3Block);
|
|
155
|
-
const ROTATENAME = "FGRotateVector3Block";
|
|
156
|
-
/**
|
|
157
|
-
* Rotates a vector by a given angle.
|
|
158
|
-
*/
|
|
159
|
-
export class FlowGraphRotate3dVector3Block extends FlowGraphBlock {
|
|
160
|
-
constructor(config) {
|
|
161
|
-
super(config);
|
|
162
|
-
this._cachedQuaternion = new Quaternion();
|
|
163
|
-
this.input = this.registerDataInput("input", RichTypeVector3);
|
|
164
|
-
this.angle = this.registerDataInput("angle", RichTypeNumber);
|
|
165
|
-
this.output = this.registerDataOutput("output", RichTypeVector3);
|
|
166
|
-
}
|
|
167
|
-
_updateOutputs(_context) {
|
|
168
|
-
const rot = Quaternion.RotationAxisToRef(this.axis.getValue(_context), this.angle.getValue(_context), this._cachedQuaternion);
|
|
169
|
-
const input = this.input.getValue(_context);
|
|
170
|
-
const output = this.output.getValue(_context);
|
|
171
|
-
input.applyRotationQuaternionToRef(rot, output);
|
|
172
|
-
}
|
|
173
|
-
getClassName() {
|
|
174
|
-
return ROTATENAME;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
RegisterClass(ROTATENAME, FlowGraphRotate3dVector3Block);
|
|
178
|
-
const TRANSFORMNAME = "FGTransformVector3Block";
|
|
179
|
-
/**
|
|
180
|
-
* Transforms a vector by a given matrix.
|
|
181
|
-
* @experimental
|
|
182
|
-
*/
|
|
183
|
-
export class FlowGraphTransformVector3Block extends FlowGraphBinaryOperationBlock {
|
|
184
|
-
constructor(config) {
|
|
185
|
-
super(RichTypeMatrix, RichTypeVector3, RichTypeVector3, (left, right) => Vector3.TransformCoordinatesToRef(right, left, this._cachedResult), TRANSFORMNAME, config);
|
|
186
|
-
this._cachedResult = Vector3.Zero();
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
RegisterClass(TRANSFORMNAME, FlowGraphTransformVector3Block);
|
|
190
|
-
//# sourceMappingURL=flowGraphVector3MathBlocks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flowGraphVector3MathBlocks.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FlowGraph/Blocks/Data/Math/flowGraphVector3MathBlocks.ts"],"names":[],"mappings":"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","sourcesContent":["import { RichTypeMatrix, RichTypeNumber, RichTypeVector3 } from \"core/FlowGraph/flowGraphRichTypes\";\r\nimport { FlowGraphBinaryOperationBlock } from \"../flowGraphBinaryOperationBlock\";\r\nimport type { Matrix } from \"../../../../Maths/math.vector\";\r\nimport { Quaternion, Vector3 } from \"../../../../Maths/math.vector\";\r\nimport { FlowGraphUnaryOperationBlock } from \"../flowGraphUnaryOperationBlock\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../../flowGraphBlock\";\r\nimport { FlowGraphBlock } from \"../../../flowGraphBlock\";\r\nimport { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport type { FlowGraphContext } from \"../../../flowGraphContext\";\r\nimport type { FlowGraphDataConnection } from \"../../../flowGraphDataConnection\";\r\n\r\nconst ADDNAME = \"FGAddVector3Block\";\r\n/**\r\n * Add two vectors together.\r\n * @experimental\r\n */\r\nexport class FlowGraphAddVector3Block extends FlowGraphBinaryOperationBlock<Vector3, Vector3, Vector3> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (left, right) => left.add(right), ADDNAME, config);\r\n }\r\n}\r\nRegisterClass(ADDNAME, FlowGraphAddVector3Block);\r\n\r\nconst SUBNAME = \"FGSubtractVector3Block\";\r\n/**\r\n * Subtract two vectors.\r\n * @experimental\r\n */\r\nexport class FlowGraphSubtractVector3Block extends FlowGraphBinaryOperationBlock<Vector3, Vector3, Vector3> {\r\n constructor(config: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (left, right) => left.subtract(right), SUBNAME, config);\r\n }\r\n}\r\nRegisterClass(SUBNAME, FlowGraphSubtractVector3Block);\r\n\r\nconst MULNAME = \"FGMultiplyVector3Block\";\r\n/**\r\n * Multiply two vectors together.\r\n * @experimental\r\n */\r\nexport class FlowGraphMultiplyVector3Block extends FlowGraphBinaryOperationBlock<Vector3, Vector3, Vector3> {\r\n constructor(config: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (left, right) => left.multiply(right), MULNAME, config);\r\n }\r\n}\r\nRegisterClass(MULNAME, FlowGraphMultiplyVector3Block);\r\n\r\nconst DIVNAME = \"FGDivideVector3Block\";\r\n/**\r\n * Divide two vectors.\r\n * @experimental\r\n */\r\nexport class FlowGraphDivideVector3Block extends FlowGraphBinaryOperationBlock<Vector3, Vector3, Vector3> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (left, right) => left.divide(right), DIVNAME, config);\r\n }\r\n}\r\nRegisterClass(DIVNAME, FlowGraphDivideVector3Block);\r\n\r\nconst SCALNAME = \"FGScaleVector3Block\";\r\n/**\r\n * Scale a vector by a number.\r\n * @experimental\r\n */\r\nexport class FlowGraphScaleVector3Block extends FlowGraphBinaryOperationBlock<Vector3, number, Vector3> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector3, RichTypeNumber, RichTypeVector3, (left, right) => left.scale(right), SCALNAME, config);\r\n }\r\n}\r\nRegisterClass(SCALNAME, FlowGraphScaleVector3Block);\r\n\r\nconst LENNAME = \"FGLengthVector3Block\";\r\n/**\r\n * Get the length of a vector.\r\n * @experimental\r\n */\r\nexport class FlowGraphLengthVector3Block extends FlowGraphUnaryOperationBlock<Vector3, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector3, RichTypeNumber, (value) => value.length(), LENNAME, config);\r\n }\r\n}\r\nRegisterClass(LENNAME, FlowGraphLengthVector3Block);\r\n\r\nconst NORMNAME = \"FGNormalizeVector3Block\";\r\n/**\r\n * Normalize a vector.\r\n * @experimental\r\n */\r\nexport class FlowGraphNormalizeVector3Block extends FlowGraphUnaryOperationBlock<Vector3, Vector3> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector3, RichTypeVector3, (value) => value.normalizeToNew(), NORMNAME, config);\r\n }\r\n}\r\nRegisterClass(NORMNAME, FlowGraphNormalizeVector3Block);\r\n\r\nconst DOTNAME = \"FGDotVector3Block\";\r\n/**\r\n * Get the dot product of two vectors.\r\n * @experimental\r\n */\r\nexport class FlowGraphDotVector3Block extends FlowGraphBinaryOperationBlock<Vector3, Vector3, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector3, RichTypeVector3, RichTypeNumber, (left, right) => Vector3.Dot(left, right), DOTNAME, config);\r\n }\r\n}\r\nRegisterClass(DOTNAME, FlowGraphDotVector3Block);\r\n\r\nconst CROSSNAME = \"FGCrossVector3Block\";\r\n/**\r\n * Get the cross product of two vectors.\r\n * @experimental\r\n */\r\nexport class FlowGraphCrossVector3Block extends FlowGraphBinaryOperationBlock<Vector3, Vector3, Vector3> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (left, right) => Vector3.Cross(left, right), CROSSNAME, config);\r\n }\r\n}\r\nRegisterClass(CROSSNAME, FlowGraphCrossVector3Block);\r\n\r\nconst CREATENAME = \"FGCreateVector3Block\";\r\n/**\r\n * Create a vector from its components.\r\n * @experimental\r\n */\r\nexport class FlowGraphCreateVector3Block extends FlowGraphBlock {\r\n /**\r\n * Input connection: The x component of the vector.\r\n */\r\n public readonly x: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The y component of the vector.\r\n */\r\n public readonly y: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The z component of the vector.\r\n */\r\n public readonly z: FlowGraphDataConnection<number>;\r\n /**\r\n * Output connection: The created vector.\r\n */\r\n public readonly vector: FlowGraphDataConnection<Vector3>;\r\n\r\n private _cachedVector: Vector3 = Vector3.Zero();\r\n\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(config);\r\n\r\n this.x = this.registerDataInput(\"x\", RichTypeNumber);\r\n this.y = this.registerDataInput(\"y\", RichTypeNumber);\r\n this.z = this.registerDataInput(\"y\", RichTypeNumber);\r\n this.vector = this.registerDataOutput(\"vector\", RichTypeVector3);\r\n }\r\n\r\n public _updateOutputs(_context: FlowGraphContext): void {\r\n this._cachedVector.x = this.x.getValue(_context);\r\n this._cachedVector.y = this.y.getValue(_context);\r\n this._cachedVector.z = this.z.getValue(_context);\r\n this.vector.setValue(this._cachedVector, _context);\r\n }\r\n\r\n public getClassName(): string {\r\n return CREATENAME;\r\n }\r\n}\r\nRegisterClass(CREATENAME, FlowGraphCreateVector3Block);\r\n\r\nconst SPLITNAME = \"FGSplitVector3Block\";\r\n/**\r\n * Split a vector into its components.\r\n * @experimental\r\n */\r\nexport class FlowGraphSplitVector3Block extends FlowGraphBlock {\r\n /**\r\n * Input connection: The vector to split.\r\n */\r\n public readonly vector: FlowGraphDataConnection<Vector3>;\r\n /**\r\n * Output connection: The x component of the vector.\r\n */\r\n public readonly x: FlowGraphDataConnection<number>;\r\n /**\r\n * Output connection: The y component of the vector.\r\n */\r\n public readonly y: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The z component of the vector.\r\n */\r\n public readonly z: FlowGraphDataConnection<number>;\r\n\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(config);\r\n\r\n this.vector = this.registerDataInput(\"vector\", RichTypeVector3);\r\n this.x = this.registerDataOutput(\"x\", RichTypeNumber);\r\n this.y = this.registerDataOutput(\"y\", RichTypeNumber);\r\n this.z = this.registerDataOutput(\"z\", RichTypeNumber);\r\n }\r\n\r\n public _updateOutputs(_context: FlowGraphContext): void {\r\n const vector = this.vector.getValue(_context);\r\n this.x.setValue(vector.x, _context);\r\n this.y.setValue(vector.y, _context);\r\n this.z.setValue(vector.z, _context);\r\n }\r\n\r\n public getClassName(): string {\r\n return SPLITNAME;\r\n }\r\n}\r\nRegisterClass(SPLITNAME, FlowGraphSplitVector3Block);\r\n\r\nconst ROTATENAME = \"FGRotateVector3Block\";\r\n/**\r\n * Rotates a vector by a given angle.\r\n */\r\nexport class FlowGraphRotate3dVector3Block extends FlowGraphBlock {\r\n /**\r\n * Input connection: The vector to rotate.\r\n */\r\n public readonly input: FlowGraphDataConnection<Vector3>;\r\n /**\r\n * Input connection: The axis to rotate around.\r\n */\r\n public readonly axis: FlowGraphDataConnection<Vector3>;\r\n /**\r\n * Input connection: The angle to rotate by.\r\n */\r\n public readonly angle: FlowGraphDataConnection<number>;\r\n /**\r\n * Output connection: The rotated vector.\r\n */\r\n public readonly output: FlowGraphDataConnection<Vector3>;\r\n\r\n private _cachedQuaternion = new Quaternion();\r\n\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(config);\r\n this.input = this.registerDataInput(\"input\", RichTypeVector3);\r\n this.angle = this.registerDataInput(\"angle\", RichTypeNumber);\r\n this.output = this.registerDataOutput(\"output\", RichTypeVector3);\r\n }\r\n\r\n public _updateOutputs(_context: FlowGraphContext): void {\r\n const rot = Quaternion.RotationAxisToRef(this.axis.getValue(_context), this.angle.getValue(_context), this._cachedQuaternion);\r\n const input = this.input.getValue(_context);\r\n const output = this.output.getValue(_context);\r\n input.applyRotationQuaternionToRef(rot, output);\r\n }\r\n\r\n public getClassName(): string {\r\n return ROTATENAME;\r\n }\r\n}\r\nRegisterClass(ROTATENAME, FlowGraphRotate3dVector3Block);\r\n\r\nconst TRANSFORMNAME = \"FGTransformVector3Block\";\r\n/**\r\n * Transforms a vector by a given matrix.\r\n * @experimental\r\n */\r\nexport class FlowGraphTransformVector3Block extends FlowGraphBinaryOperationBlock<Matrix, Vector3, Vector3> {\r\n private _cachedResult: Vector3 = Vector3.Zero();\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeMatrix, RichTypeVector3, RichTypeVector3, (left, right) => Vector3.TransformCoordinatesToRef(right, left, this._cachedResult), TRANSFORMNAME, config);\r\n }\r\n}\r\nRegisterClass(TRANSFORMNAME, FlowGraphTransformVector3Block);\r\n"]}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { FlowGraphBinaryOperationBlock } from "../flowGraphBinaryOperationBlock";
|
|
2
|
-
import { Vector4 } from "../../../../Maths/math.vector";
|
|
3
|
-
import { FlowGraphUnaryOperationBlock } from "../flowGraphUnaryOperationBlock";
|
|
4
|
-
import type { IFlowGraphBlockConfiguration } from "../../../flowGraphBlock";
|
|
5
|
-
import { FlowGraphBlock } from "../../../flowGraphBlock";
|
|
6
|
-
import type { FlowGraphContext } from "../../../flowGraphContext";
|
|
7
|
-
import type { FlowGraphDataConnection } from "../../../flowGraphDataConnection";
|
|
8
|
-
/**
|
|
9
|
-
* Add two vectors together.
|
|
10
|
-
* @experimental
|
|
11
|
-
*/
|
|
12
|
-
export declare class FlowGraphAddVector4Block extends FlowGraphBinaryOperationBlock<Vector4, Vector4, Vector4> {
|
|
13
|
-
constructor(config?: IFlowGraphBlockConfiguration);
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Subtract two vectors.
|
|
17
|
-
* @experimental
|
|
18
|
-
*/
|
|
19
|
-
export declare class FlowGraphSubtractVector4Block extends FlowGraphBinaryOperationBlock<Vector4, Vector4, Vector4> {
|
|
20
|
-
constructor(config?: IFlowGraphBlockConfiguration);
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Multiply two vectors together.
|
|
24
|
-
* @experimental
|
|
25
|
-
*/
|
|
26
|
-
export declare class FlowGraphMultiplyVector4Block extends FlowGraphBinaryOperationBlock<Vector4, Vector4, Vector4> {
|
|
27
|
-
constructor(config?: IFlowGraphBlockConfiguration);
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Divide two vectors.
|
|
31
|
-
* @experimental
|
|
32
|
-
*/
|
|
33
|
-
export declare class FlowGraphDivideVector4Block extends FlowGraphBinaryOperationBlock<Vector4, Vector4, Vector4> {
|
|
34
|
-
constructor(config?: IFlowGraphBlockConfiguration);
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Scale a vector by a number.
|
|
38
|
-
* @experimental
|
|
39
|
-
*/
|
|
40
|
-
export declare class FlowGraphScaleVector4Block extends FlowGraphBinaryOperationBlock<Vector4, number, Vector4> {
|
|
41
|
-
constructor(config?: IFlowGraphBlockConfiguration);
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Get the length of a vector.
|
|
45
|
-
* @experimental
|
|
46
|
-
*/
|
|
47
|
-
export declare class FlowGraphLengthVector4Block extends FlowGraphUnaryOperationBlock<Vector4, number> {
|
|
48
|
-
constructor(config?: IFlowGraphBlockConfiguration);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Normalize a vector.
|
|
52
|
-
* @experimental
|
|
53
|
-
*/
|
|
54
|
-
export declare class FlowGraphNormalizeVector4Block extends FlowGraphUnaryOperationBlock<Vector4, Vector4> {
|
|
55
|
-
constructor(config?: IFlowGraphBlockConfiguration);
|
|
56
|
-
getClassName(): string;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Create a vector from its components.
|
|
60
|
-
* @experimental
|
|
61
|
-
*/
|
|
62
|
-
export declare class FlowGraphCreateVector4Block extends FlowGraphBlock {
|
|
63
|
-
/**
|
|
64
|
-
* Input connection: The x component of the vector.
|
|
65
|
-
*/
|
|
66
|
-
readonly x: FlowGraphDataConnection<number>;
|
|
67
|
-
/**
|
|
68
|
-
* Input connection: The y component of the vector.
|
|
69
|
-
*/
|
|
70
|
-
readonly y: FlowGraphDataConnection<number>;
|
|
71
|
-
/**
|
|
72
|
-
* Input connection: The z component of the vector.
|
|
73
|
-
*/
|
|
74
|
-
readonly z: FlowGraphDataConnection<number>;
|
|
75
|
-
/**
|
|
76
|
-
* Input connection: The w component of the vector.
|
|
77
|
-
*/
|
|
78
|
-
readonly w: FlowGraphDataConnection<number>;
|
|
79
|
-
/**
|
|
80
|
-
* Output connection: The created vector.
|
|
81
|
-
*/
|
|
82
|
-
readonly vector: FlowGraphDataConnection<Vector4>;
|
|
83
|
-
private _cachedVector;
|
|
84
|
-
constructor(config?: IFlowGraphBlockConfiguration);
|
|
85
|
-
_updateOutputs(_context: FlowGraphContext): void;
|
|
86
|
-
getClassName(): string;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Split a vector into its components.
|
|
90
|
-
* @experimental
|
|
91
|
-
*/
|
|
92
|
-
export declare class FlowGraphSplitVector4Block extends FlowGraphBlock {
|
|
93
|
-
/**
|
|
94
|
-
* Input connection: The vector to split.
|
|
95
|
-
*/
|
|
96
|
-
readonly vector: FlowGraphDataConnection<Vector4>;
|
|
97
|
-
/**
|
|
98
|
-
* Output connection: The x component of the vector.
|
|
99
|
-
*/
|
|
100
|
-
readonly x: FlowGraphDataConnection<number>;
|
|
101
|
-
/**
|
|
102
|
-
* Output connection: The y component of the vector.
|
|
103
|
-
*/
|
|
104
|
-
readonly y: FlowGraphDataConnection<number>;
|
|
105
|
-
/**
|
|
106
|
-
* Input connection: The z component of the vector.
|
|
107
|
-
*/
|
|
108
|
-
readonly z: FlowGraphDataConnection<number>;
|
|
109
|
-
/**
|
|
110
|
-
* Input connection: The w component of the vector.
|
|
111
|
-
*/
|
|
112
|
-
readonly w: FlowGraphDataConnection<number>;
|
|
113
|
-
constructor(config?: IFlowGraphBlockConfiguration);
|
|
114
|
-
_updateOutputs(_context: FlowGraphContext): void;
|
|
115
|
-
getClassName(): string;
|
|
116
|
-
}
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { RichTypeNumber, RichTypeVector4 } from "../../../flowGraphRichTypes.js";
|
|
2
|
-
import { FlowGraphBinaryOperationBlock } from "../flowGraphBinaryOperationBlock.js";
|
|
3
|
-
import { Vector4 } from "../../../../Maths/math.vector.js";
|
|
4
|
-
import { FlowGraphUnaryOperationBlock } from "../flowGraphUnaryOperationBlock.js";
|
|
5
|
-
import { FlowGraphBlock } from "../../../flowGraphBlock.js";
|
|
6
|
-
import { RegisterClass } from "../../../../Misc/typeStore.js";
|
|
7
|
-
const ADDNAME = "FGAddVector4Block";
|
|
8
|
-
/**
|
|
9
|
-
* Add two vectors together.
|
|
10
|
-
* @experimental
|
|
11
|
-
*/
|
|
12
|
-
export class FlowGraphAddVector4Block extends FlowGraphBinaryOperationBlock {
|
|
13
|
-
constructor(config) {
|
|
14
|
-
super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.add(right), ADDNAME, config);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
RegisterClass(ADDNAME, FlowGraphAddVector4Block);
|
|
18
|
-
const SUBNAME = "FGSubtractVector4Block";
|
|
19
|
-
/**
|
|
20
|
-
* Subtract two vectors.
|
|
21
|
-
* @experimental
|
|
22
|
-
*/
|
|
23
|
-
export class FlowGraphSubtractVector4Block extends FlowGraphBinaryOperationBlock {
|
|
24
|
-
constructor(config) {
|
|
25
|
-
super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.subtract(right), SUBNAME, config);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
RegisterClass(SUBNAME, FlowGraphSubtractVector4Block);
|
|
29
|
-
const MULNAME = "FGMultiplyVector4Block";
|
|
30
|
-
/**
|
|
31
|
-
* Multiply two vectors together.
|
|
32
|
-
* @experimental
|
|
33
|
-
*/
|
|
34
|
-
export class FlowGraphMultiplyVector4Block extends FlowGraphBinaryOperationBlock {
|
|
35
|
-
constructor(config) {
|
|
36
|
-
super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.multiply(right), MULNAME, config);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
RegisterClass(MULNAME, FlowGraphMultiplyVector4Block);
|
|
40
|
-
const DIVNAME = "FGDivideVector4Block";
|
|
41
|
-
/**
|
|
42
|
-
* Divide two vectors.
|
|
43
|
-
* @experimental
|
|
44
|
-
*/
|
|
45
|
-
export class FlowGraphDivideVector4Block extends FlowGraphBinaryOperationBlock {
|
|
46
|
-
constructor(config) {
|
|
47
|
-
super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.divide(right), DIVNAME, config);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
RegisterClass(DIVNAME, FlowGraphDivideVector4Block);
|
|
51
|
-
const SCALNAME = "FGScaleVector4Block";
|
|
52
|
-
/**
|
|
53
|
-
* Scale a vector by a number.
|
|
54
|
-
* @experimental
|
|
55
|
-
*/
|
|
56
|
-
export class FlowGraphScaleVector4Block extends FlowGraphBinaryOperationBlock {
|
|
57
|
-
constructor(config) {
|
|
58
|
-
super(RichTypeVector4, RichTypeNumber, RichTypeVector4, (left, right) => left.scale(right), SCALNAME, config);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
RegisterClass(SCALNAME, FlowGraphScaleVector4Block);
|
|
62
|
-
const LENGTHNAME = "FGLengthVector4Block";
|
|
63
|
-
/**
|
|
64
|
-
* Get the length of a vector.
|
|
65
|
-
* @experimental
|
|
66
|
-
*/
|
|
67
|
-
export class FlowGraphLengthVector4Block extends FlowGraphUnaryOperationBlock {
|
|
68
|
-
constructor(config) {
|
|
69
|
-
super(RichTypeVector4, RichTypeNumber, (value) => value.length(), LENGTHNAME, config);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
RegisterClass(LENGTHNAME, FlowGraphLengthVector4Block);
|
|
73
|
-
const NORMALIZENAME = "FGNormalizeVector4Block";
|
|
74
|
-
/**
|
|
75
|
-
* Normalize a vector.
|
|
76
|
-
* @experimental
|
|
77
|
-
*/
|
|
78
|
-
export class FlowGraphNormalizeVector4Block extends FlowGraphUnaryOperationBlock {
|
|
79
|
-
constructor(config) {
|
|
80
|
-
super(RichTypeVector4, RichTypeVector4, (value) => {
|
|
81
|
-
const clone = value.clone();
|
|
82
|
-
clone.normalize();
|
|
83
|
-
return clone;
|
|
84
|
-
}, NORMALIZENAME, config);
|
|
85
|
-
}
|
|
86
|
-
getClassName() {
|
|
87
|
-
return NORMALIZENAME;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
RegisterClass(NORMALIZENAME, FlowGraphNormalizeVector4Block);
|
|
91
|
-
const CREATENAME = "FGCreateVector4Block";
|
|
92
|
-
/**
|
|
93
|
-
* Create a vector from its components.
|
|
94
|
-
* @experimental
|
|
95
|
-
*/
|
|
96
|
-
export class FlowGraphCreateVector4Block extends FlowGraphBlock {
|
|
97
|
-
constructor(config) {
|
|
98
|
-
super(config);
|
|
99
|
-
this._cachedVector = Vector4.Zero();
|
|
100
|
-
this.x = this.registerDataInput("x", RichTypeNumber);
|
|
101
|
-
this.y = this.registerDataInput("y", RichTypeNumber);
|
|
102
|
-
this.z = this.registerDataInput("y", RichTypeNumber);
|
|
103
|
-
this.w = this.registerDataInput("w", RichTypeNumber);
|
|
104
|
-
this.vector = this.registerDataOutput("vector", RichTypeVector4);
|
|
105
|
-
}
|
|
106
|
-
_updateOutputs(_context) {
|
|
107
|
-
this._cachedVector.x = this.x.getValue(_context);
|
|
108
|
-
this._cachedVector.y = this.y.getValue(_context);
|
|
109
|
-
this._cachedVector.z = this.z.getValue(_context);
|
|
110
|
-
this._cachedVector.w = this.w.getValue(_context);
|
|
111
|
-
this.vector.setValue(this._cachedVector, _context);
|
|
112
|
-
}
|
|
113
|
-
getClassName() {
|
|
114
|
-
return CREATENAME;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
RegisterClass(CREATENAME, FlowGraphCreateVector4Block);
|
|
118
|
-
const SPLITNAME = "FGSplitVector4Block";
|
|
119
|
-
/**
|
|
120
|
-
* Split a vector into its components.
|
|
121
|
-
* @experimental
|
|
122
|
-
*/
|
|
123
|
-
export class FlowGraphSplitVector4Block extends FlowGraphBlock {
|
|
124
|
-
constructor(config) {
|
|
125
|
-
super(config);
|
|
126
|
-
this.vector = this.registerDataInput("vector", RichTypeVector4);
|
|
127
|
-
this.x = this.registerDataOutput("x", RichTypeNumber);
|
|
128
|
-
this.y = this.registerDataOutput("y", RichTypeNumber);
|
|
129
|
-
this.z = this.registerDataOutput("z", RichTypeNumber);
|
|
130
|
-
this.w = this.registerDataOutput("w", RichTypeNumber);
|
|
131
|
-
}
|
|
132
|
-
_updateOutputs(_context) {
|
|
133
|
-
const vector = this.vector.getValue(_context);
|
|
134
|
-
this.x.setValue(vector.x, _context);
|
|
135
|
-
this.y.setValue(vector.y, _context);
|
|
136
|
-
this.z.setValue(vector.z, _context);
|
|
137
|
-
this.w.setValue(vector.w, _context);
|
|
138
|
-
}
|
|
139
|
-
getClassName() {
|
|
140
|
-
return SPLITNAME;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
RegisterClass(SPLITNAME, FlowGraphSplitVector4Block);
|
|
144
|
-
//# sourceMappingURL=flowGraphVector4MathBlocks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flowGraphVector4MathBlocks.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FlowGraph/Blocks/Data/Math/flowGraphVector4MathBlocks.ts"],"names":[],"mappings":"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","sourcesContent":["import { RichTypeNumber, RichTypeVector4 } from \"core/FlowGraph/flowGraphRichTypes\";\r\nimport { FlowGraphBinaryOperationBlock } from \"../flowGraphBinaryOperationBlock\";\r\nimport { Vector4 } from \"../../../../Maths/math.vector\";\r\nimport { FlowGraphUnaryOperationBlock } from \"../flowGraphUnaryOperationBlock\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../../flowGraphBlock\";\r\nimport { FlowGraphBlock } from \"../../../flowGraphBlock\";\r\nimport { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport type { FlowGraphContext } from \"../../../flowGraphContext\";\r\nimport type { FlowGraphDataConnection } from \"../../../flowGraphDataConnection\";\r\n\r\nconst ADDNAME = \"FGAddVector4Block\";\r\n/**\r\n * Add two vectors together.\r\n * @experimental\r\n */\r\nexport class FlowGraphAddVector4Block extends FlowGraphBinaryOperationBlock<Vector4, Vector4, Vector4> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.add(right), ADDNAME, config);\r\n }\r\n}\r\nRegisterClass(ADDNAME, FlowGraphAddVector4Block);\r\n\r\nconst SUBNAME = \"FGSubtractVector4Block\";\r\n/**\r\n * Subtract two vectors.\r\n * @experimental\r\n */\r\nexport class FlowGraphSubtractVector4Block extends FlowGraphBinaryOperationBlock<Vector4, Vector4, Vector4> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.subtract(right), SUBNAME, config);\r\n }\r\n}\r\nRegisterClass(SUBNAME, FlowGraphSubtractVector4Block);\r\n\r\nconst MULNAME = \"FGMultiplyVector4Block\";\r\n/**\r\n * Multiply two vectors together.\r\n * @experimental\r\n */\r\nexport class FlowGraphMultiplyVector4Block extends FlowGraphBinaryOperationBlock<Vector4, Vector4, Vector4> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.multiply(right), MULNAME, config);\r\n }\r\n}\r\nRegisterClass(MULNAME, FlowGraphMultiplyVector4Block);\r\n\r\nconst DIVNAME = \"FGDivideVector4Block\";\r\n/**\r\n * Divide two vectors.\r\n * @experimental\r\n */\r\nexport class FlowGraphDivideVector4Block extends FlowGraphBinaryOperationBlock<Vector4, Vector4, Vector4> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.divide(right), DIVNAME, config);\r\n }\r\n}\r\nRegisterClass(DIVNAME, FlowGraphDivideVector4Block);\r\n\r\nconst SCALNAME = \"FGScaleVector4Block\";\r\n/**\r\n * Scale a vector by a number.\r\n * @experimental\r\n */\r\nexport class FlowGraphScaleVector4Block extends FlowGraphBinaryOperationBlock<Vector4, number, Vector4> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector4, RichTypeNumber, RichTypeVector4, (left, right) => left.scale(right), SCALNAME, config);\r\n }\r\n}\r\nRegisterClass(SCALNAME, FlowGraphScaleVector4Block);\r\n\r\nconst LENGTHNAME = \"FGLengthVector4Block\";\r\n/**\r\n * Get the length of a vector.\r\n * @experimental\r\n */\r\nexport class FlowGraphLengthVector4Block extends FlowGraphUnaryOperationBlock<Vector4, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector4, RichTypeNumber, (value) => value.length(), LENGTHNAME, config);\r\n }\r\n}\r\nRegisterClass(LENGTHNAME, FlowGraphLengthVector4Block);\r\n\r\nconst NORMALIZENAME = \"FGNormalizeVector4Block\";\r\n/**\r\n * Normalize a vector.\r\n * @experimental\r\n */\r\nexport class FlowGraphNormalizeVector4Block extends FlowGraphUnaryOperationBlock<Vector4, Vector4> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(\r\n RichTypeVector4,\r\n RichTypeVector4,\r\n (value: Vector4) => {\r\n const clone = value.clone();\r\n clone.normalize();\r\n return clone;\r\n },\r\n NORMALIZENAME,\r\n config\r\n );\r\n }\r\n\r\n public getClassName(): string {\r\n return NORMALIZENAME;\r\n }\r\n}\r\nRegisterClass(NORMALIZENAME, FlowGraphNormalizeVector4Block);\r\n\r\nconst CREATENAME = \"FGCreateVector4Block\";\r\n/**\r\n * Create a vector from its components.\r\n * @experimental\r\n */\r\nexport class FlowGraphCreateVector4Block extends FlowGraphBlock {\r\n /**\r\n * Input connection: The x component of the vector.\r\n */\r\n public readonly x: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The y component of the vector.\r\n */\r\n public readonly y: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The z component of the vector.\r\n */\r\n public readonly z: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The w component of the vector.\r\n */\r\n public readonly w: FlowGraphDataConnection<number>;\r\n /**\r\n * Output connection: The created vector.\r\n */\r\n public readonly vector: FlowGraphDataConnection<Vector4>;\r\n\r\n private _cachedVector: Vector4 = Vector4.Zero();\r\n\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(config);\r\n\r\n this.x = this.registerDataInput(\"x\", RichTypeNumber);\r\n this.y = this.registerDataInput(\"y\", RichTypeNumber);\r\n this.z = this.registerDataInput(\"y\", RichTypeNumber);\r\n this.w = this.registerDataInput(\"w\", RichTypeNumber);\r\n this.vector = this.registerDataOutput(\"vector\", RichTypeVector4);\r\n }\r\n\r\n public _updateOutputs(_context: FlowGraphContext): void {\r\n this._cachedVector.x = this.x.getValue(_context);\r\n this._cachedVector.y = this.y.getValue(_context);\r\n this._cachedVector.z = this.z.getValue(_context);\r\n this._cachedVector.w = this.w.getValue(_context);\r\n this.vector.setValue(this._cachedVector, _context);\r\n }\r\n\r\n public getClassName(): string {\r\n return CREATENAME;\r\n }\r\n}\r\nRegisterClass(CREATENAME, FlowGraphCreateVector4Block);\r\n\r\nconst SPLITNAME = \"FGSplitVector4Block\";\r\n/**\r\n * Split a vector into its components.\r\n * @experimental\r\n */\r\nexport class FlowGraphSplitVector4Block extends FlowGraphBlock {\r\n /**\r\n * Input connection: The vector to split.\r\n */\r\n public readonly vector: FlowGraphDataConnection<Vector4>;\r\n /**\r\n * Output connection: The x component of the vector.\r\n */\r\n public readonly x: FlowGraphDataConnection<number>;\r\n /**\r\n * Output connection: The y component of the vector.\r\n */\r\n public readonly y: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The z component of the vector.\r\n */\r\n public readonly z: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The w component of the vector.\r\n */\r\n public readonly w: FlowGraphDataConnection<number>;\r\n\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(config);\r\n\r\n this.vector = this.registerDataInput(\"vector\", RichTypeVector4);\r\n this.x = this.registerDataOutput(\"x\", RichTypeNumber);\r\n this.y = this.registerDataOutput(\"y\", RichTypeNumber);\r\n this.z = this.registerDataOutput(\"z\", RichTypeNumber);\r\n this.w = this.registerDataOutput(\"w\", RichTypeNumber);\r\n }\r\n\r\n public _updateOutputs(_context: FlowGraphContext): void {\r\n const vector = this.vector.getValue(_context);\r\n this.x.setValue(vector.x, _context);\r\n this.y.setValue(vector.y, _context);\r\n this.z.setValue(vector.z, _context);\r\n this.w.setValue(vector.w, _context);\r\n }\r\n\r\n public getClassName(): string {\r\n return SPLITNAME;\r\n }\r\n}\r\nRegisterClass(SPLITNAME, FlowGraphSplitVector4Block);\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flowGraphLogBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Execution/flowGraphLogBlock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iCAAiC,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD;;;GAGG;AACH,MAAM,OAAO,iBAAkB,SAAQ,iCAAiC;IAMpE,YAAmB,MAAqC;QACpD,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACI,QAAQ,CAAC,OAAyB;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,iCAAiC;QACjC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAEM,YAAY;QACf,OAAO,YAAY,CAAC;IACxB,CAAC;CACJ;AACD,aAAa,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC","sourcesContent":["import type { FlowGraphContext } from \"../../flowGraphContext\";\r\nimport type { FlowGraphDataConnection } from \"../../flowGraphDataConnection\";\r\nimport { FlowGraphWithOnDoneExecutionBlock } from \"../../flowGraphWithOnDoneExecutionBlock\";\r\nimport { RichTypeAny } from \"../../flowGraphRichTypes\";\r\nimport { RegisterClass } from \"../../../Misc/typeStore\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../flowGraphBlock\";\r\n\r\n/**\r\n * @experimental\r\n * Block that logs a message to the console.\r\n */\r\nexport class FlowGraphLogBlock extends FlowGraphWithOnDoneExecutionBlock {\r\n /**\r\n * Input connection: The message to log.\r\n */\r\n public readonly message: FlowGraphDataConnection<any>;\r\n\r\n public constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(config);\r\n this.message = this.registerDataInput(\"message\", RichTypeAny);\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public _execute(context: FlowGraphContext): void {\r\n const messageValue = this.message.getValue(context);\r\n console.log(messageValue);\r\n // activate the output flow block\r\n this.onDone._activateSignal(context);\r\n }\r\n\r\n public getClassName(): string {\r\n return \"FGLogBlock\";\r\n }\r\n}\r\nRegisterClass(\"FGLogBlock\", FlowGraphLogBlock);\r\n"]}
|