@babylonjs/node-editor 5.0.0-rc.1 → 5.0.0-rc.10
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/dist/babylon.nodeEditor.js +3 -0
- package/dist/babylon.nodeEditor.js.LICENSE.txt +47 -0
- package/dist/babylon.nodeEditor.js.map +1 -0
- package/dist/babylon.nodeEditor.max.js +73082 -0
- package/dist/babylon.nodeEditor.max.js.map +1 -0
- package/dist/babylon.nodeEditor.module.d.ts +3397 -0
- package/package.json +28 -23
- package/babylon.nodeEditor.max.js +0 -67353
- package/babylon.nodeEditor.max.js.map +0 -1
- package/babylon.nodeEditor.module.d.ts +0 -3163
|
@@ -0,0 +1,3397 @@
|
|
|
1
|
+
|
|
2
|
+
declare module "@babylonjs/node-editor/blockTools" {
|
|
3
|
+
import { DiscardBlock } from "@babylonjs/core/Materials/Node/Blocks/Fragment/discardBlock";
|
|
4
|
+
import { BonesBlock } from "@babylonjs/core/Materials/Node/Blocks/Vertex/bonesBlock";
|
|
5
|
+
import { InstancesBlock } from "@babylonjs/core/Materials/Node/Blocks/Vertex/instancesBlock";
|
|
6
|
+
import { MorphTargetsBlock } from "@babylonjs/core/Materials/Node/Blocks/Vertex/morphTargetsBlock";
|
|
7
|
+
import { ImageProcessingBlock } from "@babylonjs/core/Materials/Node/Blocks/Fragment/imageProcessingBlock";
|
|
8
|
+
import { ColorMergerBlock } from "@babylonjs/core/Materials/Node/Blocks/colorMergerBlock";
|
|
9
|
+
import { VectorMergerBlock } from "@babylonjs/core/Materials/Node/Blocks/vectorMergerBlock";
|
|
10
|
+
import { ColorSplitterBlock } from "@babylonjs/core/Materials/Node/Blocks/colorSplitterBlock";
|
|
11
|
+
import { VectorSplitterBlock } from "@babylonjs/core/Materials/Node/Blocks/vectorSplitterBlock";
|
|
12
|
+
import { RemapBlock } from "@babylonjs/core/Materials/Node/Blocks/remapBlock";
|
|
13
|
+
import { TextureBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/textureBlock";
|
|
14
|
+
import { ReflectionTextureBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/reflectionTextureBlock";
|
|
15
|
+
import { LightBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/lightBlock";
|
|
16
|
+
import { FogBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/fogBlock";
|
|
17
|
+
import { VertexOutputBlock } from "@babylonjs/core/Materials/Node/Blocks/Vertex/vertexOutputBlock";
|
|
18
|
+
import { FragmentOutputBlock } from "@babylonjs/core/Materials/Node/Blocks/Fragment/fragmentOutputBlock";
|
|
19
|
+
import { NormalizeBlock } from "@babylonjs/core/Materials/Node/Blocks/normalizeBlock";
|
|
20
|
+
import { AddBlock } from "@babylonjs/core/Materials/Node/Blocks/addBlock";
|
|
21
|
+
import { ModBlock } from "@babylonjs/core/Materials/Node/Blocks/modBlock";
|
|
22
|
+
import { ScaleBlock } from "@babylonjs/core/Materials/Node/Blocks/scaleBlock";
|
|
23
|
+
import { TrigonometryBlock } from "@babylonjs/core/Materials/Node/Blocks/trigonometryBlock";
|
|
24
|
+
import { ConditionalBlock } from "@babylonjs/core/Materials/Node/Blocks/conditionalBlock";
|
|
25
|
+
import { ClampBlock } from "@babylonjs/core/Materials/Node/Blocks/clampBlock";
|
|
26
|
+
import { CrossBlock } from "@babylonjs/core/Materials/Node/Blocks/crossBlock";
|
|
27
|
+
import { DotBlock } from "@babylonjs/core/Materials/Node/Blocks/dotBlock";
|
|
28
|
+
import { MultiplyBlock } from "@babylonjs/core/Materials/Node/Blocks/multiplyBlock";
|
|
29
|
+
import { TransformBlock } from "@babylonjs/core/Materials/Node/Blocks/transformBlock";
|
|
30
|
+
import { NodeMaterialBlockConnectionPointTypes } from "@babylonjs/core/Materials/Node/Enums/nodeMaterialBlockConnectionPointTypes";
|
|
31
|
+
import { FresnelBlock } from "@babylonjs/core/Materials/Node/Blocks/fresnelBlock";
|
|
32
|
+
import { LerpBlock } from "@babylonjs/core/Materials/Node/Blocks/lerpBlock";
|
|
33
|
+
import { NLerpBlock } from "@babylonjs/core/Materials/Node/Blocks/nLerpBlock";
|
|
34
|
+
import { DivideBlock } from "@babylonjs/core/Materials/Node/Blocks/divideBlock";
|
|
35
|
+
import { SubtractBlock } from "@babylonjs/core/Materials/Node/Blocks/subtractBlock";
|
|
36
|
+
import { StepBlock } from "@babylonjs/core/Materials/Node/Blocks/stepBlock";
|
|
37
|
+
import { SmoothStepBlock } from "@babylonjs/core/Materials/Node/Blocks/smoothStepBlock";
|
|
38
|
+
import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
|
|
39
|
+
import { OneMinusBlock } from "@babylonjs/core/Materials/Node/Blocks/oneMinusBlock";
|
|
40
|
+
import { ViewDirectionBlock } from "@babylonjs/core/Materials/Node/Blocks/viewDirectionBlock";
|
|
41
|
+
import { LightInformationBlock } from "@babylonjs/core/Materials/Node/Blocks/Vertex/lightInformationBlock";
|
|
42
|
+
import { MaxBlock } from "@babylonjs/core/Materials/Node/Blocks/maxBlock";
|
|
43
|
+
import { MinBlock } from "@babylonjs/core/Materials/Node/Blocks/minBlock";
|
|
44
|
+
import { PerturbNormalBlock } from "@babylonjs/core/Materials/Node/Blocks/Fragment/perturbNormalBlock";
|
|
45
|
+
import { LengthBlock } from "@babylonjs/core/Materials/Node/Blocks/lengthBlock";
|
|
46
|
+
import { DistanceBlock } from "@babylonjs/core/Materials/Node/Blocks/distanceBlock";
|
|
47
|
+
import { FrontFacingBlock } from "@babylonjs/core/Materials/Node/Blocks/Fragment/frontFacingBlock";
|
|
48
|
+
import { NegateBlock } from "@babylonjs/core/Materials/Node/Blocks/negateBlock";
|
|
49
|
+
import { PowBlock } from "@babylonjs/core/Materials/Node/Blocks/powBlock";
|
|
50
|
+
import { Scene } from "@babylonjs/core/scene";
|
|
51
|
+
import { RandomNumberBlock } from "@babylonjs/core/Materials/Node/Blocks/randomNumberBlock";
|
|
52
|
+
import { ReplaceColorBlock } from "@babylonjs/core/Materials/Node/Blocks/replaceColorBlock";
|
|
53
|
+
import { PosterizeBlock } from "@babylonjs/core/Materials/Node/Blocks/posterizeBlock";
|
|
54
|
+
import { ArcTan2Block } from "@babylonjs/core/Materials/Node/Blocks/arcTan2Block";
|
|
55
|
+
import { ReciprocalBlock } from "@babylonjs/core/Materials/Node/Blocks/reciprocalBlock";
|
|
56
|
+
import { GradientBlock } from "@babylonjs/core/Materials/Node/Blocks/gradientBlock";
|
|
57
|
+
import { WaveBlock } from "@babylonjs/core/Materials/Node/Blocks/waveBlock";
|
|
58
|
+
import { NodeMaterial } from "@babylonjs/core/Materials/Node/nodeMaterial";
|
|
59
|
+
import { WorleyNoise3DBlock } from "@babylonjs/core/Materials/Node/Blocks/worleyNoise3DBlock";
|
|
60
|
+
import { SimplexPerlin3DBlock } from "@babylonjs/core/Materials/Node/Blocks/simplexPerlin3DBlock";
|
|
61
|
+
import { NormalBlendBlock } from "@babylonjs/core/Materials/Node/Blocks/normalBlendBlock";
|
|
62
|
+
import { Rotate2dBlock } from "@babylonjs/core/Materials/Node/Blocks/rotate2dBlock";
|
|
63
|
+
import { DerivativeBlock } from "@babylonjs/core/Materials/Node/Blocks/Fragment/derivativeBlock";
|
|
64
|
+
import { RefractBlock } from "@babylonjs/core/Materials/Node/Blocks/refractBlock";
|
|
65
|
+
import { ReflectBlock } from "@babylonjs/core/Materials/Node/Blocks/reflectBlock";
|
|
66
|
+
import { DesaturateBlock } from "@babylonjs/core/Materials/Node/Blocks/desaturateBlock";
|
|
67
|
+
import { PBRMetallicRoughnessBlock } from "@babylonjs/core/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock";
|
|
68
|
+
import { SheenBlock } from "@babylonjs/core/Materials/Node/Blocks/PBR/sheenBlock";
|
|
69
|
+
import { AnisotropyBlock } from "@babylonjs/core/Materials/Node/Blocks/PBR/anisotropyBlock";
|
|
70
|
+
import { ReflectionBlock } from "@babylonjs/core/Materials/Node/Blocks/PBR/reflectionBlock";
|
|
71
|
+
import { ClearCoatBlock } from "@babylonjs/core/Materials/Node/Blocks/PBR/clearCoatBlock";
|
|
72
|
+
import { RefractionBlock } from "@babylonjs/core/Materials/Node/Blocks/PBR/refractionBlock";
|
|
73
|
+
import { SubSurfaceBlock } from "@babylonjs/core/Materials/Node/Blocks/PBR/subSurfaceBlock";
|
|
74
|
+
import { CurrentScreenBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/currentScreenBlock";
|
|
75
|
+
import { ParticleTextureBlock } from "@babylonjs/core/Materials/Node/Blocks/Particle/particleTextureBlock";
|
|
76
|
+
import { ParticleRampGradientBlock } from "@babylonjs/core/Materials/Node/Blocks/Particle/particleRampGradientBlock";
|
|
77
|
+
import { ParticleBlendMultiplyBlock } from "@babylonjs/core/Materials/Node/Blocks/Particle/particleBlendMultiplyBlock";
|
|
78
|
+
import { FragCoordBlock } from "@babylonjs/core/Materials/Node/Blocks/Fragment/fragCoordBlock";
|
|
79
|
+
import { ScreenSizeBlock } from "@babylonjs/core/Materials/Node/Blocks/Fragment/screenSizeBlock";
|
|
80
|
+
import { MatrixBuilderBlock } from "@babylonjs/core/Materials/Node/Blocks/matrixBuilderBlock";
|
|
81
|
+
import { SceneDepthBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/sceneDepthBlock";
|
|
82
|
+
import { ImageSourceBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/imageSourceBlock";
|
|
83
|
+
import { CloudBlock } from "@babylonjs/core/Materials/Node/Blocks/cloudBlock";
|
|
84
|
+
import { VoronoiNoiseBlock } from "@babylonjs/core/Materials/Node/Blocks/voronoiNoiseBlock";
|
|
85
|
+
import { ScreenSpaceBlock } from "@babylonjs/core/Materials/Node/Blocks/Fragment/screenSpaceBlock";
|
|
86
|
+
import { TwirlBlock } from "@babylonjs/core/Materials/Node/Blocks/Fragment/twirlBlock";
|
|
87
|
+
import { ElbowBlock } from "@babylonjs/core/Materials/Node/Blocks/elbowBlock";
|
|
88
|
+
import { ClipPlanesBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/clipPlanesBlock";
|
|
89
|
+
export class BlockTools {
|
|
90
|
+
static GetBlockFromString(data: string, scene: Scene, nodeMaterial: NodeMaterial): ElbowBlock | TwirlBlock | VoronoiNoiseBlock | ScreenSpaceBlock | CloudBlock | MatrixBuilderBlock | DesaturateBlock | RefractBlock | ReflectBlock | DerivativeBlock | Rotate2dBlock | NormalBlendBlock | WorleyNoise3DBlock | SimplexPerlin3DBlock | BonesBlock | InstancesBlock | MorphTargetsBlock | DiscardBlock | ImageProcessingBlock | ColorMergerBlock | VectorMergerBlock | ColorSplitterBlock | VectorSplitterBlock | TextureBlock | ReflectionTextureBlock | LightBlock | FogBlock | VertexOutputBlock | FragmentOutputBlock | AddBlock | ClampBlock | ScaleBlock | CrossBlock | DotBlock | PowBlock | MultiplyBlock | TransformBlock | TrigonometryBlock | RemapBlock | NormalizeBlock | FresnelBlock | LerpBlock | NLerpBlock | DivideBlock | SubtractBlock | ModBlock | StepBlock | SmoothStepBlock | OneMinusBlock | ReciprocalBlock | ViewDirectionBlock | LightInformationBlock | MaxBlock | MinBlock | LengthBlock | DistanceBlock | NegateBlock | PerturbNormalBlock | RandomNumberBlock | ReplaceColorBlock | PosterizeBlock | ArcTan2Block | GradientBlock | FrontFacingBlock | WaveBlock | InputBlock | PBRMetallicRoughnessBlock | SheenBlock | AnisotropyBlock | ReflectionBlock | ClearCoatBlock | RefractionBlock | SubSurfaceBlock | CurrentScreenBlock | ParticleTextureBlock | ParticleRampGradientBlock | ParticleBlendMultiplyBlock | FragCoordBlock | ScreenSizeBlock | SceneDepthBlock | ConditionalBlock | ImageSourceBlock | ClipPlanesBlock | null;
|
|
91
|
+
static GetColorFromConnectionNodeType(type: NodeMaterialBlockConnectionPointTypes): string;
|
|
92
|
+
static GetConnectionNodeTypeFromString(type: string): NodeMaterialBlockConnectionPointTypes.Float | NodeMaterialBlockConnectionPointTypes.Vector2 | NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Vector4 | NodeMaterialBlockConnectionPointTypes.Color3 | NodeMaterialBlockConnectionPointTypes.Color4 | NodeMaterialBlockConnectionPointTypes.Matrix | NodeMaterialBlockConnectionPointTypes.AutoDetect;
|
|
93
|
+
static GetStringFromConnectionNodeType(type: NodeMaterialBlockConnectionPointTypes): "" | "Float" | "Vector2" | "Vector3" | "Vector4" | "Matrix" | "Color3" | "Color4";
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
}
|
|
97
|
+
declare module "@babylonjs/node-editor/components/log/logComponent" {
|
|
98
|
+
import * as React from "react";
|
|
99
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
100
|
+
import "@babylonjs/node-editor/components/log/log.scss";
|
|
101
|
+
interface ILogComponentProps {
|
|
102
|
+
globalState: GlobalState;
|
|
103
|
+
}
|
|
104
|
+
export class LogEntry {
|
|
105
|
+
message: string;
|
|
106
|
+
isError: boolean;
|
|
107
|
+
time: Date;
|
|
108
|
+
constructor(message: string, isError: boolean);
|
|
109
|
+
}
|
|
110
|
+
export class LogComponent extends React.Component<ILogComponentProps, {
|
|
111
|
+
logs: LogEntry[];
|
|
112
|
+
}> {
|
|
113
|
+
constructor(props: ILogComponentProps);
|
|
114
|
+
componentDidMount(): void;
|
|
115
|
+
componentDidUpdate(): void;
|
|
116
|
+
render(): JSX.Element;
|
|
117
|
+
}
|
|
118
|
+
export {};
|
|
119
|
+
|
|
120
|
+
}
|
|
121
|
+
declare module "@babylonjs/node-editor/components/nodeList/nodeListComponent" {
|
|
122
|
+
import * as React from "react";
|
|
123
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
124
|
+
import "@babylonjs/node-editor/components/nodeList/nodeList.scss";
|
|
125
|
+
interface INodeListComponentProps {
|
|
126
|
+
globalState: GlobalState;
|
|
127
|
+
}
|
|
128
|
+
export class NodeListComponent extends React.Component<INodeListComponentProps, {
|
|
129
|
+
filter: string;
|
|
130
|
+
}> {
|
|
131
|
+
private _onResetRequiredObserver;
|
|
132
|
+
private static _Tooltips;
|
|
133
|
+
private _customFrameList;
|
|
134
|
+
private _customBlockList;
|
|
135
|
+
constructor(props: INodeListComponentProps);
|
|
136
|
+
componentWillUnmount(): void;
|
|
137
|
+
filterContent(filter: string): void;
|
|
138
|
+
loadCustomFrame(file: File): void;
|
|
139
|
+
removeItem(value: string): void;
|
|
140
|
+
loadCustomBlock(file: File): void;
|
|
141
|
+
removeCustomBlock(value: string): void;
|
|
142
|
+
render(): JSX.Element;
|
|
143
|
+
}
|
|
144
|
+
export {};
|
|
145
|
+
|
|
146
|
+
}
|
|
147
|
+
declare module "@babylonjs/node-editor/components/preview/previewAreaComponent" {
|
|
148
|
+
import * as React from "react";
|
|
149
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
150
|
+
interface IPreviewAreaComponentProps {
|
|
151
|
+
globalState: GlobalState;
|
|
152
|
+
width: number;
|
|
153
|
+
}
|
|
154
|
+
export class PreviewAreaComponent extends React.Component<IPreviewAreaComponentProps, {
|
|
155
|
+
isLoading: boolean;
|
|
156
|
+
}> {
|
|
157
|
+
private _onIsLoadingChangedObserver;
|
|
158
|
+
private _onResetRequiredObserver;
|
|
159
|
+
constructor(props: IPreviewAreaComponentProps);
|
|
160
|
+
componentWillUnmount(): void;
|
|
161
|
+
changeBackFaceCulling(value: boolean): void;
|
|
162
|
+
changeDepthPrePass(value: boolean): void;
|
|
163
|
+
changeParticleSystemBlendMode(newOne: number): void;
|
|
164
|
+
render(): JSX.Element;
|
|
165
|
+
}
|
|
166
|
+
export {};
|
|
167
|
+
|
|
168
|
+
}
|
|
169
|
+
declare module "@babylonjs/node-editor/components/preview/previewManager" {
|
|
170
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
171
|
+
import "@babylonjs/core/Rendering/depthRendererSceneComponent";
|
|
172
|
+
export class PreviewManager {
|
|
173
|
+
private _nodeMaterial;
|
|
174
|
+
private _onBuildObserver;
|
|
175
|
+
private _onPreviewCommandActivatedObserver;
|
|
176
|
+
private _onAnimationCommandActivatedObserver;
|
|
177
|
+
private _onUpdateRequiredObserver;
|
|
178
|
+
private _onPreviewBackgroundChangedObserver;
|
|
179
|
+
private _onBackFaceCullingChangedObserver;
|
|
180
|
+
private _onDepthPrePassChangedObserver;
|
|
181
|
+
private _onLightUpdatedObserver;
|
|
182
|
+
private _engine;
|
|
183
|
+
private _scene;
|
|
184
|
+
private _meshes;
|
|
185
|
+
private _camera;
|
|
186
|
+
private _material;
|
|
187
|
+
private _globalState;
|
|
188
|
+
private _currentType;
|
|
189
|
+
private _lightParent;
|
|
190
|
+
private _postprocess;
|
|
191
|
+
private _proceduralTexture;
|
|
192
|
+
private _particleSystem;
|
|
193
|
+
private _layer;
|
|
194
|
+
constructor(targetCanvas: HTMLCanvasElement, globalState: GlobalState);
|
|
195
|
+
private _handleAnimations;
|
|
196
|
+
private _prepareLights;
|
|
197
|
+
private _prepareScene;
|
|
198
|
+
private _refreshPreviewMesh;
|
|
199
|
+
private _loadParticleSystem;
|
|
200
|
+
private _forceCompilationAsync;
|
|
201
|
+
private _updatePreview;
|
|
202
|
+
dispose(): void;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
}
|
|
206
|
+
declare module "@babylonjs/node-editor/components/preview/previewMeshControlComponent" {
|
|
207
|
+
import * as React from "react";
|
|
208
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
209
|
+
import { PreviewType } from "@babylonjs/node-editor/components/preview/previewType";
|
|
210
|
+
interface IPreviewMeshControlComponent {
|
|
211
|
+
globalState: GlobalState;
|
|
212
|
+
togglePreviewAreaComponent: () => void;
|
|
213
|
+
}
|
|
214
|
+
export class PreviewMeshControlComponent extends React.Component<IPreviewMeshControlComponent> {
|
|
215
|
+
private _colorInputRef;
|
|
216
|
+
private _filePickerRef;
|
|
217
|
+
private _onResetRequiredObserver;
|
|
218
|
+
constructor(props: IPreviewMeshControlComponent);
|
|
219
|
+
componentWillUnmount(): void;
|
|
220
|
+
changeMeshType(newOne: PreviewType): void;
|
|
221
|
+
useCustomMesh(evt: any): void;
|
|
222
|
+
onPopUp(): void;
|
|
223
|
+
changeAnimation(): void;
|
|
224
|
+
changeBackground(value: string): void;
|
|
225
|
+
changeBackgroundClick(): void;
|
|
226
|
+
render(): JSX.Element;
|
|
227
|
+
}
|
|
228
|
+
export {};
|
|
229
|
+
|
|
230
|
+
}
|
|
231
|
+
declare module "@babylonjs/node-editor/components/preview/previewType" {
|
|
232
|
+
export enum PreviewType {
|
|
233
|
+
Sphere = 0,
|
|
234
|
+
Box = 1,
|
|
235
|
+
Torus = 2,
|
|
236
|
+
Cylinder = 3,
|
|
237
|
+
Plane = 4,
|
|
238
|
+
ShaderBall = 5,
|
|
239
|
+
DefaultParticleSystem = 6,
|
|
240
|
+
Bubbles = 7,
|
|
241
|
+
Smoke = 8,
|
|
242
|
+
Rain = 9,
|
|
243
|
+
Explosion = 10,
|
|
244
|
+
Fire = 11,
|
|
245
|
+
Custom = 12
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
}
|
|
249
|
+
declare module "@babylonjs/node-editor/components/propertyTab/inputsPropertyTabComponent" {
|
|
250
|
+
import * as React from "react";
|
|
251
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
252
|
+
import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
|
|
253
|
+
import "@babylonjs/node-editor/components/propertyTab/propertyTab.scss";
|
|
254
|
+
interface IInputsPropertyTabComponentProps {
|
|
255
|
+
globalState: GlobalState;
|
|
256
|
+
inputs: InputBlock[];
|
|
257
|
+
}
|
|
258
|
+
export class InputsPropertyTabComponent extends React.Component<IInputsPropertyTabComponentProps> {
|
|
259
|
+
constructor(props: IInputsPropertyTabComponentProps);
|
|
260
|
+
processInputBlockUpdate(ib: InputBlock): void;
|
|
261
|
+
renderInputBlock(block: InputBlock): JSX.Element | null;
|
|
262
|
+
render(): JSX.Element;
|
|
263
|
+
}
|
|
264
|
+
export {};
|
|
265
|
+
|
|
266
|
+
}
|
|
267
|
+
declare module "@babylonjs/node-editor/components/propertyTab/properties/color3PropertyTabComponent" {
|
|
268
|
+
import * as React from "react";
|
|
269
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
270
|
+
import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
|
|
271
|
+
interface IColor3PropertyTabComponentProps {
|
|
272
|
+
globalState: GlobalState;
|
|
273
|
+
inputBlock: InputBlock;
|
|
274
|
+
}
|
|
275
|
+
export class Color3PropertyTabComponent extends React.Component<IColor3PropertyTabComponentProps> {
|
|
276
|
+
render(): JSX.Element;
|
|
277
|
+
}
|
|
278
|
+
export {};
|
|
279
|
+
|
|
280
|
+
}
|
|
281
|
+
declare module "@babylonjs/node-editor/components/propertyTab/properties/color4PropertyTabComponent" {
|
|
282
|
+
import * as React from "react";
|
|
283
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
284
|
+
import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
|
|
285
|
+
interface IColor4PropertyTabComponentProps {
|
|
286
|
+
globalState: GlobalState;
|
|
287
|
+
inputBlock: InputBlock;
|
|
288
|
+
}
|
|
289
|
+
export class Color4PropertyTabComponent extends React.Component<IColor4PropertyTabComponentProps> {
|
|
290
|
+
render(): JSX.Element;
|
|
291
|
+
}
|
|
292
|
+
export {};
|
|
293
|
+
|
|
294
|
+
}
|
|
295
|
+
declare module "@babylonjs/node-editor/components/propertyTab/properties/floatPropertyTabComponent" {
|
|
296
|
+
import * as React from "react";
|
|
297
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
298
|
+
import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
|
|
299
|
+
interface IFloatPropertyTabComponentProps {
|
|
300
|
+
globalState: GlobalState;
|
|
301
|
+
inputBlock: InputBlock;
|
|
302
|
+
}
|
|
303
|
+
export class FloatPropertyTabComponent extends React.Component<IFloatPropertyTabComponentProps> {
|
|
304
|
+
render(): JSX.Element;
|
|
305
|
+
}
|
|
306
|
+
export {};
|
|
307
|
+
|
|
308
|
+
}
|
|
309
|
+
declare module "@babylonjs/node-editor/components/propertyTab/properties/matrixPropertyTabComponent" {
|
|
310
|
+
import * as React from "react";
|
|
311
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
312
|
+
import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
|
|
313
|
+
interface IMatrixPropertyTabComponentProps {
|
|
314
|
+
globalState: GlobalState;
|
|
315
|
+
inputBlock: InputBlock;
|
|
316
|
+
}
|
|
317
|
+
export class MatrixPropertyTabComponent extends React.Component<IMatrixPropertyTabComponentProps> {
|
|
318
|
+
render(): JSX.Element;
|
|
319
|
+
}
|
|
320
|
+
export {};
|
|
321
|
+
|
|
322
|
+
}
|
|
323
|
+
declare module "@babylonjs/node-editor/components/propertyTab/properties/vector2PropertyTabComponent" {
|
|
324
|
+
import * as React from "react";
|
|
325
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
326
|
+
import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
|
|
327
|
+
interface IVector2PropertyTabComponentProps {
|
|
328
|
+
globalState: GlobalState;
|
|
329
|
+
inputBlock: InputBlock;
|
|
330
|
+
}
|
|
331
|
+
export class Vector2PropertyTabComponent extends React.Component<IVector2PropertyTabComponentProps> {
|
|
332
|
+
render(): JSX.Element;
|
|
333
|
+
}
|
|
334
|
+
export {};
|
|
335
|
+
|
|
336
|
+
}
|
|
337
|
+
declare module "@babylonjs/node-editor/components/propertyTab/properties/vector3PropertyTabComponent" {
|
|
338
|
+
import * as React from "react";
|
|
339
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
340
|
+
import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
|
|
341
|
+
interface IVector3PropertyTabComponentProps {
|
|
342
|
+
globalState: GlobalState;
|
|
343
|
+
inputBlock: InputBlock;
|
|
344
|
+
}
|
|
345
|
+
export class Vector3PropertyTabComponent extends React.Component<IVector3PropertyTabComponentProps> {
|
|
346
|
+
render(): JSX.Element;
|
|
347
|
+
}
|
|
348
|
+
export {};
|
|
349
|
+
|
|
350
|
+
}
|
|
351
|
+
declare module "@babylonjs/node-editor/components/propertyTab/properties/vector4PropertyTabComponent" {
|
|
352
|
+
import * as React from "react";
|
|
353
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
354
|
+
import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
|
|
355
|
+
interface IVector4PropertyTabComponentProps {
|
|
356
|
+
globalState: GlobalState;
|
|
357
|
+
inputBlock: InputBlock;
|
|
358
|
+
}
|
|
359
|
+
export class Vector4PropertyTabComponent extends React.Component<IVector4PropertyTabComponentProps> {
|
|
360
|
+
render(): JSX.Element;
|
|
361
|
+
}
|
|
362
|
+
export {};
|
|
363
|
+
|
|
364
|
+
}
|
|
365
|
+
declare module "@babylonjs/node-editor/components/propertyTab/propertyTabComponent" {
|
|
366
|
+
import * as React from "react";
|
|
367
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
368
|
+
import { Nullable } from "@babylonjs/core/types";
|
|
369
|
+
import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
|
|
370
|
+
import { GraphFrame } from "@babylonjs/node-editor/diagram/graphFrame";
|
|
371
|
+
import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
|
|
372
|
+
import { FrameNodePort } from "@babylonjs/node-editor/diagram/frameNodePort";
|
|
373
|
+
import { NodePort } from "@babylonjs/node-editor/diagram/nodePort";
|
|
374
|
+
import "@babylonjs/node-editor/components/propertyTab/propertyTab.scss";
|
|
375
|
+
interface IPropertyTabComponentProps {
|
|
376
|
+
globalState: GlobalState;
|
|
377
|
+
}
|
|
378
|
+
interface IPropertyTabComponentState {
|
|
379
|
+
currentNode: Nullable<GraphNode>;
|
|
380
|
+
currentFrame: Nullable<GraphFrame>;
|
|
381
|
+
currentFrameNodePort: Nullable<FrameNodePort>;
|
|
382
|
+
currentNodePort: Nullable<NodePort>;
|
|
383
|
+
uploadInProgress: boolean;
|
|
384
|
+
}
|
|
385
|
+
export class PropertyTabComponent extends React.Component<IPropertyTabComponentProps, IPropertyTabComponentState> {
|
|
386
|
+
private _onBuiltObserver;
|
|
387
|
+
private _modeSelect;
|
|
388
|
+
constructor(props: IPropertyTabComponentProps);
|
|
389
|
+
componentDidMount(): void;
|
|
390
|
+
componentWillUnmount(): void;
|
|
391
|
+
processInputBlockUpdate(ib: InputBlock): void;
|
|
392
|
+
renderInputBlock(block: InputBlock): JSX.Element | null;
|
|
393
|
+
load(file: File): void;
|
|
394
|
+
loadFrame(file: File): void;
|
|
395
|
+
save(): void;
|
|
396
|
+
customSave(): void;
|
|
397
|
+
saveToSnippetServer(): void;
|
|
398
|
+
loadFromSnippet(): void;
|
|
399
|
+
changeMode(value: any, force?: boolean, loadDefault?: boolean): boolean;
|
|
400
|
+
render(): JSX.Element;
|
|
401
|
+
}
|
|
402
|
+
export {};
|
|
403
|
+
|
|
404
|
+
}
|
|
405
|
+
declare module "@babylonjs/node-editor/diagram/display/clampDisplayManager" {
|
|
406
|
+
import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
|
|
407
|
+
import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
|
|
408
|
+
export class ClampDisplayManager implements IDisplayManager {
|
|
409
|
+
getHeaderClass(): string;
|
|
410
|
+
shouldDisplayPortLabels(): boolean;
|
|
411
|
+
getHeaderText(block: NodeMaterialBlock): string;
|
|
412
|
+
getBackgroundColor(): string;
|
|
413
|
+
updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
}
|
|
417
|
+
declare module "@babylonjs/node-editor/diagram/display/conditionalDisplayManager" {
|
|
418
|
+
import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
|
|
419
|
+
import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
|
|
420
|
+
export class ConditionalDisplayManager implements IDisplayManager {
|
|
421
|
+
getHeaderClass(): string;
|
|
422
|
+
shouldDisplayPortLabels(): boolean;
|
|
423
|
+
getHeaderText(block: NodeMaterialBlock): string;
|
|
424
|
+
getBackgroundColor(): string;
|
|
425
|
+
updatePreviewContent(): void;
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
}
|
|
429
|
+
declare module "@babylonjs/node-editor/diagram/display/discardDisplayManager" {
|
|
430
|
+
import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
|
|
431
|
+
import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
|
|
432
|
+
export class DiscardDisplayManager implements IDisplayManager {
|
|
433
|
+
getHeaderClass(): string;
|
|
434
|
+
shouldDisplayPortLabels(): boolean;
|
|
435
|
+
getHeaderText(block: NodeMaterialBlock): string;
|
|
436
|
+
getBackgroundColor(): string;
|
|
437
|
+
updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
}
|
|
441
|
+
declare module "@babylonjs/node-editor/diagram/display/displayManager" {
|
|
442
|
+
import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
|
|
443
|
+
export interface IDisplayManager {
|
|
444
|
+
getHeaderClass(block: NodeMaterialBlock): string;
|
|
445
|
+
shouldDisplayPortLabels(block: NodeMaterialBlock): boolean;
|
|
446
|
+
updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
|
|
447
|
+
getBackgroundColor(block: NodeMaterialBlock): string;
|
|
448
|
+
getHeaderText(block: NodeMaterialBlock): string;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
}
|
|
452
|
+
declare module "@babylonjs/node-editor/diagram/display/elbowDisplayManager" {
|
|
453
|
+
import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
|
|
454
|
+
import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
|
|
455
|
+
export class ElbowDisplayManager implements IDisplayManager {
|
|
456
|
+
getHeaderClass(): string;
|
|
457
|
+
shouldDisplayPortLabels(): boolean;
|
|
458
|
+
getHeaderText(block: NodeMaterialBlock): string;
|
|
459
|
+
getBackgroundColor(block: NodeMaterialBlock): string;
|
|
460
|
+
updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
}
|
|
464
|
+
declare module "@babylonjs/node-editor/diagram/display/gradientDisplayManager" {
|
|
465
|
+
import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
|
|
466
|
+
import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
|
|
467
|
+
export class GradientDisplayManager implements IDisplayManager {
|
|
468
|
+
getHeaderClass(): string;
|
|
469
|
+
shouldDisplayPortLabels(): boolean;
|
|
470
|
+
getHeaderText(block: NodeMaterialBlock): string;
|
|
471
|
+
getBackgroundColor(block: NodeMaterialBlock): string;
|
|
472
|
+
updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
}
|
|
476
|
+
declare module "@babylonjs/node-editor/diagram/display/imageSourceDisplayManager" {
|
|
477
|
+
import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
|
|
478
|
+
import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
|
|
479
|
+
export class ImageSourceDisplayManager implements IDisplayManager {
|
|
480
|
+
private _previewCanvas;
|
|
481
|
+
private _previewImage;
|
|
482
|
+
getHeaderClass(): string;
|
|
483
|
+
shouldDisplayPortLabels(): boolean;
|
|
484
|
+
getHeaderText(block: NodeMaterialBlock): string;
|
|
485
|
+
getBackgroundColor(): string;
|
|
486
|
+
updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
}
|
|
490
|
+
declare module "@babylonjs/node-editor/diagram/display/inputDisplayManager" {
|
|
491
|
+
import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
|
|
492
|
+
import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
|
|
493
|
+
import { NodeMaterialBlockConnectionPointTypes } from "@babylonjs/core/Materials/Node/Enums/nodeMaterialBlockConnectionPointTypes";
|
|
494
|
+
export class InputDisplayManager implements IDisplayManager {
|
|
495
|
+
getHeaderClass(block: NodeMaterialBlock): "" | "constant" | "inspector";
|
|
496
|
+
shouldDisplayPortLabels(): boolean;
|
|
497
|
+
getHeaderText(block: NodeMaterialBlock): string;
|
|
498
|
+
static GetBaseType(type: NodeMaterialBlockConnectionPointTypes): string;
|
|
499
|
+
getBackgroundColor(block: NodeMaterialBlock): string;
|
|
500
|
+
updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
}
|
|
504
|
+
declare module "@babylonjs/node-editor/diagram/display/outputDisplayManager" {
|
|
505
|
+
import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
|
|
506
|
+
import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
|
|
507
|
+
export class OutputDisplayManager implements IDisplayManager {
|
|
508
|
+
getHeaderClass(): string;
|
|
509
|
+
shouldDisplayPortLabels(): boolean;
|
|
510
|
+
getHeaderText(block: NodeMaterialBlock): string;
|
|
511
|
+
getBackgroundColor(): string;
|
|
512
|
+
updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
}
|
|
516
|
+
declare module "@babylonjs/node-editor/diagram/display/pbrDisplayManager" {
|
|
517
|
+
import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
|
|
518
|
+
import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
|
|
519
|
+
export class PBRDisplayManager implements IDisplayManager {
|
|
520
|
+
getHeaderClass(): string;
|
|
521
|
+
shouldDisplayPortLabels(): boolean;
|
|
522
|
+
getHeaderText(block: NodeMaterialBlock): string;
|
|
523
|
+
getBackgroundColor(): string;
|
|
524
|
+
updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
}
|
|
528
|
+
declare module "@babylonjs/node-editor/diagram/display/remapDisplayManager" {
|
|
529
|
+
import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
|
|
530
|
+
import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
|
|
531
|
+
export class RemapDisplayManager implements IDisplayManager {
|
|
532
|
+
getHeaderClass(): string;
|
|
533
|
+
shouldDisplayPortLabels(): boolean;
|
|
534
|
+
getHeaderText(block: NodeMaterialBlock): string;
|
|
535
|
+
getBackgroundColor(): string;
|
|
536
|
+
private _extractInputValue;
|
|
537
|
+
updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
}
|
|
541
|
+
declare module "@babylonjs/node-editor/diagram/display/textureDisplayManager" {
|
|
542
|
+
import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
|
|
543
|
+
import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
|
|
544
|
+
export class TextureDisplayManager implements IDisplayManager {
|
|
545
|
+
private _previewCanvas;
|
|
546
|
+
private _previewImage;
|
|
547
|
+
getHeaderClass(): string;
|
|
548
|
+
shouldDisplayPortLabels(): boolean;
|
|
549
|
+
getHeaderText(block: NodeMaterialBlock): string;
|
|
550
|
+
getBackgroundColor(block: NodeMaterialBlock): string;
|
|
551
|
+
updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
}
|
|
555
|
+
declare module "@babylonjs/node-editor/diagram/display/trigonometryDisplayManager" {
|
|
556
|
+
import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
|
|
557
|
+
import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
|
|
558
|
+
export class TrigonometryDisplayManager implements IDisplayManager {
|
|
559
|
+
getHeaderClass(): string;
|
|
560
|
+
shouldDisplayPortLabels(): boolean;
|
|
561
|
+
getHeaderText(block: NodeMaterialBlock): string;
|
|
562
|
+
getBackgroundColor(): string;
|
|
563
|
+
updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
}
|
|
567
|
+
declare module "@babylonjs/node-editor/diagram/displayLedger" {
|
|
568
|
+
export class DisplayLedger {
|
|
569
|
+
static RegisteredControls: {
|
|
570
|
+
[key: string]: any;
|
|
571
|
+
};
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
}
|
|
575
|
+
declare module "@babylonjs/node-editor/diagram/frameNodePort" {
|
|
576
|
+
import { NodePort } from "@babylonjs/node-editor/diagram/nodePort";
|
|
577
|
+
import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
|
|
578
|
+
import { FramePortPosition } from "@babylonjs/node-editor/diagram/graphFrame";
|
|
579
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
580
|
+
import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
|
|
581
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
582
|
+
import { Nullable } from "@babylonjs/core/types";
|
|
583
|
+
import { NodeMaterialConnectionPoint } from "@babylonjs/core/Materials/Node/nodeMaterialBlockConnectionPoint";
|
|
584
|
+
export class FrameNodePort extends NodePort {
|
|
585
|
+
connectionPoint: NodeMaterialConnectionPoint;
|
|
586
|
+
node: GraphNode;
|
|
587
|
+
private _parentFrameId;
|
|
588
|
+
private _isInput;
|
|
589
|
+
private _framePortPosition;
|
|
590
|
+
private _framePortId;
|
|
591
|
+
private _onFramePortPositionChangedObservable;
|
|
592
|
+
get parentFrameId(): number;
|
|
593
|
+
get onFramePortPositionChangedObservable(): Observable<FrameNodePort>;
|
|
594
|
+
get isInput(): boolean;
|
|
595
|
+
get framePortId(): number;
|
|
596
|
+
get framePortPosition(): FramePortPosition;
|
|
597
|
+
set framePortPosition(position: FramePortPosition);
|
|
598
|
+
constructor(portContainer: HTMLElement, connectionPoint: NodeMaterialConnectionPoint, node: GraphNode, globalState: GlobalState, isInput: boolean, framePortId: number, parentFrameId: number);
|
|
599
|
+
static CreateFrameNodePortElement(connectionPoint: NodeMaterialConnectionPoint, node: GraphNode, root: HTMLElement, displayManager: Nullable<IDisplayManager>, globalState: GlobalState, isInput: boolean, framePortId: number, parentFrameId: number): FrameNodePort;
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
}
|
|
603
|
+
declare module "@babylonjs/node-editor/diagram/graphCanvas" {
|
|
604
|
+
import * as React from "react";
|
|
605
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
606
|
+
import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
|
|
607
|
+
import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
|
|
608
|
+
import { Nullable } from "@babylonjs/core/types";
|
|
609
|
+
import { NodeLink } from "@babylonjs/node-editor/diagram/nodeLink";
|
|
610
|
+
import { NodePort } from "@babylonjs/node-editor/diagram/nodePort";
|
|
611
|
+
import { NodeMaterialConnectionPoint } from "@babylonjs/core/Materials/Node/nodeMaterialBlockConnectionPoint";
|
|
612
|
+
import { GraphFrame } from "@babylonjs/node-editor/diagram/graphFrame";
|
|
613
|
+
import { IEditorData, IFrameData } from "@babylonjs/node-editor/nodeLocationInfo";
|
|
614
|
+
import { FrameNodePort } from "@babylonjs/node-editor/diagram/frameNodePort";
|
|
615
|
+
import "@babylonjs/node-editor/diagram/graphCanvas.scss";
|
|
616
|
+
export interface IGraphCanvasComponentProps {
|
|
617
|
+
globalState: GlobalState;
|
|
618
|
+
onEmitNewBlock: (block: NodeMaterialBlock) => GraphNode;
|
|
619
|
+
}
|
|
620
|
+
export type FramePortData = {
|
|
621
|
+
frame: GraphFrame;
|
|
622
|
+
port: FrameNodePort;
|
|
623
|
+
};
|
|
624
|
+
export const isFramePortData: (variableToCheck: any) => variableToCheck is FramePortData;
|
|
625
|
+
export class GraphCanvasComponent extends React.Component<IGraphCanvasComponentProps> {
|
|
626
|
+
private readonly _minZoom;
|
|
627
|
+
private readonly _maxZoom;
|
|
628
|
+
private _hostCanvas;
|
|
629
|
+
private _graphCanvas;
|
|
630
|
+
private _selectionContainer;
|
|
631
|
+
private _frameContainer;
|
|
632
|
+
private _svgCanvas;
|
|
633
|
+
private _rootContainer;
|
|
634
|
+
private _nodes;
|
|
635
|
+
private _links;
|
|
636
|
+
private _mouseStartPointX;
|
|
637
|
+
private _mouseStartPointY;
|
|
638
|
+
private _dropPointX;
|
|
639
|
+
private _dropPointY;
|
|
640
|
+
private _selectionStartX;
|
|
641
|
+
private _selectionStartY;
|
|
642
|
+
private _candidateLinkedHasMoved;
|
|
643
|
+
private _x;
|
|
644
|
+
private _y;
|
|
645
|
+
private _zoom;
|
|
646
|
+
private _selectedNodes;
|
|
647
|
+
private _selectedLink;
|
|
648
|
+
private _selectedPort;
|
|
649
|
+
private _candidateLink;
|
|
650
|
+
private _candidatePort;
|
|
651
|
+
private _gridSize;
|
|
652
|
+
private _selectionBox;
|
|
653
|
+
private _selectedFrames;
|
|
654
|
+
private _frameCandidate;
|
|
655
|
+
private _frames;
|
|
656
|
+
private _altKeyIsPressed;
|
|
657
|
+
private _ctrlKeyIsPressed;
|
|
658
|
+
private _oldY;
|
|
659
|
+
_frameIsMoving: boolean;
|
|
660
|
+
_isLoading: boolean;
|
|
661
|
+
get gridSize(): number;
|
|
662
|
+
set gridSize(value: number);
|
|
663
|
+
get globalState(): GlobalState;
|
|
664
|
+
get nodes(): GraphNode[];
|
|
665
|
+
get links(): NodeLink[];
|
|
666
|
+
get frames(): GraphFrame[];
|
|
667
|
+
get zoom(): number;
|
|
668
|
+
set zoom(value: number);
|
|
669
|
+
get x(): number;
|
|
670
|
+
set x(value: number);
|
|
671
|
+
get y(): number;
|
|
672
|
+
set y(value: number);
|
|
673
|
+
get selectedNodes(): GraphNode[];
|
|
674
|
+
get selectedLink(): Nullable<NodeLink>;
|
|
675
|
+
get selectedFrames(): GraphFrame[];
|
|
676
|
+
get selectedPort(): Nullable<NodePort>;
|
|
677
|
+
get canvasContainer(): HTMLDivElement;
|
|
678
|
+
get hostCanvas(): HTMLDivElement;
|
|
679
|
+
get svgCanvas(): HTMLElement;
|
|
680
|
+
get selectionContainer(): HTMLDivElement;
|
|
681
|
+
get frameContainer(): HTMLDivElement;
|
|
682
|
+
constructor(props: IGraphCanvasComponentProps);
|
|
683
|
+
static _RefreshNode: (node: GraphNode, visitedNodes?: Set<GraphNode> | undefined, visitedLinks?: Set<NodeLink> | undefined) => void;
|
|
684
|
+
getGridPosition(position: number, useCeil?: boolean): number;
|
|
685
|
+
getGridPositionCeil(position: number): number;
|
|
686
|
+
updateTransform(): void;
|
|
687
|
+
onKeyUp(): void;
|
|
688
|
+
findNodeFromBlock(block: NodeMaterialBlock): GraphNode;
|
|
689
|
+
reset(): void;
|
|
690
|
+
connectPorts(pointA: NodeMaterialConnectionPoint, pointB: NodeMaterialConnectionPoint): void;
|
|
691
|
+
removeLink(link: NodeLink): void;
|
|
692
|
+
appendBlock(block: NodeMaterialBlock): GraphNode;
|
|
693
|
+
distributeGraph(): void;
|
|
694
|
+
componentDidMount(): void;
|
|
695
|
+
onMove(evt: React.PointerEvent): void;
|
|
696
|
+
onDown(evt: React.PointerEvent<HTMLElement>): void;
|
|
697
|
+
onUp(evt: React.PointerEvent): void;
|
|
698
|
+
onWheel(evt: React.WheelEvent): void;
|
|
699
|
+
zoomToFit(): void;
|
|
700
|
+
processCandidatePort(): void;
|
|
701
|
+
connectNodes(nodeA: GraphNode, pointA: NodeMaterialConnectionPoint, nodeB: GraphNode, pointB: NodeMaterialConnectionPoint): void;
|
|
702
|
+
processEditorData(editorData: IEditorData): void;
|
|
703
|
+
addFrame(frameData: IFrameData): void;
|
|
704
|
+
render(): JSX.Element;
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
}
|
|
708
|
+
declare module "@babylonjs/node-editor/diagram/graphFrame" {
|
|
709
|
+
import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
|
|
710
|
+
import { GraphCanvasComponent } from "@babylonjs/node-editor/diagram/graphCanvas";
|
|
711
|
+
import { Nullable } from "@babylonjs/core/types";
|
|
712
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
713
|
+
import { IFrameData } from "@babylonjs/node-editor/nodeLocationInfo";
|
|
714
|
+
import { Color3 } from "@babylonjs/core/Maths/math.color";
|
|
715
|
+
import { FrameNodePort } from "@babylonjs/node-editor/diagram/frameNodePort";
|
|
716
|
+
export enum FramePortPosition {
|
|
717
|
+
Top = 0,
|
|
718
|
+
Middle = 1,
|
|
719
|
+
Bottom = 2
|
|
720
|
+
}
|
|
721
|
+
export class GraphFrame {
|
|
722
|
+
private readonly _collapsedWidth;
|
|
723
|
+
private static _FrameCounter;
|
|
724
|
+
private static _FramePortCounter;
|
|
725
|
+
private _name;
|
|
726
|
+
private _color;
|
|
727
|
+
private _x;
|
|
728
|
+
private _y;
|
|
729
|
+
private _gridAlignedX;
|
|
730
|
+
private _gridAlignedY;
|
|
731
|
+
private _width;
|
|
732
|
+
private _height;
|
|
733
|
+
element: HTMLDivElement;
|
|
734
|
+
private _borderElement;
|
|
735
|
+
private _headerElement;
|
|
736
|
+
private _headerTextElement;
|
|
737
|
+
private _headerCollapseElement;
|
|
738
|
+
private _headerCloseElement;
|
|
739
|
+
private _commentsElement;
|
|
740
|
+
private _portContainer;
|
|
741
|
+
private _outputPortContainer;
|
|
742
|
+
private _inputPortContainer;
|
|
743
|
+
private _nodes;
|
|
744
|
+
private _ownerCanvas;
|
|
745
|
+
private _mouseStartPointX;
|
|
746
|
+
private _mouseStartPointY;
|
|
747
|
+
private _onSelectionChangedObserver;
|
|
748
|
+
private _onGraphNodeRemovalObserver;
|
|
749
|
+
private _onExposePortOnFrameObserver;
|
|
750
|
+
private _onNodeLinkDisposedObservers;
|
|
751
|
+
private _isCollapsed;
|
|
752
|
+
private _frameInPorts;
|
|
753
|
+
private _frameOutPorts;
|
|
754
|
+
private _controlledPorts;
|
|
755
|
+
private _exposedInPorts;
|
|
756
|
+
private _exposedOutPorts;
|
|
757
|
+
private _id;
|
|
758
|
+
private _comments;
|
|
759
|
+
private _frameIsResizing;
|
|
760
|
+
private _resizingDirection;
|
|
761
|
+
private _minFrameHeight;
|
|
762
|
+
private _minFrameWidth;
|
|
763
|
+
private _mouseXLimit;
|
|
764
|
+
onExpandStateChanged: Observable<GraphFrame>;
|
|
765
|
+
private readonly _closeSVG;
|
|
766
|
+
private readonly _expandSVG;
|
|
767
|
+
private readonly _collapseSVG;
|
|
768
|
+
get id(): number;
|
|
769
|
+
get isCollapsed(): boolean;
|
|
770
|
+
private _createInputPort;
|
|
771
|
+
private _markFramePortPositions;
|
|
772
|
+
private _createFramePorts;
|
|
773
|
+
private _removePortFromExposedWithNode;
|
|
774
|
+
private _removePortFromExposedWithLink;
|
|
775
|
+
private _createInputPorts;
|
|
776
|
+
private _createOutputPorts;
|
|
777
|
+
redrawFramePorts(): void;
|
|
778
|
+
set isCollapsed(value: boolean);
|
|
779
|
+
get nodes(): GraphNode[];
|
|
780
|
+
get ports(): FrameNodePort[];
|
|
781
|
+
get name(): string;
|
|
782
|
+
set name(value: string);
|
|
783
|
+
get color(): Color3;
|
|
784
|
+
set color(value: Color3);
|
|
785
|
+
get x(): number;
|
|
786
|
+
set x(value: number);
|
|
787
|
+
get y(): number;
|
|
788
|
+
set y(value: number);
|
|
789
|
+
get width(): number;
|
|
790
|
+
set width(value: number);
|
|
791
|
+
get height(): number;
|
|
792
|
+
set height(value: number);
|
|
793
|
+
get comments(): string;
|
|
794
|
+
set comments(comments: string);
|
|
795
|
+
constructor(candidate: Nullable<HTMLDivElement>, canvas: GraphCanvasComponent, doNotCaptureNodes?: boolean);
|
|
796
|
+
refresh(): void;
|
|
797
|
+
addNode(node: GraphNode): void;
|
|
798
|
+
removeNode(node: GraphNode): void;
|
|
799
|
+
syncNode(node: GraphNode): void;
|
|
800
|
+
cleanAccumulation(): void;
|
|
801
|
+
private _onDown;
|
|
802
|
+
move(newX: number, newY: number, align?: boolean): void;
|
|
803
|
+
private _onUp;
|
|
804
|
+
_moveFrame(offsetX: number, offsetY: number): void;
|
|
805
|
+
private _onMove;
|
|
806
|
+
moveFramePortUp(nodePort: FrameNodePort): void;
|
|
807
|
+
private _movePortUp;
|
|
808
|
+
moveFramePortDown(nodePort: FrameNodePort): void;
|
|
809
|
+
private _movePortDown;
|
|
810
|
+
private _initResizing;
|
|
811
|
+
private _cleanUpResizing;
|
|
812
|
+
private _updateMinHeightWithComments;
|
|
813
|
+
private _isResizingTop;
|
|
814
|
+
private _isResizingRight;
|
|
815
|
+
private _isResizingBottom;
|
|
816
|
+
private _isResizingLeft;
|
|
817
|
+
private _onRightHandlePointerDown;
|
|
818
|
+
private _onRightHandlePointerMove;
|
|
819
|
+
private _moveRightHandle;
|
|
820
|
+
private _onRightHandlePointerUp;
|
|
821
|
+
private _onBottomHandlePointerDown;
|
|
822
|
+
private _onBottomHandlePointerMove;
|
|
823
|
+
private _moveBottomHandle;
|
|
824
|
+
private _onBottomHandlePointerUp;
|
|
825
|
+
private _onLeftHandlePointerDown;
|
|
826
|
+
private _onLeftHandlePointerMove;
|
|
827
|
+
private _moveLeftHandle;
|
|
828
|
+
private _onLeftHandlePointerUp;
|
|
829
|
+
private _onTopHandlePointerDown;
|
|
830
|
+
private _onTopHandlePointerMove;
|
|
831
|
+
private _moveTopHandle;
|
|
832
|
+
private _onTopHandlePointerUp;
|
|
833
|
+
private _onTopRightHandlePointerDown;
|
|
834
|
+
private _onTopRightHandlePointerMove;
|
|
835
|
+
private _moveTopRightHandle;
|
|
836
|
+
private _onTopRightHandlePointerUp;
|
|
837
|
+
private _onBottomRightHandlePointerDown;
|
|
838
|
+
private _onBottomRightHandlePointerMove;
|
|
839
|
+
private _moveBottomRightHandle;
|
|
840
|
+
private _onBottomRightHandlePointerUp;
|
|
841
|
+
private _onBottomLeftHandlePointerDown;
|
|
842
|
+
private _onBottomLeftHandlePointerMove;
|
|
843
|
+
private _moveBottomLeftHandle;
|
|
844
|
+
private _onBottomLeftHandlePointerUp;
|
|
845
|
+
private _onTopLeftHandlePointerDown;
|
|
846
|
+
private _onTopLeftHandlePointerMove;
|
|
847
|
+
private _moveTopLeftHandle;
|
|
848
|
+
private _onTopLeftHandlePointerUp;
|
|
849
|
+
private _expandLeft;
|
|
850
|
+
private _expandTop;
|
|
851
|
+
private _expandRight;
|
|
852
|
+
private _expandBottom;
|
|
853
|
+
dispose(): void;
|
|
854
|
+
private _serializePortData;
|
|
855
|
+
serialize(saveCollapsedState: boolean): IFrameData;
|
|
856
|
+
export(): void;
|
|
857
|
+
adjustPorts(): void;
|
|
858
|
+
static Parse(serializationData: IFrameData, canvas: GraphCanvasComponent, map?: {
|
|
859
|
+
[key: number]: number;
|
|
860
|
+
}): GraphFrame;
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
}
|
|
864
|
+
declare module "@babylonjs/node-editor/diagram/graphNode" {
|
|
865
|
+
/// <reference types="react" />
|
|
866
|
+
import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
|
|
867
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
868
|
+
import { Nullable } from "@babylonjs/core/types";
|
|
869
|
+
import { NodeMaterialConnectionPoint } from "@babylonjs/core/Materials/Node/nodeMaterialBlockConnectionPoint";
|
|
870
|
+
import { GraphCanvasComponent } from "@babylonjs/node-editor/diagram/graphCanvas";
|
|
871
|
+
import { NodeLink } from "@babylonjs/node-editor/diagram/nodeLink";
|
|
872
|
+
import { NodePort } from "@babylonjs/node-editor/diagram/nodePort";
|
|
873
|
+
import { GraphFrame } from "@babylonjs/node-editor/diagram/graphFrame";
|
|
874
|
+
export class GraphNode {
|
|
875
|
+
block: NodeMaterialBlock;
|
|
876
|
+
private _visual;
|
|
877
|
+
private _headerContainer;
|
|
878
|
+
private _promotionWarning;
|
|
879
|
+
private _header;
|
|
880
|
+
private _connections;
|
|
881
|
+
private _inputsContainer;
|
|
882
|
+
private _outputsContainer;
|
|
883
|
+
private _content;
|
|
884
|
+
private _comments;
|
|
885
|
+
private _inputPorts;
|
|
886
|
+
private _outputPorts;
|
|
887
|
+
private _links;
|
|
888
|
+
private _x;
|
|
889
|
+
private _y;
|
|
890
|
+
private _gridAlignedX;
|
|
891
|
+
private _gridAlignedY;
|
|
892
|
+
private _mouseStartPointX;
|
|
893
|
+
private _mouseStartPointY;
|
|
894
|
+
private _globalState;
|
|
895
|
+
private _onSelectionChangedObserver;
|
|
896
|
+
private _onSelectionBoxMovedObserver;
|
|
897
|
+
private _onFrameCreatedObserver;
|
|
898
|
+
private _onUpdateRequiredObserver;
|
|
899
|
+
private _ownerCanvas;
|
|
900
|
+
private _isSelected;
|
|
901
|
+
private _displayManager;
|
|
902
|
+
private _isVisible;
|
|
903
|
+
private _enclosingFrameId;
|
|
904
|
+
get isVisible(): boolean;
|
|
905
|
+
set isVisible(value: boolean);
|
|
906
|
+
private _upateNodePortNames;
|
|
907
|
+
get outputPorts(): NodePort[];
|
|
908
|
+
get inputPorts(): NodePort[];
|
|
909
|
+
get links(): NodeLink[];
|
|
910
|
+
get gridAlignedX(): number;
|
|
911
|
+
get gridAlignedY(): number;
|
|
912
|
+
get x(): number;
|
|
913
|
+
set x(value: number);
|
|
914
|
+
get y(): number;
|
|
915
|
+
set y(value: number);
|
|
916
|
+
get width(): number;
|
|
917
|
+
get height(): number;
|
|
918
|
+
get id(): number;
|
|
919
|
+
get name(): string;
|
|
920
|
+
get isSelected(): boolean;
|
|
921
|
+
get enclosingFrameId(): number;
|
|
922
|
+
set enclosingFrameId(value: number);
|
|
923
|
+
set isSelected(value: boolean);
|
|
924
|
+
constructor(block: NodeMaterialBlock, globalState: GlobalState);
|
|
925
|
+
isOverlappingFrame(frame: GraphFrame): boolean;
|
|
926
|
+
getPortForConnectionPoint(point: NodeMaterialConnectionPoint): NodePort | null;
|
|
927
|
+
getLinksForConnectionPoint(point: NodeMaterialConnectionPoint): NodeLink[];
|
|
928
|
+
private _refreshFrames;
|
|
929
|
+
_refreshLinks(): void;
|
|
930
|
+
refresh(): void;
|
|
931
|
+
private _onDown;
|
|
932
|
+
cleanAccumulation(useCeil?: boolean): void;
|
|
933
|
+
private _onUp;
|
|
934
|
+
private _onMove;
|
|
935
|
+
renderProperties(): Nullable<JSX.Element>;
|
|
936
|
+
appendVisual(root: HTMLDivElement, owner: GraphCanvasComponent): void;
|
|
937
|
+
dispose(): void;
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
}
|
|
941
|
+
declare module "@babylonjs/node-editor/diagram/nodeLink" {
|
|
942
|
+
import { GraphCanvasComponent } from "@babylonjs/node-editor/diagram/graphCanvas";
|
|
943
|
+
import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
|
|
944
|
+
import { NodePort } from "@babylonjs/node-editor/diagram/nodePort";
|
|
945
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
946
|
+
import { FrameNodePort } from "@babylonjs/node-editor/diagram/frameNodePort";
|
|
947
|
+
export class NodeLink {
|
|
948
|
+
private _graphCanvas;
|
|
949
|
+
private _portA;
|
|
950
|
+
private _portB?;
|
|
951
|
+
private _nodeA;
|
|
952
|
+
private _nodeB?;
|
|
953
|
+
private _path;
|
|
954
|
+
private _selectionPath;
|
|
955
|
+
private _onSelectionChangedObserver;
|
|
956
|
+
private _isVisible;
|
|
957
|
+
onDisposedObservable: Observable<NodeLink>;
|
|
958
|
+
get isVisible(): boolean;
|
|
959
|
+
set isVisible(value: boolean);
|
|
960
|
+
get portA(): NodePort | FrameNodePort;
|
|
961
|
+
get portB(): NodePort | FrameNodePort | undefined;
|
|
962
|
+
get nodeA(): GraphNode;
|
|
963
|
+
get nodeB(): GraphNode | undefined;
|
|
964
|
+
update(endX?: number, endY?: number, straight?: boolean): void;
|
|
965
|
+
constructor(graphCanvas: GraphCanvasComponent, portA: NodePort, nodeA: GraphNode, portB?: NodePort, nodeB?: GraphNode);
|
|
966
|
+
onClick(evt: MouseEvent): void;
|
|
967
|
+
dispose(notify?: boolean): void;
|
|
968
|
+
}
|
|
969
|
+
|
|
970
|
+
}
|
|
971
|
+
declare module "@babylonjs/node-editor/diagram/nodePort" {
|
|
972
|
+
import { NodeMaterialConnectionPoint } from "@babylonjs/core/Materials/Node/nodeMaterialBlockConnectionPoint";
|
|
973
|
+
import { GlobalState, ISelectionChangedOptions } from "@babylonjs/node-editor/globalState";
|
|
974
|
+
import { Nullable } from "@babylonjs/core/types";
|
|
975
|
+
import { Observer } from "@babylonjs/core/Misc/observable";
|
|
976
|
+
import { Vector2 } from "@babylonjs/core/Maths/math.vector";
|
|
977
|
+
import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
|
|
978
|
+
import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
|
|
979
|
+
import { FrameNodePort } from "@babylonjs/node-editor/diagram/frameNodePort";
|
|
980
|
+
export class NodePort {
|
|
981
|
+
connectionPoint: NodeMaterialConnectionPoint;
|
|
982
|
+
node: GraphNode;
|
|
983
|
+
protected _element: HTMLDivElement;
|
|
984
|
+
protected _img: HTMLImageElement;
|
|
985
|
+
protected _globalState: GlobalState;
|
|
986
|
+
protected _portLabelElement: Element;
|
|
987
|
+
protected _onCandidateLinkMovedObserver: Nullable<Observer<Nullable<Vector2>>>;
|
|
988
|
+
protected _onSelectionChangedObserver: Nullable<Observer<Nullable<ISelectionChangedOptions>>>;
|
|
989
|
+
protected _exposedOnFrame: boolean;
|
|
990
|
+
delegatedPort: Nullable<FrameNodePort>;
|
|
991
|
+
get element(): HTMLDivElement;
|
|
992
|
+
get portName(): string;
|
|
993
|
+
set portName(newName: string);
|
|
994
|
+
get disabled(): boolean;
|
|
995
|
+
hasLabel(): boolean;
|
|
996
|
+
get exposedOnFrame(): boolean;
|
|
997
|
+
set exposedOnFrame(value: boolean);
|
|
998
|
+
get exposedPortPosition(): number;
|
|
999
|
+
set exposedPortPosition(value: number);
|
|
1000
|
+
private _isConnectedToNodeOutsideOfFrame;
|
|
1001
|
+
refresh(): void;
|
|
1002
|
+
constructor(portContainer: HTMLElement, connectionPoint: NodeMaterialConnectionPoint, node: GraphNode, globalState: GlobalState);
|
|
1003
|
+
dispose(): void;
|
|
1004
|
+
static CreatePortElement(connectionPoint: NodeMaterialConnectionPoint, node: GraphNode, root: HTMLElement, displayManager: Nullable<IDisplayManager>, globalState: GlobalState): NodePort;
|
|
1005
|
+
}
|
|
1006
|
+
|
|
1007
|
+
}
|
|
1008
|
+
declare module "@babylonjs/node-editor/diagram/properties/colorMergerPropertyComponent" {
|
|
1009
|
+
import * as React from "react";
|
|
1010
|
+
import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
|
|
1011
|
+
export class ColorMergerPropertyTabComponent extends React.Component<IPropertyComponentProps> {
|
|
1012
|
+
constructor(props: IPropertyComponentProps);
|
|
1013
|
+
render(): JSX.Element;
|
|
1014
|
+
}
|
|
1015
|
+
|
|
1016
|
+
}
|
|
1017
|
+
declare module "@babylonjs/node-editor/diagram/properties/conditionalNodePropertyComponent" {
|
|
1018
|
+
import * as React from "react";
|
|
1019
|
+
import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
|
|
1020
|
+
export class ConditionalPropertyTabComponent extends React.Component<IPropertyComponentProps> {
|
|
1021
|
+
constructor(props: IPropertyComponentProps);
|
|
1022
|
+
render(): JSX.Element;
|
|
1023
|
+
}
|
|
1024
|
+
|
|
1025
|
+
}
|
|
1026
|
+
declare module "@babylonjs/node-editor/diagram/properties/frameNodePortPropertyComponent" {
|
|
1027
|
+
import * as React from "react";
|
|
1028
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
1029
|
+
import { GraphFrame } from "@babylonjs/node-editor/diagram/graphFrame";
|
|
1030
|
+
import { FrameNodePort } from "@babylonjs/node-editor/diagram/frameNodePort";
|
|
1031
|
+
export interface IFrameNodePortPropertyTabComponentProps {
|
|
1032
|
+
globalState: GlobalState;
|
|
1033
|
+
frameNodePort: FrameNodePort;
|
|
1034
|
+
frame: GraphFrame;
|
|
1035
|
+
}
|
|
1036
|
+
export class FrameNodePortPropertyTabComponent extends React.Component<IFrameNodePortPropertyTabComponentProps, {
|
|
1037
|
+
port: FrameNodePort;
|
|
1038
|
+
}> {
|
|
1039
|
+
private _onFramePortPositionChangedObserver;
|
|
1040
|
+
private _onSelectionChangedObserver;
|
|
1041
|
+
constructor(props: IFrameNodePortPropertyTabComponentProps);
|
|
1042
|
+
componentWillUnmount(): void;
|
|
1043
|
+
render(): JSX.Element;
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
}
|
|
1047
|
+
declare module "@babylonjs/node-editor/diagram/properties/framePropertyComponent" {
|
|
1048
|
+
import * as React from "react";
|
|
1049
|
+
import { GraphFrame } from "@babylonjs/node-editor/diagram/graphFrame";
|
|
1050
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
1051
|
+
export interface IFramePropertyTabComponentProps {
|
|
1052
|
+
globalState: GlobalState;
|
|
1053
|
+
frame: GraphFrame;
|
|
1054
|
+
}
|
|
1055
|
+
export class FramePropertyTabComponent extends React.Component<IFramePropertyTabComponentProps> {
|
|
1056
|
+
private _onFrameExpandStateChangedObserver;
|
|
1057
|
+
constructor(props: IFramePropertyTabComponentProps);
|
|
1058
|
+
componentDidMount(): void;
|
|
1059
|
+
componentWillUnmount(): void;
|
|
1060
|
+
render(): JSX.Element;
|
|
1061
|
+
}
|
|
1062
|
+
|
|
1063
|
+
}
|
|
1064
|
+
declare module "@babylonjs/node-editor/diagram/properties/genericNodePropertyComponent" {
|
|
1065
|
+
import * as React from "react";
|
|
1066
|
+
import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
|
|
1067
|
+
import { Scene } from "@babylonjs/core/scene";
|
|
1068
|
+
export class GenericPropertyComponent extends React.Component<IPropertyComponentProps> {
|
|
1069
|
+
constructor(props: IPropertyComponentProps);
|
|
1070
|
+
render(): JSX.Element;
|
|
1071
|
+
}
|
|
1072
|
+
export class GeneralPropertyTabComponent extends React.Component<IPropertyComponentProps> {
|
|
1073
|
+
constructor(props: IPropertyComponentProps);
|
|
1074
|
+
render(): JSX.Element;
|
|
1075
|
+
}
|
|
1076
|
+
export class GenericPropertyTabComponent extends React.Component<IPropertyComponentProps> {
|
|
1077
|
+
constructor(props: IPropertyComponentProps);
|
|
1078
|
+
forceRebuild(notifiers?: {
|
|
1079
|
+
rebuild?: boolean;
|
|
1080
|
+
update?: boolean;
|
|
1081
|
+
activatePreviewCommand?: boolean;
|
|
1082
|
+
callback?: (scene: Scene) => void;
|
|
1083
|
+
}): void;
|
|
1084
|
+
render(): JSX.Element;
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1087
|
+
}
|
|
1088
|
+
declare module "@babylonjs/node-editor/diagram/properties/gradientNodePropertyComponent" {
|
|
1089
|
+
import * as React from "react";
|
|
1090
|
+
import { GradientBlockColorStep } from "@babylonjs/core/Materials/Node/Blocks/gradientBlock";
|
|
1091
|
+
import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
|
|
1092
|
+
export class GradientPropertyTabComponent extends React.Component<IPropertyComponentProps> {
|
|
1093
|
+
private _onValueChangedObserver;
|
|
1094
|
+
constructor(props: IPropertyComponentProps);
|
|
1095
|
+
componentDidMount(): void;
|
|
1096
|
+
componentWillUnmount(): void;
|
|
1097
|
+
forceRebuild(): void;
|
|
1098
|
+
deleteStep(step: GradientBlockColorStep): void;
|
|
1099
|
+
copyStep(step: GradientBlockColorStep): void;
|
|
1100
|
+
addNewStep(): void;
|
|
1101
|
+
checkForReOrder(): void;
|
|
1102
|
+
render(): JSX.Element;
|
|
1103
|
+
}
|
|
1104
|
+
|
|
1105
|
+
}
|
|
1106
|
+
declare module "@babylonjs/node-editor/diagram/properties/gradientStepComponent" {
|
|
1107
|
+
import * as React from "react";
|
|
1108
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
1109
|
+
import { GradientBlockColorStep } from "@babylonjs/core/Materials/Node/Blocks/gradientBlock";
|
|
1110
|
+
interface IGradientStepComponentProps {
|
|
1111
|
+
globalState: GlobalState;
|
|
1112
|
+
step: GradientBlockColorStep;
|
|
1113
|
+
lineIndex: number;
|
|
1114
|
+
onDelete: () => void;
|
|
1115
|
+
onUpdateStep: () => void;
|
|
1116
|
+
onCheckForReOrder: () => void;
|
|
1117
|
+
onCopy?: () => void;
|
|
1118
|
+
}
|
|
1119
|
+
export class GradientStepComponent extends React.Component<IGradientStepComponentProps, {
|
|
1120
|
+
gradient: number;
|
|
1121
|
+
}> {
|
|
1122
|
+
constructor(props: IGradientStepComponentProps);
|
|
1123
|
+
updateColor(color: string): void;
|
|
1124
|
+
updateStep(gradient: number): void;
|
|
1125
|
+
onPointerUp(): void;
|
|
1126
|
+
render(): JSX.Element;
|
|
1127
|
+
}
|
|
1128
|
+
export {};
|
|
1129
|
+
|
|
1130
|
+
}
|
|
1131
|
+
declare module "@babylonjs/node-editor/diagram/properties/imageSourcePropertyTabComponent" {
|
|
1132
|
+
import * as React from "react";
|
|
1133
|
+
import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
|
|
1134
|
+
import { ImageSourceBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/imageSourceBlock";
|
|
1135
|
+
export class ImageSourcePropertyTabComponent extends React.Component<IPropertyComponentProps, {
|
|
1136
|
+
isEmbedded: boolean;
|
|
1137
|
+
}> {
|
|
1138
|
+
get imageSourceBlock(): ImageSourceBlock;
|
|
1139
|
+
constructor(props: IPropertyComponentProps);
|
|
1140
|
+
UNSAFE_componentWillUpdate(nextProps: IPropertyComponentProps, nextState: {
|
|
1141
|
+
isEmbedded: boolean;
|
|
1142
|
+
loadAsCubeTexture: boolean;
|
|
1143
|
+
}): void;
|
|
1144
|
+
private _generateRandomForCache;
|
|
1145
|
+
updateAfterTextureLoad(): void;
|
|
1146
|
+
removeTexture(): void;
|
|
1147
|
+
_prepareTexture(): void;
|
|
1148
|
+
/**
|
|
1149
|
+
* Replaces the texture of the node
|
|
1150
|
+
* @param file the file of the texture to use
|
|
1151
|
+
*/
|
|
1152
|
+
replaceTexture(file: File): void;
|
|
1153
|
+
replaceTextureWithUrl(url: string): void;
|
|
1154
|
+
render(): JSX.Element;
|
|
1155
|
+
}
|
|
1156
|
+
|
|
1157
|
+
}
|
|
1158
|
+
declare module "@babylonjs/node-editor/diagram/properties/inputNodePropertyComponent" {
|
|
1159
|
+
import * as React from "react";
|
|
1160
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
1161
|
+
import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
|
|
1162
|
+
export class InputPropertyTabComponent extends React.Component<IPropertyComponentProps> {
|
|
1163
|
+
private _onValueChangedObserver;
|
|
1164
|
+
constructor(props: IPropertyComponentProps);
|
|
1165
|
+
componentDidMount(): void;
|
|
1166
|
+
componentWillUnmount(): void;
|
|
1167
|
+
renderValue(globalState: GlobalState): JSX.Element | null;
|
|
1168
|
+
setDefaultValue(): void;
|
|
1169
|
+
render(): JSX.Element;
|
|
1170
|
+
}
|
|
1171
|
+
|
|
1172
|
+
}
|
|
1173
|
+
declare module "@babylonjs/node-editor/diagram/properties/lightInformationPropertyTabComponent" {
|
|
1174
|
+
import * as React from "react";
|
|
1175
|
+
import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
|
|
1176
|
+
export class LightInformationPropertyTabComponent extends React.Component<IPropertyComponentProps> {
|
|
1177
|
+
render(): JSX.Element;
|
|
1178
|
+
}
|
|
1179
|
+
|
|
1180
|
+
}
|
|
1181
|
+
declare module "@babylonjs/node-editor/diagram/properties/lightPropertyTabComponent" {
|
|
1182
|
+
import * as React from "react";
|
|
1183
|
+
import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
|
|
1184
|
+
export class LightPropertyTabComponent extends React.Component<IPropertyComponentProps> {
|
|
1185
|
+
render(): JSX.Element;
|
|
1186
|
+
}
|
|
1187
|
+
|
|
1188
|
+
}
|
|
1189
|
+
declare module "@babylonjs/node-editor/diagram/properties/nodePortPropertyComponent" {
|
|
1190
|
+
import * as React from "react";
|
|
1191
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
1192
|
+
import { NodePort } from "@babylonjs/node-editor/diagram/nodePort";
|
|
1193
|
+
export interface IFrameNodePortPropertyTabComponentProps {
|
|
1194
|
+
globalState: GlobalState;
|
|
1195
|
+
nodePort: NodePort;
|
|
1196
|
+
}
|
|
1197
|
+
export class NodePortPropertyTabComponent extends React.Component<IFrameNodePortPropertyTabComponentProps> {
|
|
1198
|
+
private _onSelectionChangedObserver;
|
|
1199
|
+
constructor(props: IFrameNodePortPropertyTabComponentProps);
|
|
1200
|
+
componentWillUnmount(): void;
|
|
1201
|
+
toggleExposeOnFrame(value: boolean): void;
|
|
1202
|
+
render(): JSX.Element;
|
|
1203
|
+
}
|
|
1204
|
+
|
|
1205
|
+
}
|
|
1206
|
+
declare module "@babylonjs/node-editor/diagram/properties/propertyComponentProps" {
|
|
1207
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
1208
|
+
import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
|
|
1209
|
+
export interface IPropertyComponentProps {
|
|
1210
|
+
globalState: GlobalState;
|
|
1211
|
+
block: NodeMaterialBlock;
|
|
1212
|
+
}
|
|
1213
|
+
|
|
1214
|
+
}
|
|
1215
|
+
declare module "@babylonjs/node-editor/diagram/properties/texturePropertyTabComponent" {
|
|
1216
|
+
import * as React from "react";
|
|
1217
|
+
import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
|
|
1218
|
+
import { ReflectionTextureBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/reflectionTextureBlock";
|
|
1219
|
+
import { ReflectionBlock } from "@babylonjs/core/Materials/Node/Blocks/PBR/reflectionBlock";
|
|
1220
|
+
import { RefractionBlock } from "@babylonjs/core/Materials/Node/Blocks/PBR/refractionBlock";
|
|
1221
|
+
import { TextureBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/textureBlock";
|
|
1222
|
+
import { CurrentScreenBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/currentScreenBlock";
|
|
1223
|
+
import { ParticleTextureBlock } from "@babylonjs/core/Materials/Node/Blocks/Particle/particleTextureBlock";
|
|
1224
|
+
type ReflectionTexture = ReflectionTextureBlock | ReflectionBlock | RefractionBlock;
|
|
1225
|
+
type AnyTexture = TextureBlock | ReflectionTexture | CurrentScreenBlock | ParticleTextureBlock;
|
|
1226
|
+
export class TexturePropertyTabComponent extends React.Component<IPropertyComponentProps, {
|
|
1227
|
+
isEmbedded: boolean;
|
|
1228
|
+
loadAsCubeTexture: boolean;
|
|
1229
|
+
textureIsPrefiltered: boolean;
|
|
1230
|
+
}> {
|
|
1231
|
+
get textureBlock(): AnyTexture;
|
|
1232
|
+
constructor(props: IPropertyComponentProps);
|
|
1233
|
+
UNSAFE_componentWillUpdate(nextProps: IPropertyComponentProps, nextState: {
|
|
1234
|
+
isEmbedded: boolean;
|
|
1235
|
+
loadAsCubeTexture: boolean;
|
|
1236
|
+
}): void;
|
|
1237
|
+
private _generateRandomForCache;
|
|
1238
|
+
updateAfterTextureLoad(): void;
|
|
1239
|
+
removeTexture(): void;
|
|
1240
|
+
_prepareTexture(): void;
|
|
1241
|
+
/**
|
|
1242
|
+
* Replaces the texture of the node
|
|
1243
|
+
* @param file the file of the texture to use
|
|
1244
|
+
*/
|
|
1245
|
+
replaceTexture(file: File): void;
|
|
1246
|
+
replaceTextureWithUrl(url: string): void;
|
|
1247
|
+
render(): JSX.Element;
|
|
1248
|
+
}
|
|
1249
|
+
export {};
|
|
1250
|
+
|
|
1251
|
+
}
|
|
1252
|
+
declare module "@babylonjs/node-editor/diagram/properties/transformNodePropertyComponent" {
|
|
1253
|
+
import * as React from "react";
|
|
1254
|
+
import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
|
|
1255
|
+
export class TransformPropertyTabComponent extends React.Component<IPropertyComponentProps> {
|
|
1256
|
+
constructor(props: IPropertyComponentProps);
|
|
1257
|
+
render(): JSX.Element;
|
|
1258
|
+
}
|
|
1259
|
+
|
|
1260
|
+
}
|
|
1261
|
+
declare module "@babylonjs/node-editor/diagram/properties/trigonometryNodePropertyComponent" {
|
|
1262
|
+
import * as React from "react";
|
|
1263
|
+
import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
|
|
1264
|
+
export class TrigonometryPropertyTabComponent extends React.Component<IPropertyComponentProps> {
|
|
1265
|
+
constructor(props: IPropertyComponentProps);
|
|
1266
|
+
render(): JSX.Element;
|
|
1267
|
+
}
|
|
1268
|
+
|
|
1269
|
+
}
|
|
1270
|
+
declare module "@babylonjs/node-editor/diagram/properties/vectorMergerPropertyComponent" {
|
|
1271
|
+
import * as React from "react";
|
|
1272
|
+
import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
|
|
1273
|
+
export class VectorMergerPropertyTabComponent extends React.Component<IPropertyComponentProps> {
|
|
1274
|
+
constructor(props: IPropertyComponentProps);
|
|
1275
|
+
render(): JSX.Element;
|
|
1276
|
+
}
|
|
1277
|
+
|
|
1278
|
+
}
|
|
1279
|
+
declare module "@babylonjs/node-editor/diagram/propertyLedger" {
|
|
1280
|
+
import { ComponentClass } from "react";
|
|
1281
|
+
import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
|
|
1282
|
+
export class PropertyLedger {
|
|
1283
|
+
static RegisteredControls: {
|
|
1284
|
+
[key: string]: ComponentClass<IPropertyComponentProps>;
|
|
1285
|
+
};
|
|
1286
|
+
}
|
|
1287
|
+
|
|
1288
|
+
}
|
|
1289
|
+
declare module "@babylonjs/node-editor/globalState" {
|
|
1290
|
+
import { NodeMaterial } from "@babylonjs/core/Materials/Node/nodeMaterial";
|
|
1291
|
+
import { Nullable } from "@babylonjs/core/types";
|
|
1292
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
1293
|
+
import { LogEntry } from "@babylonjs/node-editor/components/log/logComponent";
|
|
1294
|
+
import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
|
|
1295
|
+
import { PreviewType } from "@babylonjs/node-editor/components/preview/previewType";
|
|
1296
|
+
import { Color4 } from "@babylonjs/core/Maths/math.color";
|
|
1297
|
+
import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
|
|
1298
|
+
import { Vector2 } from "@babylonjs/core/Maths/math.vector";
|
|
1299
|
+
import { NodePort } from "@babylonjs/node-editor/diagram/nodePort";
|
|
1300
|
+
import { NodeLink } from "@babylonjs/node-editor/diagram/nodeLink";
|
|
1301
|
+
import { GraphFrame } from "@babylonjs/node-editor/diagram/graphFrame";
|
|
1302
|
+
import { FrameNodePort } from "@babylonjs/node-editor/diagram/frameNodePort";
|
|
1303
|
+
import { FramePortData } from "@babylonjs/node-editor/diagram/graphCanvas";
|
|
1304
|
+
import { NodeMaterialModes } from "@babylonjs/core/Materials/Node/Enums/nodeMaterialModes";
|
|
1305
|
+
export class ISelectionChangedOptions {
|
|
1306
|
+
selection: Nullable<GraphNode | NodeLink | GraphFrame | NodePort | FramePortData>;
|
|
1307
|
+
forceKeepSelection?: boolean;
|
|
1308
|
+
}
|
|
1309
|
+
export class GlobalState {
|
|
1310
|
+
nodeMaterial: NodeMaterial;
|
|
1311
|
+
hostElement: HTMLElement;
|
|
1312
|
+
hostDocument: HTMLDocument;
|
|
1313
|
+
hostWindow: Window;
|
|
1314
|
+
onNewNodeCreatedObservable: Observable<GraphNode>;
|
|
1315
|
+
onSelectionChangedObservable: Observable<Nullable<ISelectionChangedOptions>>;
|
|
1316
|
+
onRebuildRequiredObservable: Observable<boolean>;
|
|
1317
|
+
onBuiltObservable: Observable<void>;
|
|
1318
|
+
onResetRequiredObservable: Observable<void>;
|
|
1319
|
+
onUpdateRequiredObservable: Observable<Nullable<NodeMaterialBlock>>;
|
|
1320
|
+
onZoomToFitRequiredObservable: Observable<void>;
|
|
1321
|
+
onReOrganizedRequiredObservable: Observable<void>;
|
|
1322
|
+
onLogRequiredObservable: Observable<LogEntry>;
|
|
1323
|
+
onErrorMessageDialogRequiredObservable: Observable<string>;
|
|
1324
|
+
onIsLoadingChanged: Observable<boolean>;
|
|
1325
|
+
onPreviewCommandActivated: Observable<boolean>;
|
|
1326
|
+
onLightUpdated: Observable<void>;
|
|
1327
|
+
onPreviewBackgroundChanged: Observable<void>;
|
|
1328
|
+
onBackFaceCullingChanged: Observable<void>;
|
|
1329
|
+
onDepthPrePassChanged: Observable<void>;
|
|
1330
|
+
onAnimationCommandActivated: Observable<void>;
|
|
1331
|
+
onCandidateLinkMoved: Observable<Nullable<Vector2>>;
|
|
1332
|
+
onSelectionBoxMoved: Observable<ClientRect | DOMRect>;
|
|
1333
|
+
onFrameCreatedObservable: Observable<GraphFrame>;
|
|
1334
|
+
onCandidatePortSelectedObservable: Observable<Nullable<NodePort | FrameNodePort>>;
|
|
1335
|
+
onImportFrameObservable: Observable<any>;
|
|
1336
|
+
onGraphNodeRemovalObservable: Observable<GraphNode>;
|
|
1337
|
+
onPopupClosedObservable: Observable<void>;
|
|
1338
|
+
onNewBlockRequiredObservable: Observable<{
|
|
1339
|
+
type: string;
|
|
1340
|
+
targetX: number;
|
|
1341
|
+
targetY: number;
|
|
1342
|
+
needRepositioning?: boolean | undefined;
|
|
1343
|
+
}>;
|
|
1344
|
+
onGetNodeFromBlock: (block: NodeMaterialBlock) => GraphNode;
|
|
1345
|
+
onGridSizeChanged: Observable<void>;
|
|
1346
|
+
onExposePortOnFrameObservable: Observable<GraphNode>;
|
|
1347
|
+
previewType: PreviewType;
|
|
1348
|
+
previewFile: File;
|
|
1349
|
+
particleSystemBlendMode: number;
|
|
1350
|
+
listOfCustomPreviewFiles: File[];
|
|
1351
|
+
rotatePreview: boolean;
|
|
1352
|
+
backgroundColor: Color4;
|
|
1353
|
+
backFaceCulling: boolean;
|
|
1354
|
+
depthPrePass: boolean;
|
|
1355
|
+
blockKeyboardEvents: boolean;
|
|
1356
|
+
hemisphericLight: boolean;
|
|
1357
|
+
directionalLight0: boolean;
|
|
1358
|
+
directionalLight1: boolean;
|
|
1359
|
+
controlCamera: boolean;
|
|
1360
|
+
storeEditorData: (serializationObject: any, frame?: Nullable<GraphFrame>) => void;
|
|
1361
|
+
_mode: NodeMaterialModes;
|
|
1362
|
+
/** Gets the mode */
|
|
1363
|
+
get mode(): NodeMaterialModes;
|
|
1364
|
+
/** Sets the mode */
|
|
1365
|
+
set mode(m: NodeMaterialModes);
|
|
1366
|
+
customSave?: {
|
|
1367
|
+
label: string;
|
|
1368
|
+
action: (data: string) => Promise<void>;
|
|
1369
|
+
};
|
|
1370
|
+
constructor();
|
|
1371
|
+
}
|
|
1372
|
+
|
|
1373
|
+
}
|
|
1374
|
+
declare module "@babylonjs/node-editor/graphEditor" {
|
|
1375
|
+
import * as React from "react";
|
|
1376
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
1377
|
+
import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
|
|
1378
|
+
import { Nullable } from "@babylonjs/core/types";
|
|
1379
|
+
import { IEditorData } from "@babylonjs/node-editor/nodeLocationInfo";
|
|
1380
|
+
import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
|
|
1381
|
+
import { IInspectorOptions } from "@babylonjs/core/Debug/debugLayer";
|
|
1382
|
+
import "@babylonjs/node-editor/main.scss";
|
|
1383
|
+
interface IGraphEditorProps {
|
|
1384
|
+
globalState: GlobalState;
|
|
1385
|
+
}
|
|
1386
|
+
interface IGraphEditorState {
|
|
1387
|
+
showPreviewPopUp: boolean;
|
|
1388
|
+
}
|
|
1389
|
+
interface IInternalPreviewAreaOptions extends IInspectorOptions {
|
|
1390
|
+
popup: boolean;
|
|
1391
|
+
original: boolean;
|
|
1392
|
+
explorerWidth?: string;
|
|
1393
|
+
inspectorWidth?: string;
|
|
1394
|
+
embedHostWidth?: string;
|
|
1395
|
+
}
|
|
1396
|
+
export class GraphEditor extends React.Component<IGraphEditorProps, IGraphEditorState> {
|
|
1397
|
+
static readonly NodeWidth: number;
|
|
1398
|
+
private _graphCanvasRef;
|
|
1399
|
+
private _diagramContainerRef;
|
|
1400
|
+
private _graphCanvas;
|
|
1401
|
+
private _diagramContainer;
|
|
1402
|
+
private _startX;
|
|
1403
|
+
private _moveInProgress;
|
|
1404
|
+
private _leftWidth;
|
|
1405
|
+
private _rightWidth;
|
|
1406
|
+
private _blocks;
|
|
1407
|
+
private _previewManager;
|
|
1408
|
+
private _copiedNodes;
|
|
1409
|
+
private _copiedFrames;
|
|
1410
|
+
private _mouseLocationX;
|
|
1411
|
+
private _mouseLocationY;
|
|
1412
|
+
private _onWidgetKeyUpPointer;
|
|
1413
|
+
private _previewHost;
|
|
1414
|
+
private _popUpWindow;
|
|
1415
|
+
/**
|
|
1416
|
+
* Creates a node and recursivly creates its parent nodes from it's input
|
|
1417
|
+
* @param block
|
|
1418
|
+
* @param recursion
|
|
1419
|
+
*/
|
|
1420
|
+
createNodeFromObject(block: NodeMaterialBlock, recursion?: boolean): GraphNode;
|
|
1421
|
+
addValueNode(type: string): GraphNode;
|
|
1422
|
+
componentDidMount(): void;
|
|
1423
|
+
componentWillUnmount(): void;
|
|
1424
|
+
constructor(props: IGraphEditorProps);
|
|
1425
|
+
reconnectNewNodes(nodeIndex: number, newNodes: GraphNode[], sourceNodes: GraphNode[], done: boolean[]): void;
|
|
1426
|
+
pasteSelection(copiedNodes: GraphNode[], currentX: number, currentY: number, selectNew?: boolean): GraphNode[] | undefined;
|
|
1427
|
+
zoomToFit(): void;
|
|
1428
|
+
buildMaterial(autoConfigure?: boolean): void;
|
|
1429
|
+
build(): void;
|
|
1430
|
+
loadGraph(): void;
|
|
1431
|
+
showWaitScreen(): void;
|
|
1432
|
+
hideWaitScreen(): void;
|
|
1433
|
+
reOrganize(editorData?: Nullable<IEditorData>, isImportingAFrame?: boolean): void;
|
|
1434
|
+
onPointerDown(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
1435
|
+
onPointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
1436
|
+
resizeColumns(evt: React.PointerEvent<HTMLDivElement>, forLeft?: boolean): void;
|
|
1437
|
+
buildColumnLayout(): string;
|
|
1438
|
+
emitNewBlock(blockType: string, targetX: number, targetY: number): void;
|
|
1439
|
+
dropNewBlock(event: React.DragEvent<HTMLDivElement>): void;
|
|
1440
|
+
handlePopUp: () => void;
|
|
1441
|
+
handleClosingPopUp: () => void;
|
|
1442
|
+
initiatePreviewArea: (canvas?: HTMLCanvasElement) => void;
|
|
1443
|
+
createPopUp: () => void;
|
|
1444
|
+
createPopupWindow: (title: string, windowVariableName: string, width?: number, height?: number) => Window | null;
|
|
1445
|
+
createPreviewMeshControlHost: (options: IInternalPreviewAreaOptions, parentControl: Nullable<HTMLElement>) => void;
|
|
1446
|
+
createPreviewHost: (options: IInternalPreviewAreaOptions, parentControl: Nullable<HTMLElement>) => void;
|
|
1447
|
+
fixPopUpStyles: (document: Document) => void;
|
|
1448
|
+
render(): JSX.Element;
|
|
1449
|
+
}
|
|
1450
|
+
export {};
|
|
1451
|
+
|
|
1452
|
+
}
|
|
1453
|
+
declare module "@babylonjs/node-editor/index" {
|
|
1454
|
+
export * from "@babylonjs/node-editor/nodeEditor";
|
|
1455
|
+
|
|
1456
|
+
}
|
|
1457
|
+
declare module "@babylonjs/node-editor/legacy/legacy" {
|
|
1458
|
+
export * from "@babylonjs/node-editor/index";
|
|
1459
|
+
|
|
1460
|
+
}
|
|
1461
|
+
declare module "@babylonjs/node-editor/nodeEditor" {
|
|
1462
|
+
import { NodeMaterial } from "@babylonjs/core/Materials/Node/nodeMaterial";
|
|
1463
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
1464
|
+
/**
|
|
1465
|
+
* Interface used to specify creation options for the node editor
|
|
1466
|
+
*/
|
|
1467
|
+
export interface INodeEditorOptions {
|
|
1468
|
+
nodeMaterial: NodeMaterial;
|
|
1469
|
+
hostElement?: HTMLElement;
|
|
1470
|
+
customSave?: {
|
|
1471
|
+
label: string;
|
|
1472
|
+
action: (data: string) => Promise<void>;
|
|
1473
|
+
};
|
|
1474
|
+
customLoadObservable?: Observable<any>;
|
|
1475
|
+
}
|
|
1476
|
+
/**
|
|
1477
|
+
* Class used to create a node editor
|
|
1478
|
+
*/
|
|
1479
|
+
export class NodeEditor {
|
|
1480
|
+
private static _CurrentState;
|
|
1481
|
+
/**
|
|
1482
|
+
* Show the node editor
|
|
1483
|
+
* @param options defines the options to use to configure the node editor
|
|
1484
|
+
*/
|
|
1485
|
+
static Show(options: INodeEditorOptions): void;
|
|
1486
|
+
}
|
|
1487
|
+
|
|
1488
|
+
}
|
|
1489
|
+
declare module "@babylonjs/node-editor/nodeLocationInfo" {
|
|
1490
|
+
export interface INodeLocationInfo {
|
|
1491
|
+
blockId: number;
|
|
1492
|
+
x: number;
|
|
1493
|
+
y: number;
|
|
1494
|
+
}
|
|
1495
|
+
export interface IFrameData {
|
|
1496
|
+
x: number;
|
|
1497
|
+
y: number;
|
|
1498
|
+
width: number;
|
|
1499
|
+
height: number;
|
|
1500
|
+
color: number[];
|
|
1501
|
+
name: string;
|
|
1502
|
+
isCollapsed: boolean;
|
|
1503
|
+
blocks: number[];
|
|
1504
|
+
comments: string;
|
|
1505
|
+
}
|
|
1506
|
+
export interface IEditorData {
|
|
1507
|
+
locations: INodeLocationInfo[];
|
|
1508
|
+
x: number;
|
|
1509
|
+
y: number;
|
|
1510
|
+
zoom: number;
|
|
1511
|
+
frames?: IFrameData[];
|
|
1512
|
+
map?: {
|
|
1513
|
+
[key: number]: number;
|
|
1514
|
+
};
|
|
1515
|
+
}
|
|
1516
|
+
|
|
1517
|
+
}
|
|
1518
|
+
declare module "@babylonjs/node-editor/portal" {
|
|
1519
|
+
import * as React from "react";
|
|
1520
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
1521
|
+
interface IPortalProps {
|
|
1522
|
+
globalState: GlobalState;
|
|
1523
|
+
}
|
|
1524
|
+
export class Portal extends React.Component<IPortalProps> {
|
|
1525
|
+
render(): React.ReactPortal;
|
|
1526
|
+
}
|
|
1527
|
+
export {};
|
|
1528
|
+
|
|
1529
|
+
}
|
|
1530
|
+
declare module "@babylonjs/node-editor/serializationTools" {
|
|
1531
|
+
import { NodeMaterial } from "@babylonjs/core/Materials/Node/nodeMaterial";
|
|
1532
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
1533
|
+
import { Nullable } from "@babylonjs/core/types";
|
|
1534
|
+
import { GraphFrame } from "@babylonjs/node-editor/diagram/graphFrame";
|
|
1535
|
+
export class SerializationTools {
|
|
1536
|
+
static UpdateLocations(material: NodeMaterial, globalState: GlobalState, frame?: Nullable<GraphFrame>): void;
|
|
1537
|
+
static Serialize(material: NodeMaterial, globalState: GlobalState, frame?: Nullable<GraphFrame>): string;
|
|
1538
|
+
static Deserialize(serializationObject: any, globalState: GlobalState): void;
|
|
1539
|
+
static AddFrameToMaterial(serializationObject: any, globalState: GlobalState, currentMaterial: NodeMaterial): void;
|
|
1540
|
+
}
|
|
1541
|
+
|
|
1542
|
+
}
|
|
1543
|
+
declare module "@babylonjs/node-editor/sharedComponents/buttonLineComponent" {
|
|
1544
|
+
import * as React from "react";
|
|
1545
|
+
export interface IButtonLineComponentProps {
|
|
1546
|
+
label: string;
|
|
1547
|
+
onClick: () => void;
|
|
1548
|
+
isDisabled?: boolean;
|
|
1549
|
+
}
|
|
1550
|
+
export class ButtonLineComponent extends React.Component<IButtonLineComponentProps> {
|
|
1551
|
+
constructor(props: IButtonLineComponentProps);
|
|
1552
|
+
render(): JSX.Element;
|
|
1553
|
+
}
|
|
1554
|
+
|
|
1555
|
+
}
|
|
1556
|
+
declare module "@babylonjs/node-editor/sharedComponents/checkBoxLineComponent" {
|
|
1557
|
+
import * as React from "react";
|
|
1558
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
1559
|
+
import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedComponents/propertyChangedEvent";
|
|
1560
|
+
export interface ICheckBoxLineComponentProps {
|
|
1561
|
+
label: string;
|
|
1562
|
+
target?: any;
|
|
1563
|
+
propertyName?: string;
|
|
1564
|
+
isSelected?: () => boolean;
|
|
1565
|
+
onSelect?: (value: boolean) => void;
|
|
1566
|
+
onValueChanged?: () => void;
|
|
1567
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
1568
|
+
disabled?: boolean;
|
|
1569
|
+
}
|
|
1570
|
+
export class CheckBoxLineComponent extends React.Component<ICheckBoxLineComponentProps, {
|
|
1571
|
+
isSelected: boolean;
|
|
1572
|
+
isDisabled?: boolean;
|
|
1573
|
+
}> {
|
|
1574
|
+
private static _UniqueIdSeed;
|
|
1575
|
+
private _uniqueId;
|
|
1576
|
+
private _localChange;
|
|
1577
|
+
constructor(props: ICheckBoxLineComponentProps);
|
|
1578
|
+
shouldComponentUpdate(nextProps: ICheckBoxLineComponentProps, nextState: {
|
|
1579
|
+
isSelected: boolean;
|
|
1580
|
+
isDisabled: boolean;
|
|
1581
|
+
}): boolean;
|
|
1582
|
+
onChange(): void;
|
|
1583
|
+
render(): JSX.Element;
|
|
1584
|
+
}
|
|
1585
|
+
|
|
1586
|
+
}
|
|
1587
|
+
declare module "@babylonjs/node-editor/sharedComponents/color3LineComponent" {
|
|
1588
|
+
import * as React from "react";
|
|
1589
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
1590
|
+
import { Color3, Color4 } from "@babylonjs/core/Maths/math.color";
|
|
1591
|
+
import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedComponents/propertyChangedEvent";
|
|
1592
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
1593
|
+
export interface IColor3LineComponentProps {
|
|
1594
|
+
label: string;
|
|
1595
|
+
target: any;
|
|
1596
|
+
propertyName: string;
|
|
1597
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
1598
|
+
onChange?: () => void;
|
|
1599
|
+
globalState: GlobalState;
|
|
1600
|
+
}
|
|
1601
|
+
interface IColor3LineComponentState {
|
|
1602
|
+
isExpanded: boolean;
|
|
1603
|
+
}
|
|
1604
|
+
export class Color3LineComponent extends React.Component<IColor3LineComponentProps, IColor3LineComponentState> {
|
|
1605
|
+
constructor(props: IColor3LineComponentProps);
|
|
1606
|
+
onChange(newValue: string): void;
|
|
1607
|
+
switchExpandState(): void;
|
|
1608
|
+
updateColor(newValue: Color3 | Color4): void;
|
|
1609
|
+
modifyColor(modifier: (previous: Color3 | Color4) => void): void;
|
|
1610
|
+
getCurrentColor(): Color3 | Color4;
|
|
1611
|
+
copyToClipboard(): void;
|
|
1612
|
+
render(): JSX.Element;
|
|
1613
|
+
}
|
|
1614
|
+
export {};
|
|
1615
|
+
|
|
1616
|
+
}
|
|
1617
|
+
declare module "@babylonjs/node-editor/sharedComponents/color4LineComponent" {
|
|
1618
|
+
import * as React from "react";
|
|
1619
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
1620
|
+
import { Color4 } from "@babylonjs/core/Maths/math.color";
|
|
1621
|
+
import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedComponents/propertyChangedEvent";
|
|
1622
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
1623
|
+
export interface IColor4LineComponentProps {
|
|
1624
|
+
label: string;
|
|
1625
|
+
target: any;
|
|
1626
|
+
propertyName: string;
|
|
1627
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
1628
|
+
onChange?: () => void;
|
|
1629
|
+
globalState: GlobalState;
|
|
1630
|
+
}
|
|
1631
|
+
export class Color4LineComponent extends React.Component<IColor4LineComponentProps, {
|
|
1632
|
+
isExpanded: boolean;
|
|
1633
|
+
}> {
|
|
1634
|
+
constructor(props: IColor4LineComponentProps);
|
|
1635
|
+
onChange(newValue: string): void;
|
|
1636
|
+
switchExpandState(): void;
|
|
1637
|
+
updateColor(newValue: Color4): void;
|
|
1638
|
+
modifyColor(modifier: (previous: Color4) => void): void;
|
|
1639
|
+
getCurrentColor(): Color4;
|
|
1640
|
+
copyToClipboard(): void;
|
|
1641
|
+
render(): JSX.Element;
|
|
1642
|
+
}
|
|
1643
|
+
|
|
1644
|
+
}
|
|
1645
|
+
declare module "@babylonjs/node-editor/sharedComponents/colorPickerComponent" {
|
|
1646
|
+
import * as React from "react";
|
|
1647
|
+
import { Color4, Color3 } from "@babylonjs/core/Maths/math.color";
|
|
1648
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
1649
|
+
export interface IColorPickerComponentProps {
|
|
1650
|
+
value: Color4 | Color3;
|
|
1651
|
+
onColorChanged: (newOne: string) => void;
|
|
1652
|
+
globalState: GlobalState;
|
|
1653
|
+
}
|
|
1654
|
+
interface IColorPickerComponentState {
|
|
1655
|
+
pickerEnabled: boolean;
|
|
1656
|
+
color: Color3 | Color4;
|
|
1657
|
+
hex: string;
|
|
1658
|
+
}
|
|
1659
|
+
export class ColorPickerLineComponent extends React.Component<IColorPickerComponentProps, IColorPickerComponentState> {
|
|
1660
|
+
private _floatRef;
|
|
1661
|
+
private _floatHostRef;
|
|
1662
|
+
constructor(props: IColorPickerComponentProps);
|
|
1663
|
+
syncPositions(): void;
|
|
1664
|
+
shouldComponentUpdate(nextProps: IColorPickerComponentProps, nextState: IColorPickerComponentState): boolean;
|
|
1665
|
+
componentDidUpdate(): void;
|
|
1666
|
+
componentDidMount(): void;
|
|
1667
|
+
setPickerState(enabled: boolean): void;
|
|
1668
|
+
render(): JSX.Element;
|
|
1669
|
+
}
|
|
1670
|
+
export {};
|
|
1671
|
+
|
|
1672
|
+
}
|
|
1673
|
+
declare module "@babylonjs/node-editor/sharedComponents/draggableLineComponent" {
|
|
1674
|
+
import * as React from "react";
|
|
1675
|
+
export interface IButtonLineComponentProps {
|
|
1676
|
+
data: string;
|
|
1677
|
+
tooltip: string;
|
|
1678
|
+
}
|
|
1679
|
+
export class DraggableLineComponent extends React.Component<IButtonLineComponentProps> {
|
|
1680
|
+
constructor(props: IButtonLineComponentProps);
|
|
1681
|
+
render(): JSX.Element;
|
|
1682
|
+
}
|
|
1683
|
+
|
|
1684
|
+
}
|
|
1685
|
+
declare module "@babylonjs/node-editor/sharedComponents/draggableLineWithButtonComponent" {
|
|
1686
|
+
import * as React from "react";
|
|
1687
|
+
export interface IDraggableLineWithButtonComponent {
|
|
1688
|
+
data: string;
|
|
1689
|
+
tooltip: string;
|
|
1690
|
+
iconImage: any;
|
|
1691
|
+
onIconClick: (value: string) => void;
|
|
1692
|
+
iconTitle: string;
|
|
1693
|
+
lenSuffixToRemove?: number;
|
|
1694
|
+
}
|
|
1695
|
+
export class DraggableLineWithButtonComponent extends React.Component<IDraggableLineWithButtonComponent> {
|
|
1696
|
+
constructor(props: IDraggableLineWithButtonComponent);
|
|
1697
|
+
render(): JSX.Element;
|
|
1698
|
+
}
|
|
1699
|
+
|
|
1700
|
+
}
|
|
1701
|
+
declare module "@babylonjs/node-editor/sharedComponents/fileButtonLineComponent" {
|
|
1702
|
+
import * as React from "react";
|
|
1703
|
+
interface IFileButtonLineComponentProps {
|
|
1704
|
+
label: string;
|
|
1705
|
+
onClick: (file: File) => void;
|
|
1706
|
+
accept: string;
|
|
1707
|
+
uploadName?: string;
|
|
1708
|
+
}
|
|
1709
|
+
export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
|
|
1710
|
+
private _uploadRef;
|
|
1711
|
+
constructor(props: IFileButtonLineComponentProps);
|
|
1712
|
+
onChange(evt: any): void;
|
|
1713
|
+
render(): JSX.Element;
|
|
1714
|
+
}
|
|
1715
|
+
export {};
|
|
1716
|
+
|
|
1717
|
+
}
|
|
1718
|
+
declare module "@babylonjs/node-editor/sharedComponents/floatLineComponent" {
|
|
1719
|
+
import * as React from "react";
|
|
1720
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
1721
|
+
import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedComponents/propertyChangedEvent";
|
|
1722
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
1723
|
+
interface IFloatLineComponentProps {
|
|
1724
|
+
label: string;
|
|
1725
|
+
target: any;
|
|
1726
|
+
propertyName: string;
|
|
1727
|
+
onChange?: (newValue: number) => void;
|
|
1728
|
+
isInteger?: boolean;
|
|
1729
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
1730
|
+
additionalClass?: string;
|
|
1731
|
+
step?: string;
|
|
1732
|
+
digits?: number;
|
|
1733
|
+
globalState: GlobalState;
|
|
1734
|
+
min?: number;
|
|
1735
|
+
max?: number;
|
|
1736
|
+
smallUI?: boolean;
|
|
1737
|
+
onEnter?: (newValue: number) => void;
|
|
1738
|
+
}
|
|
1739
|
+
export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
|
|
1740
|
+
value: string;
|
|
1741
|
+
}> {
|
|
1742
|
+
private _localChange;
|
|
1743
|
+
private _store;
|
|
1744
|
+
private _regExp;
|
|
1745
|
+
private _onFocus;
|
|
1746
|
+
constructor(props: IFloatLineComponentProps);
|
|
1747
|
+
shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
|
|
1748
|
+
value: string;
|
|
1749
|
+
}): boolean;
|
|
1750
|
+
componentWillUnmount(): void;
|
|
1751
|
+
raiseOnPropertyChanged(newValue: number, previousValue: number): void;
|
|
1752
|
+
updateValue(valueString: string): void;
|
|
1753
|
+
render(): JSX.Element;
|
|
1754
|
+
}
|
|
1755
|
+
export {};
|
|
1756
|
+
|
|
1757
|
+
}
|
|
1758
|
+
declare module "@babylonjs/node-editor/sharedComponents/lineContainerComponent" {
|
|
1759
|
+
import * as React from "react";
|
|
1760
|
+
interface ILineContainerComponentProps {
|
|
1761
|
+
title: string;
|
|
1762
|
+
children: any[] | any;
|
|
1763
|
+
closed?: boolean;
|
|
1764
|
+
}
|
|
1765
|
+
export class LineContainerComponent extends React.Component<ILineContainerComponentProps, {
|
|
1766
|
+
isExpanded: boolean;
|
|
1767
|
+
}> {
|
|
1768
|
+
constructor(props: ILineContainerComponentProps);
|
|
1769
|
+
switchExpandedState(): void;
|
|
1770
|
+
renderHeader(): JSX.Element;
|
|
1771
|
+
render(): JSX.Element;
|
|
1772
|
+
}
|
|
1773
|
+
export {};
|
|
1774
|
+
|
|
1775
|
+
}
|
|
1776
|
+
declare module "@babylonjs/node-editor/sharedComponents/lineWithFileButtonComponent" {
|
|
1777
|
+
import * as React from "react";
|
|
1778
|
+
interface ILineWithFileButtonComponentProps {
|
|
1779
|
+
title: string;
|
|
1780
|
+
closed?: boolean;
|
|
1781
|
+
label: string;
|
|
1782
|
+
iconImage: any;
|
|
1783
|
+
onIconClick: (file: File) => void;
|
|
1784
|
+
accept: string;
|
|
1785
|
+
uploadName?: string;
|
|
1786
|
+
}
|
|
1787
|
+
export class LineWithFileButtonComponent extends React.Component<ILineWithFileButtonComponentProps, {
|
|
1788
|
+
isExpanded: boolean;
|
|
1789
|
+
}> {
|
|
1790
|
+
private _uploadRef;
|
|
1791
|
+
constructor(props: ILineWithFileButtonComponentProps);
|
|
1792
|
+
onChange(evt: any): void;
|
|
1793
|
+
switchExpandedState(): void;
|
|
1794
|
+
render(): JSX.Element;
|
|
1795
|
+
}
|
|
1796
|
+
export {};
|
|
1797
|
+
|
|
1798
|
+
}
|
|
1799
|
+
declare module "@babylonjs/node-editor/sharedComponents/matrixLineComponent" {
|
|
1800
|
+
import * as React from "react";
|
|
1801
|
+
import { Vector3, Vector4 } from "@babylonjs/core/Maths/math.vector";
|
|
1802
|
+
import { Matrix } from "@babylonjs/core/Maths/math.vector";
|
|
1803
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
1804
|
+
import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedComponents/propertyChangedEvent";
|
|
1805
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
1806
|
+
interface IMatrixLineComponentProps {
|
|
1807
|
+
label: string;
|
|
1808
|
+
target: any;
|
|
1809
|
+
propertyName: string;
|
|
1810
|
+
step?: number;
|
|
1811
|
+
onChange?: (newValue: Matrix) => void;
|
|
1812
|
+
onModeChange?: (mode: number) => void;
|
|
1813
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
1814
|
+
mode?: number;
|
|
1815
|
+
globalState: GlobalState;
|
|
1816
|
+
}
|
|
1817
|
+
export class MatrixLineComponent extends React.Component<IMatrixLineComponentProps, {
|
|
1818
|
+
value: Matrix;
|
|
1819
|
+
mode: number;
|
|
1820
|
+
angle: number;
|
|
1821
|
+
}> {
|
|
1822
|
+
private _localChange;
|
|
1823
|
+
constructor(props: IMatrixLineComponentProps);
|
|
1824
|
+
shouldComponentUpdate(nextProps: IMatrixLineComponentProps, nextState: {
|
|
1825
|
+
value: Matrix;
|
|
1826
|
+
mode: number;
|
|
1827
|
+
angle: number;
|
|
1828
|
+
}): boolean;
|
|
1829
|
+
raiseOnPropertyChanged(previousValue: Vector3): void;
|
|
1830
|
+
updateMatrix(): void;
|
|
1831
|
+
updateRow(value: Vector4, row: number): void;
|
|
1832
|
+
updateBasedOnMode(value: number): void;
|
|
1833
|
+
render(): JSX.Element;
|
|
1834
|
+
}
|
|
1835
|
+
export {};
|
|
1836
|
+
|
|
1837
|
+
}
|
|
1838
|
+
declare module "@babylonjs/node-editor/sharedComponents/messageDialog" {
|
|
1839
|
+
import * as React from "react";
|
|
1840
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
1841
|
+
interface IMessageDialogComponentProps {
|
|
1842
|
+
globalState: GlobalState;
|
|
1843
|
+
}
|
|
1844
|
+
export class MessageDialogComponent extends React.Component<IMessageDialogComponentProps, {
|
|
1845
|
+
message: string;
|
|
1846
|
+
isError: boolean;
|
|
1847
|
+
}> {
|
|
1848
|
+
constructor(props: IMessageDialogComponentProps);
|
|
1849
|
+
render(): JSX.Element | null;
|
|
1850
|
+
}
|
|
1851
|
+
export {};
|
|
1852
|
+
|
|
1853
|
+
}
|
|
1854
|
+
declare module "@babylonjs/node-editor/sharedComponents/numericInputComponent" {
|
|
1855
|
+
import * as React from "react";
|
|
1856
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
1857
|
+
interface INumericInputComponentProps {
|
|
1858
|
+
label: string;
|
|
1859
|
+
value: number;
|
|
1860
|
+
step?: number;
|
|
1861
|
+
onChange: (value: number) => void;
|
|
1862
|
+
globalState: GlobalState;
|
|
1863
|
+
}
|
|
1864
|
+
export class NumericInputComponent extends React.Component<INumericInputComponentProps, {
|
|
1865
|
+
value: string;
|
|
1866
|
+
}> {
|
|
1867
|
+
static defaultProps: {
|
|
1868
|
+
step: number;
|
|
1869
|
+
};
|
|
1870
|
+
private _localChange;
|
|
1871
|
+
constructor(props: INumericInputComponentProps);
|
|
1872
|
+
shouldComponentUpdate(nextProps: INumericInputComponentProps, nextState: {
|
|
1873
|
+
value: string;
|
|
1874
|
+
}): boolean;
|
|
1875
|
+
updateValue(evt: any): void;
|
|
1876
|
+
render(): JSX.Element;
|
|
1877
|
+
}
|
|
1878
|
+
export {};
|
|
1879
|
+
|
|
1880
|
+
}
|
|
1881
|
+
declare module "@babylonjs/node-editor/sharedComponents/optionsLineComponent" {
|
|
1882
|
+
import * as React from "react";
|
|
1883
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
1884
|
+
import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedComponents/propertyChangedEvent";
|
|
1885
|
+
import { IInspectableOptions } from "@babylonjs/core/Misc/iInspectable";
|
|
1886
|
+
interface IOptionsLineComponentProps {
|
|
1887
|
+
label: string;
|
|
1888
|
+
target: any;
|
|
1889
|
+
className?: string;
|
|
1890
|
+
propertyName?: string;
|
|
1891
|
+
options: IInspectableOptions[];
|
|
1892
|
+
noDirectUpdate?: boolean;
|
|
1893
|
+
onSelect?: (value: number | string) => void;
|
|
1894
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
1895
|
+
valuesAreStrings?: boolean;
|
|
1896
|
+
defaultIfNull?: number;
|
|
1897
|
+
getSelection?: (target: any) => number;
|
|
1898
|
+
}
|
|
1899
|
+
export class OptionsLineComponent extends React.Component<IOptionsLineComponentProps, {
|
|
1900
|
+
value: number | string;
|
|
1901
|
+
}> {
|
|
1902
|
+
private _localChange;
|
|
1903
|
+
private _getValue;
|
|
1904
|
+
constructor(props: IOptionsLineComponentProps);
|
|
1905
|
+
setValue(value: string | number): void;
|
|
1906
|
+
shouldComponentUpdate(nextProps: IOptionsLineComponentProps, nextState: {
|
|
1907
|
+
value: number;
|
|
1908
|
+
}): boolean;
|
|
1909
|
+
raiseOnPropertyChanged(newValue: number | string, previousValue: number | string): void;
|
|
1910
|
+
updateValue(valueString: string): void;
|
|
1911
|
+
render(): JSX.Element;
|
|
1912
|
+
}
|
|
1913
|
+
export {};
|
|
1914
|
+
|
|
1915
|
+
}
|
|
1916
|
+
declare module "@babylonjs/node-editor/sharedComponents/popup" {
|
|
1917
|
+
export class Popup {
|
|
1918
|
+
static CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): HTMLDivElement | null;
|
|
1919
|
+
static _CopyStyles(sourceDoc: HTMLDocument, targetDoc: HTMLDocument): void;
|
|
1920
|
+
}
|
|
1921
|
+
|
|
1922
|
+
}
|
|
1923
|
+
declare module "@babylonjs/node-editor/sharedComponents/propertyChangedEvent" {
|
|
1924
|
+
export class PropertyChangedEvent {
|
|
1925
|
+
object: any;
|
|
1926
|
+
property: string;
|
|
1927
|
+
value: any;
|
|
1928
|
+
initialValue: any;
|
|
1929
|
+
}
|
|
1930
|
+
|
|
1931
|
+
}
|
|
1932
|
+
declare module "@babylonjs/node-editor/sharedComponents/sliderLineComponent" {
|
|
1933
|
+
import * as React from "react";
|
|
1934
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
1935
|
+
import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedComponents/propertyChangedEvent";
|
|
1936
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
1937
|
+
interface ISliderLineComponentProps {
|
|
1938
|
+
label: string;
|
|
1939
|
+
target?: any;
|
|
1940
|
+
propertyName?: string;
|
|
1941
|
+
minimum: number;
|
|
1942
|
+
maximum: number;
|
|
1943
|
+
step: number;
|
|
1944
|
+
directValue?: number;
|
|
1945
|
+
useEuler?: boolean;
|
|
1946
|
+
onChange?: (value: number) => void;
|
|
1947
|
+
onInput?: (value: number) => void;
|
|
1948
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
1949
|
+
decimalCount?: number;
|
|
1950
|
+
globalState: GlobalState;
|
|
1951
|
+
}
|
|
1952
|
+
export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
|
|
1953
|
+
value: number;
|
|
1954
|
+
}> {
|
|
1955
|
+
private _localChange;
|
|
1956
|
+
constructor(props: ISliderLineComponentProps);
|
|
1957
|
+
shouldComponentUpdate(nextProps: ISliderLineComponentProps, nextState: {
|
|
1958
|
+
value: number;
|
|
1959
|
+
}): boolean;
|
|
1960
|
+
onChange(newValueString: any): void;
|
|
1961
|
+
onInput(newValueString: any): void;
|
|
1962
|
+
prepareDataToRead(value: number): number;
|
|
1963
|
+
render(): JSX.Element;
|
|
1964
|
+
}
|
|
1965
|
+
export {};
|
|
1966
|
+
|
|
1967
|
+
}
|
|
1968
|
+
declare module "@babylonjs/node-editor/sharedComponents/textInputLineComponent" {
|
|
1969
|
+
import * as React from "react";
|
|
1970
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
1971
|
+
import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedComponents/propertyChangedEvent";
|
|
1972
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
1973
|
+
interface ITextInputLineComponentProps {
|
|
1974
|
+
label: string;
|
|
1975
|
+
globalState: GlobalState;
|
|
1976
|
+
target?: any;
|
|
1977
|
+
propertyName?: string;
|
|
1978
|
+
value?: string;
|
|
1979
|
+
multilines?: boolean;
|
|
1980
|
+
onChange?: (value: string) => void;
|
|
1981
|
+
validator?: (value: string) => boolean;
|
|
1982
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
1983
|
+
}
|
|
1984
|
+
export class TextInputLineComponent extends React.Component<ITextInputLineComponentProps, {
|
|
1985
|
+
value: string;
|
|
1986
|
+
}> {
|
|
1987
|
+
private _localChange;
|
|
1988
|
+
private _onFocus;
|
|
1989
|
+
constructor(props: ITextInputLineComponentProps);
|
|
1990
|
+
shouldComponentUpdate(nextProps: ITextInputLineComponentProps, nextState: {
|
|
1991
|
+
value: string;
|
|
1992
|
+
}): boolean;
|
|
1993
|
+
componentWillUnmount(): void;
|
|
1994
|
+
raiseOnPropertyChanged(newValue: string, previousValue: string): void;
|
|
1995
|
+
updateValue(value: string, raisePropertyChanged: boolean): void;
|
|
1996
|
+
render(): JSX.Element;
|
|
1997
|
+
}
|
|
1998
|
+
export {};
|
|
1999
|
+
|
|
2000
|
+
}
|
|
2001
|
+
declare module "@babylonjs/node-editor/sharedComponents/textLineComponent" {
|
|
2002
|
+
import * as React from "react";
|
|
2003
|
+
interface ITextLineComponentProps {
|
|
2004
|
+
label: string;
|
|
2005
|
+
value: string;
|
|
2006
|
+
color?: string;
|
|
2007
|
+
underline?: boolean;
|
|
2008
|
+
onLink?: () => void;
|
|
2009
|
+
}
|
|
2010
|
+
export class TextLineComponent extends React.Component<ITextLineComponentProps> {
|
|
2011
|
+
constructor(props: ITextLineComponentProps);
|
|
2012
|
+
onLink(): void;
|
|
2013
|
+
renderContent(): JSX.Element;
|
|
2014
|
+
render(): JSX.Element;
|
|
2015
|
+
}
|
|
2016
|
+
export {};
|
|
2017
|
+
|
|
2018
|
+
}
|
|
2019
|
+
declare module "@babylonjs/node-editor/sharedComponents/textureLineComponent" {
|
|
2020
|
+
import * as React from "react";
|
|
2021
|
+
import { BaseTexture } from "@babylonjs/core/Materials/Textures/baseTexture";
|
|
2022
|
+
interface ITextureLineComponentProps {
|
|
2023
|
+
texture: BaseTexture;
|
|
2024
|
+
width: number;
|
|
2025
|
+
height: number;
|
|
2026
|
+
globalState?: any;
|
|
2027
|
+
hideChannelSelect?: boolean;
|
|
2028
|
+
}
|
|
2029
|
+
export interface ITextureLineComponentState {
|
|
2030
|
+
displayRed: boolean;
|
|
2031
|
+
displayGreen: boolean;
|
|
2032
|
+
displayBlue: boolean;
|
|
2033
|
+
displayAlpha: boolean;
|
|
2034
|
+
face: number;
|
|
2035
|
+
}
|
|
2036
|
+
export class TextureLineComponent extends React.Component<ITextureLineComponentProps, ITextureLineComponentState> {
|
|
2037
|
+
private _canvasRef;
|
|
2038
|
+
constructor(props: ITextureLineComponentProps);
|
|
2039
|
+
shouldComponentUpdate(): boolean;
|
|
2040
|
+
componentDidMount(): void;
|
|
2041
|
+
componentDidUpdate(): void;
|
|
2042
|
+
updatePreview(): void;
|
|
2043
|
+
static UpdatePreview(previewCanvas: HTMLCanvasElement, texture: BaseTexture, width: number, options: ITextureLineComponentState, onReady?: () => void, globalState?: any): Promise<void>;
|
|
2044
|
+
render(): JSX.Element;
|
|
2045
|
+
}
|
|
2046
|
+
export {};
|
|
2047
|
+
|
|
2048
|
+
}
|
|
2049
|
+
declare module "@babylonjs/node-editor/sharedComponents/vector2LineComponent" {
|
|
2050
|
+
import * as React from "react";
|
|
2051
|
+
import { Vector2 } from "@babylonjs/core/Maths/math.vector";
|
|
2052
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
2053
|
+
import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedComponents/propertyChangedEvent";
|
|
2054
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
2055
|
+
interface IVector2LineComponentProps {
|
|
2056
|
+
label: string;
|
|
2057
|
+
target: any;
|
|
2058
|
+
propertyName: string;
|
|
2059
|
+
step?: number;
|
|
2060
|
+
onChange?: (newvalue: Vector2) => void;
|
|
2061
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
2062
|
+
globalState: GlobalState;
|
|
2063
|
+
}
|
|
2064
|
+
export class Vector2LineComponent extends React.Component<IVector2LineComponentProps, {
|
|
2065
|
+
isExpanded: boolean;
|
|
2066
|
+
value: Vector2;
|
|
2067
|
+
}> {
|
|
2068
|
+
static defaultProps: {
|
|
2069
|
+
step: number;
|
|
2070
|
+
};
|
|
2071
|
+
private _localChange;
|
|
2072
|
+
constructor(props: IVector2LineComponentProps);
|
|
2073
|
+
shouldComponentUpdate(nextProps: IVector2LineComponentProps, nextState: {
|
|
2074
|
+
isExpanded: boolean;
|
|
2075
|
+
value: Vector2;
|
|
2076
|
+
}): boolean;
|
|
2077
|
+
switchExpandState(): void;
|
|
2078
|
+
raiseOnPropertyChanged(previousValue: Vector2): void;
|
|
2079
|
+
updateStateX(value: number): void;
|
|
2080
|
+
updateStateY(value: number): void;
|
|
2081
|
+
render(): JSX.Element;
|
|
2082
|
+
}
|
|
2083
|
+
export {};
|
|
2084
|
+
|
|
2085
|
+
}
|
|
2086
|
+
declare module "@babylonjs/node-editor/sharedComponents/vector3LineComponent" {
|
|
2087
|
+
import * as React from "react";
|
|
2088
|
+
import { Vector3 } from "@babylonjs/core/Maths/math.vector";
|
|
2089
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
2090
|
+
import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedComponents/propertyChangedEvent";
|
|
2091
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
2092
|
+
interface IVector3LineComponentProps {
|
|
2093
|
+
label: string;
|
|
2094
|
+
target: any;
|
|
2095
|
+
propertyName: string;
|
|
2096
|
+
step?: number;
|
|
2097
|
+
onChange?: (newvalue: Vector3) => void;
|
|
2098
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
2099
|
+
globalState: GlobalState;
|
|
2100
|
+
}
|
|
2101
|
+
export class Vector3LineComponent extends React.Component<IVector3LineComponentProps, {
|
|
2102
|
+
isExpanded: boolean;
|
|
2103
|
+
value: Vector3;
|
|
2104
|
+
}> {
|
|
2105
|
+
static defaultProps: {
|
|
2106
|
+
step: number;
|
|
2107
|
+
};
|
|
2108
|
+
private _localChange;
|
|
2109
|
+
constructor(props: IVector3LineComponentProps);
|
|
2110
|
+
shouldComponentUpdate(nextProps: IVector3LineComponentProps, nextState: {
|
|
2111
|
+
isExpanded: boolean;
|
|
2112
|
+
value: Vector3;
|
|
2113
|
+
}): boolean;
|
|
2114
|
+
switchExpandState(): void;
|
|
2115
|
+
raiseOnPropertyChanged(previousValue: Vector3): void;
|
|
2116
|
+
updateVector3(): void;
|
|
2117
|
+
updateStateX(value: number): void;
|
|
2118
|
+
updateStateY(value: number): void;
|
|
2119
|
+
updateStateZ(value: number): void;
|
|
2120
|
+
render(): JSX.Element;
|
|
2121
|
+
}
|
|
2122
|
+
export {};
|
|
2123
|
+
|
|
2124
|
+
}
|
|
2125
|
+
declare module "@babylonjs/node-editor/sharedComponents/vector4LineComponent" {
|
|
2126
|
+
import * as React from "react";
|
|
2127
|
+
import { Vector4 } from "@babylonjs/core/Maths/math.vector";
|
|
2128
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
2129
|
+
import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedComponents/propertyChangedEvent";
|
|
2130
|
+
import { GlobalState } from "@babylonjs/node-editor/globalState";
|
|
2131
|
+
interface IVector4LineComponentProps {
|
|
2132
|
+
label: string;
|
|
2133
|
+
target?: any;
|
|
2134
|
+
propertyName?: string;
|
|
2135
|
+
value?: Vector4;
|
|
2136
|
+
step?: number;
|
|
2137
|
+
onChange?: (newvalue: Vector4) => void;
|
|
2138
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
2139
|
+
globalState: GlobalState;
|
|
2140
|
+
}
|
|
2141
|
+
export class Vector4LineComponent extends React.Component<IVector4LineComponentProps, {
|
|
2142
|
+
isExpanded: boolean;
|
|
2143
|
+
value: Vector4;
|
|
2144
|
+
}> {
|
|
2145
|
+
static defaultProps: {
|
|
2146
|
+
step: number;
|
|
2147
|
+
};
|
|
2148
|
+
private _localChange;
|
|
2149
|
+
constructor(props: IVector4LineComponentProps);
|
|
2150
|
+
shouldComponentUpdate(nextProps: IVector4LineComponentProps, nextState: {
|
|
2151
|
+
isExpanded: boolean;
|
|
2152
|
+
value: Vector4;
|
|
2153
|
+
}): boolean;
|
|
2154
|
+
switchExpandState(): void;
|
|
2155
|
+
raiseOnPropertyChanged(previousValue: Vector4): void;
|
|
2156
|
+
updateVector4(): void;
|
|
2157
|
+
updateStateX(value: number): void;
|
|
2158
|
+
updateStateY(value: number): void;
|
|
2159
|
+
updateStateZ(value: number): void;
|
|
2160
|
+
updateStateW(value: number): void;
|
|
2161
|
+
render(): JSX.Element;
|
|
2162
|
+
}
|
|
2163
|
+
export {};
|
|
2164
|
+
|
|
2165
|
+
}
|
|
2166
|
+
declare module "shared-ui-components/colorPicker/colorComponentEntry" {
|
|
2167
|
+
import * as React from "react";
|
|
2168
|
+
export interface IColorComponentEntryProps {
|
|
2169
|
+
value: number;
|
|
2170
|
+
label: string;
|
|
2171
|
+
max?: number;
|
|
2172
|
+
min?: number;
|
|
2173
|
+
onChange: (value: number) => void;
|
|
2174
|
+
disabled?: boolean;
|
|
2175
|
+
}
|
|
2176
|
+
export class ColorComponentEntry extends React.Component<IColorComponentEntryProps> {
|
|
2177
|
+
constructor(props: IColorComponentEntryProps);
|
|
2178
|
+
updateValue(valueString: string): void;
|
|
2179
|
+
render(): JSX.Element;
|
|
2180
|
+
}
|
|
2181
|
+
|
|
2182
|
+
}
|
|
2183
|
+
declare module "shared-ui-components/colorPicker/colorPicker" {
|
|
2184
|
+
import * as React from "react";
|
|
2185
|
+
import { Color3, Color4 } from "@babylonjs/core/Maths/math.color";
|
|
2186
|
+
import "shared-ui-components/colorPicker/colorPicker.scss";
|
|
2187
|
+
/**
|
|
2188
|
+
* Interface used to specify creation options for color picker
|
|
2189
|
+
*/
|
|
2190
|
+
export interface IColorPickerProps {
|
|
2191
|
+
color: Color3 | Color4;
|
|
2192
|
+
linearhint?: boolean;
|
|
2193
|
+
debugMode?: boolean;
|
|
2194
|
+
onColorChanged?: (color: Color3 | Color4) => void;
|
|
2195
|
+
}
|
|
2196
|
+
/**
|
|
2197
|
+
* Interface used to specify creation options for color picker
|
|
2198
|
+
*/
|
|
2199
|
+
export interface IColorPickerState {
|
|
2200
|
+
color: Color3;
|
|
2201
|
+
alpha: number;
|
|
2202
|
+
}
|
|
2203
|
+
/**
|
|
2204
|
+
* Class used to create a color picker
|
|
2205
|
+
*/
|
|
2206
|
+
export class ColorPicker extends React.Component<IColorPickerProps, IColorPickerState> {
|
|
2207
|
+
private _saturationRef;
|
|
2208
|
+
private _hueRef;
|
|
2209
|
+
private _isSaturationPointerDown;
|
|
2210
|
+
private _isHuePointerDown;
|
|
2211
|
+
constructor(props: IColorPickerProps);
|
|
2212
|
+
shouldComponentUpdate(nextProps: IColorPickerProps, nextState: IColorPickerState): boolean;
|
|
2213
|
+
onSaturationPointerDown(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
2214
|
+
onSaturationPointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
2215
|
+
onSaturationPointerMove(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
2216
|
+
onHuePointerDown(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
2217
|
+
onHuePointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
2218
|
+
onHuePointerMove(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
2219
|
+
private _evaluateSaturation;
|
|
2220
|
+
private _evaluateHue;
|
|
2221
|
+
componentDidUpdate(): void;
|
|
2222
|
+
raiseOnColorChanged(): void;
|
|
2223
|
+
render(): JSX.Element;
|
|
2224
|
+
}
|
|
2225
|
+
|
|
2226
|
+
}
|
|
2227
|
+
declare module "shared-ui-components/colorPicker/hexColor" {
|
|
2228
|
+
import * as React from "react";
|
|
2229
|
+
export interface IHexColorProps {
|
|
2230
|
+
value: string;
|
|
2231
|
+
expectedLength: number;
|
|
2232
|
+
onChange: (value: string) => void;
|
|
2233
|
+
}
|
|
2234
|
+
export class HexColor extends React.Component<IHexColorProps, {
|
|
2235
|
+
hex: string;
|
|
2236
|
+
}> {
|
|
2237
|
+
constructor(props: IHexColorProps);
|
|
2238
|
+
shouldComponentUpdate(nextProps: IHexColorProps, nextState: {
|
|
2239
|
+
hex: string;
|
|
2240
|
+
}): boolean;
|
|
2241
|
+
updateHexValue(valueString: string): void;
|
|
2242
|
+
render(): JSX.Element;
|
|
2243
|
+
}
|
|
2244
|
+
|
|
2245
|
+
}
|
|
2246
|
+
declare module "shared-ui-components/lines/booleanLineComponent" {
|
|
2247
|
+
import * as React from "react";
|
|
2248
|
+
export interface IBooleanLineComponentProps {
|
|
2249
|
+
label: string;
|
|
2250
|
+
value: boolean;
|
|
2251
|
+
icon?: string;
|
|
2252
|
+
iconLabel?: string;
|
|
2253
|
+
}
|
|
2254
|
+
export class BooleanLineComponent extends React.Component<IBooleanLineComponentProps> {
|
|
2255
|
+
constructor(props: IBooleanLineComponentProps);
|
|
2256
|
+
render(): JSX.Element;
|
|
2257
|
+
}
|
|
2258
|
+
|
|
2259
|
+
}
|
|
2260
|
+
declare module "shared-ui-components/lines/buttonLineComponent" {
|
|
2261
|
+
import * as React from "react";
|
|
2262
|
+
export interface IButtonLineComponentProps {
|
|
2263
|
+
label: string;
|
|
2264
|
+
onClick: () => void;
|
|
2265
|
+
icon?: string;
|
|
2266
|
+
iconLabel?: string;
|
|
2267
|
+
}
|
|
2268
|
+
export class ButtonLineComponent extends React.Component<IButtonLineComponentProps> {
|
|
2269
|
+
constructor(props: IButtonLineComponentProps);
|
|
2270
|
+
render(): JSX.Element;
|
|
2271
|
+
}
|
|
2272
|
+
|
|
2273
|
+
}
|
|
2274
|
+
declare module "shared-ui-components/lines/checkBoxLineComponent" {
|
|
2275
|
+
import * as React from "react";
|
|
2276
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
2277
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
2278
|
+
import { IconDefinition } from "@fortawesome/fontawesome-common-types";
|
|
2279
|
+
export interface ICheckBoxLineComponentProps {
|
|
2280
|
+
label?: string;
|
|
2281
|
+
target?: any;
|
|
2282
|
+
propertyName?: string;
|
|
2283
|
+
isSelected?: () => boolean;
|
|
2284
|
+
onSelect?: (value: boolean) => void;
|
|
2285
|
+
onValueChanged?: () => void;
|
|
2286
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
2287
|
+
disabled?: boolean;
|
|
2288
|
+
icon?: string;
|
|
2289
|
+
iconLabel?: string;
|
|
2290
|
+
faIcons?: {
|
|
2291
|
+
enabled: IconDefinition;
|
|
2292
|
+
disabled: IconDefinition;
|
|
2293
|
+
};
|
|
2294
|
+
}
|
|
2295
|
+
export class CheckBoxLineComponent extends React.Component<ICheckBoxLineComponentProps, {
|
|
2296
|
+
isSelected: boolean;
|
|
2297
|
+
isDisabled?: boolean;
|
|
2298
|
+
isConflict: boolean;
|
|
2299
|
+
}> {
|
|
2300
|
+
private _localChange;
|
|
2301
|
+
constructor(props: ICheckBoxLineComponentProps);
|
|
2302
|
+
shouldComponentUpdate(nextProps: ICheckBoxLineComponentProps, nextState: {
|
|
2303
|
+
isSelected: boolean;
|
|
2304
|
+
isDisabled: boolean;
|
|
2305
|
+
isConflict: boolean;
|
|
2306
|
+
}): boolean;
|
|
2307
|
+
onChange(): void;
|
|
2308
|
+
render(): JSX.Element;
|
|
2309
|
+
}
|
|
2310
|
+
|
|
2311
|
+
}
|
|
2312
|
+
declare module "shared-ui-components/lines/color3LineComponent" {
|
|
2313
|
+
import * as React from "react";
|
|
2314
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
2315
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
2316
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
2317
|
+
export interface IColor3LineComponentProps {
|
|
2318
|
+
label: string;
|
|
2319
|
+
target: any;
|
|
2320
|
+
propertyName: string;
|
|
2321
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
2322
|
+
isLinear?: boolean;
|
|
2323
|
+
icon?: string;
|
|
2324
|
+
lockObject?: LockObject;
|
|
2325
|
+
iconLabel?: string;
|
|
2326
|
+
onValueChange?: (value: string) => void;
|
|
2327
|
+
}
|
|
2328
|
+
export class Color3LineComponent extends React.Component<IColor3LineComponentProps> {
|
|
2329
|
+
render(): JSX.Element;
|
|
2330
|
+
}
|
|
2331
|
+
|
|
2332
|
+
}
|
|
2333
|
+
declare module "shared-ui-components/lines/color4LineComponent" {
|
|
2334
|
+
import * as React from "react";
|
|
2335
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
2336
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
2337
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
2338
|
+
export interface IColor4LineComponentProps {
|
|
2339
|
+
label: string;
|
|
2340
|
+
target?: any;
|
|
2341
|
+
propertyName: string;
|
|
2342
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
2343
|
+
onChange?: () => void;
|
|
2344
|
+
isLinear?: boolean;
|
|
2345
|
+
icon?: string;
|
|
2346
|
+
iconLabel?: string;
|
|
2347
|
+
lockObject?: LockObject;
|
|
2348
|
+
}
|
|
2349
|
+
export class Color4LineComponent extends React.Component<IColor4LineComponentProps> {
|
|
2350
|
+
render(): JSX.Element;
|
|
2351
|
+
}
|
|
2352
|
+
|
|
2353
|
+
}
|
|
2354
|
+
declare module "shared-ui-components/lines/colorLineComponent" {
|
|
2355
|
+
import * as React from "react";
|
|
2356
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
2357
|
+
import { Color4 } from "@babylonjs/core/Maths/math.color";
|
|
2358
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
2359
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
2360
|
+
export interface IColorLineComponentProps {
|
|
2361
|
+
label: string;
|
|
2362
|
+
target?: any;
|
|
2363
|
+
propertyName: string;
|
|
2364
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
2365
|
+
onChange?: () => void;
|
|
2366
|
+
isLinear?: boolean;
|
|
2367
|
+
icon?: string;
|
|
2368
|
+
iconLabel?: string;
|
|
2369
|
+
lockObject?: LockObject;
|
|
2370
|
+
disableAlpha?: boolean;
|
|
2371
|
+
}
|
|
2372
|
+
interface IColorLineComponentState {
|
|
2373
|
+
isExpanded: boolean;
|
|
2374
|
+
color: Color4;
|
|
2375
|
+
}
|
|
2376
|
+
export class ColorLineComponent extends React.Component<IColorLineComponentProps, IColorLineComponentState> {
|
|
2377
|
+
constructor(props: IColorLineComponentProps);
|
|
2378
|
+
shouldComponentUpdate(nextProps: IColorLineComponentProps, nextState: IColorLineComponentState): boolean;
|
|
2379
|
+
getValue(props?: Readonly<IColorLineComponentProps> & Readonly<{
|
|
2380
|
+
children?: React.ReactNode;
|
|
2381
|
+
}>): Color4;
|
|
2382
|
+
setColorFromString(colorString: string): void;
|
|
2383
|
+
setColor(newColor: Color4): void;
|
|
2384
|
+
switchExpandState(): void;
|
|
2385
|
+
updateStateR(value: number): void;
|
|
2386
|
+
updateStateG(value: number): void;
|
|
2387
|
+
updateStateB(value: number): void;
|
|
2388
|
+
updateStateA(value: number): void;
|
|
2389
|
+
copyToClipboard(): void;
|
|
2390
|
+
private _convertToColor;
|
|
2391
|
+
private _toColor3;
|
|
2392
|
+
render(): JSX.Element;
|
|
2393
|
+
}
|
|
2394
|
+
export {};
|
|
2395
|
+
|
|
2396
|
+
}
|
|
2397
|
+
declare module "shared-ui-components/lines/colorPickerComponent" {
|
|
2398
|
+
import * as React from "react";
|
|
2399
|
+
import { Color4, Color3 } from "@babylonjs/core/Maths/math.color";
|
|
2400
|
+
export interface IColorPickerComponentProps {
|
|
2401
|
+
value: Color4 | Color3;
|
|
2402
|
+
linearHint?: boolean;
|
|
2403
|
+
onColorChanged: (newOne: string) => void;
|
|
2404
|
+
icon?: string;
|
|
2405
|
+
iconLabel?: string;
|
|
2406
|
+
shouldPopRight?: boolean;
|
|
2407
|
+
}
|
|
2408
|
+
interface IColorPickerComponentState {
|
|
2409
|
+
pickerEnabled: boolean;
|
|
2410
|
+
color: Color3 | Color4;
|
|
2411
|
+
hex: string;
|
|
2412
|
+
}
|
|
2413
|
+
export class ColorPickerLineComponent extends React.Component<IColorPickerComponentProps, IColorPickerComponentState> {
|
|
2414
|
+
private _floatRef;
|
|
2415
|
+
private _floatHostRef;
|
|
2416
|
+
constructor(props: IColorPickerComponentProps);
|
|
2417
|
+
syncPositions(): void;
|
|
2418
|
+
shouldComponentUpdate(nextProps: IColorPickerComponentProps, nextState: IColorPickerComponentState): boolean;
|
|
2419
|
+
getHexString(props?: Readonly<IColorPickerComponentProps> & Readonly<{
|
|
2420
|
+
children?: React.ReactNode;
|
|
2421
|
+
}>): string;
|
|
2422
|
+
componentDidUpdate(): void;
|
|
2423
|
+
componentDidMount(): void;
|
|
2424
|
+
render(): JSX.Element;
|
|
2425
|
+
}
|
|
2426
|
+
export {};
|
|
2427
|
+
|
|
2428
|
+
}
|
|
2429
|
+
declare module "shared-ui-components/lines/draggableLineComponent" {
|
|
2430
|
+
import * as React from "react";
|
|
2431
|
+
export interface IButtonLineComponentProps {
|
|
2432
|
+
data: string;
|
|
2433
|
+
tooltip: string;
|
|
2434
|
+
}
|
|
2435
|
+
export class DraggableLineComponent extends React.Component<IButtonLineComponentProps> {
|
|
2436
|
+
constructor(props: IButtonLineComponentProps);
|
|
2437
|
+
render(): JSX.Element;
|
|
2438
|
+
}
|
|
2439
|
+
|
|
2440
|
+
}
|
|
2441
|
+
declare module "shared-ui-components/lines/fileButtonLineComponent" {
|
|
2442
|
+
import * as React from "react";
|
|
2443
|
+
interface IFileButtonLineComponentProps {
|
|
2444
|
+
label: string;
|
|
2445
|
+
onClick: (file: File) => void;
|
|
2446
|
+
accept: string;
|
|
2447
|
+
icon?: string;
|
|
2448
|
+
iconLabel?: string;
|
|
2449
|
+
}
|
|
2450
|
+
export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
|
|
2451
|
+
private static _IDGenerator;
|
|
2452
|
+
private _id;
|
|
2453
|
+
private _uploadInputRef;
|
|
2454
|
+
constructor(props: IFileButtonLineComponentProps);
|
|
2455
|
+
onChange(evt: any): void;
|
|
2456
|
+
render(): JSX.Element;
|
|
2457
|
+
}
|
|
2458
|
+
export {};
|
|
2459
|
+
|
|
2460
|
+
}
|
|
2461
|
+
declare module "shared-ui-components/lines/fileMultipleButtonLineComponent" {
|
|
2462
|
+
import * as React from "react";
|
|
2463
|
+
interface IFileMultipleButtonLineComponentProps {
|
|
2464
|
+
label: string;
|
|
2465
|
+
onClick: (event: any) => void;
|
|
2466
|
+
accept: string;
|
|
2467
|
+
icon?: string;
|
|
2468
|
+
iconLabel?: string;
|
|
2469
|
+
}
|
|
2470
|
+
export class FileMultipleButtonLineComponent extends React.Component<IFileMultipleButtonLineComponentProps> {
|
|
2471
|
+
private static _IDGenerator;
|
|
2472
|
+
private _id;
|
|
2473
|
+
private _uploadInputRef;
|
|
2474
|
+
constructor(props: IFileMultipleButtonLineComponentProps);
|
|
2475
|
+
onChange(evt: any): void;
|
|
2476
|
+
render(): JSX.Element;
|
|
2477
|
+
}
|
|
2478
|
+
export {};
|
|
2479
|
+
|
|
2480
|
+
}
|
|
2481
|
+
declare module "shared-ui-components/lines/floatLineComponent" {
|
|
2482
|
+
import * as React from "react";
|
|
2483
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
2484
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
2485
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
2486
|
+
interface IFloatLineComponentProps {
|
|
2487
|
+
label: string;
|
|
2488
|
+
target: any;
|
|
2489
|
+
propertyName: string;
|
|
2490
|
+
lockObject?: LockObject;
|
|
2491
|
+
onChange?: (newValue: number) => void;
|
|
2492
|
+
isInteger?: boolean;
|
|
2493
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
2494
|
+
additionalClass?: string;
|
|
2495
|
+
step?: string;
|
|
2496
|
+
digits?: number;
|
|
2497
|
+
useEuler?: boolean;
|
|
2498
|
+
min?: number;
|
|
2499
|
+
max?: number;
|
|
2500
|
+
smallUI?: boolean;
|
|
2501
|
+
onEnter?: (newValue: number) => void;
|
|
2502
|
+
icon?: string;
|
|
2503
|
+
iconLabel?: string;
|
|
2504
|
+
defaultValue?: number;
|
|
2505
|
+
unit?: string;
|
|
2506
|
+
onUnitClicked?: (unit: string) => void;
|
|
2507
|
+
unitLocked?: boolean;
|
|
2508
|
+
arrows?: boolean;
|
|
2509
|
+
}
|
|
2510
|
+
export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
|
|
2511
|
+
value: string;
|
|
2512
|
+
dragging: boolean;
|
|
2513
|
+
}> {
|
|
2514
|
+
private _localChange;
|
|
2515
|
+
private _store;
|
|
2516
|
+
constructor(props: IFloatLineComponentProps);
|
|
2517
|
+
componentWillUnmount(): void;
|
|
2518
|
+
getValueString(value: any): string;
|
|
2519
|
+
shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
|
|
2520
|
+
value: string;
|
|
2521
|
+
dragging: boolean;
|
|
2522
|
+
}): boolean;
|
|
2523
|
+
raiseOnPropertyChanged(newValue: number, previousValue: number): void;
|
|
2524
|
+
updateValue(valueString: string): void;
|
|
2525
|
+
lock(): void;
|
|
2526
|
+
unlock(): void;
|
|
2527
|
+
incrementValue(amount: number): void;
|
|
2528
|
+
onKeyDown(event: React.KeyboardEvent): void;
|
|
2529
|
+
render(): JSX.Element;
|
|
2530
|
+
}
|
|
2531
|
+
export {};
|
|
2532
|
+
|
|
2533
|
+
}
|
|
2534
|
+
declare module "shared-ui-components/lines/hexLineComponent" {
|
|
2535
|
+
import * as React from "react";
|
|
2536
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
2537
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
2538
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
2539
|
+
interface IHexLineComponentProps {
|
|
2540
|
+
label: string;
|
|
2541
|
+
target: any;
|
|
2542
|
+
propertyName: string;
|
|
2543
|
+
lockObject?: LockObject;
|
|
2544
|
+
onChange?: (newValue: number) => void;
|
|
2545
|
+
isInteger?: boolean;
|
|
2546
|
+
replaySourceReplacement?: string;
|
|
2547
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
2548
|
+
additionalClass?: string;
|
|
2549
|
+
step?: string;
|
|
2550
|
+
digits?: number;
|
|
2551
|
+
useEuler?: boolean;
|
|
2552
|
+
min?: number;
|
|
2553
|
+
icon?: string;
|
|
2554
|
+
iconLabel?: string;
|
|
2555
|
+
}
|
|
2556
|
+
export class HexLineComponent extends React.Component<IHexLineComponentProps, {
|
|
2557
|
+
value: string;
|
|
2558
|
+
}> {
|
|
2559
|
+
private _localChange;
|
|
2560
|
+
private _store;
|
|
2561
|
+
private _propertyChange;
|
|
2562
|
+
constructor(props: IHexLineComponentProps);
|
|
2563
|
+
componentWillUnmount(): void;
|
|
2564
|
+
shouldComponentUpdate(nextProps: IHexLineComponentProps, nextState: {
|
|
2565
|
+
value: string;
|
|
2566
|
+
}): boolean;
|
|
2567
|
+
raiseOnPropertyChanged(newValue: number, previousValue: number): void;
|
|
2568
|
+
convertToHexString(valueString: string): string;
|
|
2569
|
+
updateValue(valueString: string, raisePropertyChanged: boolean): void;
|
|
2570
|
+
lock(): void;
|
|
2571
|
+
unlock(): void;
|
|
2572
|
+
render(): JSX.Element;
|
|
2573
|
+
}
|
|
2574
|
+
export {};
|
|
2575
|
+
|
|
2576
|
+
}
|
|
2577
|
+
declare module "shared-ui-components/lines/iconButtonLineComponent" {
|
|
2578
|
+
import * as React from "react";
|
|
2579
|
+
export interface IIconButtonLineComponentProps {
|
|
2580
|
+
icon: string;
|
|
2581
|
+
onClick: () => void;
|
|
2582
|
+
tooltip: string;
|
|
2583
|
+
active?: boolean;
|
|
2584
|
+
}
|
|
2585
|
+
export class IconButtonLineComponent extends React.Component<IIconButtonLineComponentProps> {
|
|
2586
|
+
constructor(props: IIconButtonLineComponentProps);
|
|
2587
|
+
render(): JSX.Element;
|
|
2588
|
+
}
|
|
2589
|
+
|
|
2590
|
+
}
|
|
2591
|
+
declare module "shared-ui-components/lines/iconComponent" {
|
|
2592
|
+
import * as React from "react";
|
|
2593
|
+
interface IIconComponentProps {
|
|
2594
|
+
icon: string;
|
|
2595
|
+
label?: string;
|
|
2596
|
+
}
|
|
2597
|
+
export class IconComponent extends React.Component<IIconComponentProps> {
|
|
2598
|
+
render(): JSX.Element;
|
|
2599
|
+
}
|
|
2600
|
+
export {};
|
|
2601
|
+
|
|
2602
|
+
}
|
|
2603
|
+
declare module "shared-ui-components/lines/indentedTextLineComponent" {
|
|
2604
|
+
import * as React from "react";
|
|
2605
|
+
interface IIndentedTextLineComponentProps {
|
|
2606
|
+
value?: string;
|
|
2607
|
+
color?: string;
|
|
2608
|
+
underline?: boolean;
|
|
2609
|
+
onLink?: () => void;
|
|
2610
|
+
url?: string;
|
|
2611
|
+
additionalClass?: string;
|
|
2612
|
+
}
|
|
2613
|
+
export class IndentedTextLineComponent extends React.Component<IIndentedTextLineComponentProps> {
|
|
2614
|
+
constructor(props: IIndentedTextLineComponentProps);
|
|
2615
|
+
onLink(): void;
|
|
2616
|
+
renderContent(): JSX.Element;
|
|
2617
|
+
render(): JSX.Element;
|
|
2618
|
+
}
|
|
2619
|
+
export {};
|
|
2620
|
+
|
|
2621
|
+
}
|
|
2622
|
+
declare module "shared-ui-components/lines/inputArrowsComponent" {
|
|
2623
|
+
import * as React from "react";
|
|
2624
|
+
interface IInputArrowsComponentProps {
|
|
2625
|
+
incrementValue: (amount: number) => void;
|
|
2626
|
+
setDragging: (dragging: boolean) => void;
|
|
2627
|
+
}
|
|
2628
|
+
export class InputArrowsComponent extends React.Component<IInputArrowsComponentProps> {
|
|
2629
|
+
private _arrowsRef;
|
|
2630
|
+
private _drag;
|
|
2631
|
+
private _releaseListener;
|
|
2632
|
+
private _lockChangeListener;
|
|
2633
|
+
render(): JSX.Element;
|
|
2634
|
+
}
|
|
2635
|
+
export {};
|
|
2636
|
+
|
|
2637
|
+
}
|
|
2638
|
+
declare module "shared-ui-components/lines/iSelectedLineContainer" {
|
|
2639
|
+
export interface ISelectedLineContainer {
|
|
2640
|
+
selectedLineContainerTitles: Array<string>;
|
|
2641
|
+
selectedLineContainerTitlesNoFocus: Array<string>;
|
|
2642
|
+
}
|
|
2643
|
+
|
|
2644
|
+
}
|
|
2645
|
+
declare module "shared-ui-components/lines/lineContainerComponent" {
|
|
2646
|
+
import * as React from "react";
|
|
2647
|
+
import { ISelectedLineContainer } from "shared-ui-components/lines/iSelectedLineContainer";
|
|
2648
|
+
interface ILineContainerComponentProps {
|
|
2649
|
+
selection?: ISelectedLineContainer;
|
|
2650
|
+
title: string;
|
|
2651
|
+
children: any[] | any;
|
|
2652
|
+
closed?: boolean;
|
|
2653
|
+
}
|
|
2654
|
+
export class LineContainerComponent extends React.Component<ILineContainerComponentProps, {
|
|
2655
|
+
isExpanded: boolean;
|
|
2656
|
+
isHighlighted: boolean;
|
|
2657
|
+
}> {
|
|
2658
|
+
constructor(props: ILineContainerComponentProps);
|
|
2659
|
+
switchExpandedState(): void;
|
|
2660
|
+
renderHeader(): JSX.Element;
|
|
2661
|
+
componentDidMount(): void;
|
|
2662
|
+
render(): JSX.Element;
|
|
2663
|
+
}
|
|
2664
|
+
export {};
|
|
2665
|
+
|
|
2666
|
+
}
|
|
2667
|
+
declare module "shared-ui-components/lines/linkButtonComponent" {
|
|
2668
|
+
import * as React from "react";
|
|
2669
|
+
import { IconProp } from "@fortawesome/fontawesome-svg-core";
|
|
2670
|
+
interface ILinkButtonComponentProps {
|
|
2671
|
+
label: string;
|
|
2672
|
+
buttonLabel: string;
|
|
2673
|
+
url?: string;
|
|
2674
|
+
onClick: () => void;
|
|
2675
|
+
icon?: IconProp;
|
|
2676
|
+
onIconClick?: () => void;
|
|
2677
|
+
}
|
|
2678
|
+
export class LinkButtonComponent extends React.Component<ILinkButtonComponentProps> {
|
|
2679
|
+
constructor(props: ILinkButtonComponentProps);
|
|
2680
|
+
onLink(): void;
|
|
2681
|
+
render(): JSX.Element;
|
|
2682
|
+
}
|
|
2683
|
+
export {};
|
|
2684
|
+
|
|
2685
|
+
}
|
|
2686
|
+
declare module "shared-ui-components/lines/messageLineComponent" {
|
|
2687
|
+
import * as React from "react";
|
|
2688
|
+
import { IconProp } from "@fortawesome/fontawesome-svg-core";
|
|
2689
|
+
interface IMessageLineComponentProps {
|
|
2690
|
+
text: string;
|
|
2691
|
+
color?: string;
|
|
2692
|
+
icon?: IconProp;
|
|
2693
|
+
}
|
|
2694
|
+
export class MessageLineComponent extends React.Component<IMessageLineComponentProps> {
|
|
2695
|
+
constructor(props: IMessageLineComponentProps);
|
|
2696
|
+
render(): JSX.Element;
|
|
2697
|
+
}
|
|
2698
|
+
export {};
|
|
2699
|
+
|
|
2700
|
+
}
|
|
2701
|
+
declare module "shared-ui-components/lines/numericInputComponent" {
|
|
2702
|
+
import * as React from "react";
|
|
2703
|
+
interface INumericInputComponentProps {
|
|
2704
|
+
label: string;
|
|
2705
|
+
value: number;
|
|
2706
|
+
step?: number;
|
|
2707
|
+
onChange: (value: number) => void;
|
|
2708
|
+
precision?: number;
|
|
2709
|
+
icon?: string;
|
|
2710
|
+
iconLabel?: string;
|
|
2711
|
+
}
|
|
2712
|
+
export class NumericInputComponent extends React.Component<INumericInputComponentProps, {
|
|
2713
|
+
value: string;
|
|
2714
|
+
}> {
|
|
2715
|
+
static defaultProps: {
|
|
2716
|
+
step: number;
|
|
2717
|
+
};
|
|
2718
|
+
private _localChange;
|
|
2719
|
+
constructor(props: INumericInputComponentProps);
|
|
2720
|
+
shouldComponentUpdate(nextProps: INumericInputComponentProps, nextState: {
|
|
2721
|
+
value: string;
|
|
2722
|
+
}): boolean;
|
|
2723
|
+
updateValue(evt: any): void;
|
|
2724
|
+
onBlur(): void;
|
|
2725
|
+
render(): JSX.Element;
|
|
2726
|
+
}
|
|
2727
|
+
export {};
|
|
2728
|
+
|
|
2729
|
+
}
|
|
2730
|
+
declare module "shared-ui-components/lines/optionsLineComponent" {
|
|
2731
|
+
import * as React from "react";
|
|
2732
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
2733
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
2734
|
+
import { IInspectableOptions } from "@babylonjs/core/Misc/iInspectable";
|
|
2735
|
+
export const Null_Value: number;
|
|
2736
|
+
export interface IOptionsLineComponentProps {
|
|
2737
|
+
label: string;
|
|
2738
|
+
target: any;
|
|
2739
|
+
propertyName: string;
|
|
2740
|
+
options: IInspectableOptions[];
|
|
2741
|
+
noDirectUpdate?: boolean;
|
|
2742
|
+
onSelect?: (value: number) => void;
|
|
2743
|
+
extractValue?: () => number;
|
|
2744
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
2745
|
+
allowNullValue?: boolean;
|
|
2746
|
+
icon?: string;
|
|
2747
|
+
iconLabel?: string;
|
|
2748
|
+
}
|
|
2749
|
+
export class OptionsLineComponent extends React.Component<IOptionsLineComponentProps, {
|
|
2750
|
+
value: number;
|
|
2751
|
+
}> {
|
|
2752
|
+
private _localChange;
|
|
2753
|
+
private _remapValueIn;
|
|
2754
|
+
private _remapValueOut;
|
|
2755
|
+
constructor(props: IOptionsLineComponentProps);
|
|
2756
|
+
shouldComponentUpdate(nextProps: IOptionsLineComponentProps, nextState: {
|
|
2757
|
+
value: number;
|
|
2758
|
+
}): boolean;
|
|
2759
|
+
raiseOnPropertyChanged(newValue: number, previousValue: number): void;
|
|
2760
|
+
updateValue(valueString: string): void;
|
|
2761
|
+
render(): JSX.Element;
|
|
2762
|
+
}
|
|
2763
|
+
|
|
2764
|
+
}
|
|
2765
|
+
declare module "shared-ui-components/lines/popup" {
|
|
2766
|
+
export class Popup {
|
|
2767
|
+
static CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): HTMLDivElement | null;
|
|
2768
|
+
private static _CopyStyles;
|
|
2769
|
+
}
|
|
2770
|
+
|
|
2771
|
+
}
|
|
2772
|
+
declare module "shared-ui-components/lines/radioLineComponent" {
|
|
2773
|
+
import * as React from "react";
|
|
2774
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
2775
|
+
interface IRadioButtonLineComponentProps {
|
|
2776
|
+
onSelectionChangedObservable: Observable<RadioButtonLineComponent>;
|
|
2777
|
+
label: string;
|
|
2778
|
+
isSelected: () => boolean;
|
|
2779
|
+
onSelect: () => void;
|
|
2780
|
+
icon?: string;
|
|
2781
|
+
iconLabel?: string;
|
|
2782
|
+
}
|
|
2783
|
+
export class RadioButtonLineComponent extends React.Component<IRadioButtonLineComponentProps, {
|
|
2784
|
+
isSelected: boolean;
|
|
2785
|
+
}> {
|
|
2786
|
+
private _onSelectionChangedObserver;
|
|
2787
|
+
constructor(props: IRadioButtonLineComponentProps);
|
|
2788
|
+
componentDidMount(): void;
|
|
2789
|
+
componentWillUnmount(): void;
|
|
2790
|
+
onChange(): void;
|
|
2791
|
+
render(): JSX.Element;
|
|
2792
|
+
}
|
|
2793
|
+
export {};
|
|
2794
|
+
|
|
2795
|
+
}
|
|
2796
|
+
declare module "shared-ui-components/lines/sliderLineComponent" {
|
|
2797
|
+
import * as React from "react";
|
|
2798
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
2799
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
2800
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
2801
|
+
interface ISliderLineComponentProps {
|
|
2802
|
+
label: string;
|
|
2803
|
+
target?: any;
|
|
2804
|
+
propertyName?: string;
|
|
2805
|
+
minimum: number;
|
|
2806
|
+
maximum: number;
|
|
2807
|
+
step: number;
|
|
2808
|
+
directValue?: number;
|
|
2809
|
+
useEuler?: boolean;
|
|
2810
|
+
onChange?: (value: number) => void;
|
|
2811
|
+
onInput?: (value: number) => void;
|
|
2812
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
2813
|
+
decimalCount?: number;
|
|
2814
|
+
margin?: boolean;
|
|
2815
|
+
icon?: string;
|
|
2816
|
+
iconLabel?: string;
|
|
2817
|
+
lockObject?: LockObject;
|
|
2818
|
+
}
|
|
2819
|
+
export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
|
|
2820
|
+
value: number;
|
|
2821
|
+
}> {
|
|
2822
|
+
private _localChange;
|
|
2823
|
+
constructor(props: ISliderLineComponentProps);
|
|
2824
|
+
shouldComponentUpdate(nextProps: ISliderLineComponentProps, nextState: {
|
|
2825
|
+
value: number;
|
|
2826
|
+
}): boolean;
|
|
2827
|
+
onChange(newValueString: any): void;
|
|
2828
|
+
onInput(newValueString: any): void;
|
|
2829
|
+
prepareDataToRead(value: number): number;
|
|
2830
|
+
render(): JSX.Element;
|
|
2831
|
+
}
|
|
2832
|
+
export {};
|
|
2833
|
+
|
|
2834
|
+
}
|
|
2835
|
+
declare module "shared-ui-components/lines/targetsProxy" {
|
|
2836
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
2837
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
2838
|
+
export const conflictingValuesPlaceholder = "\u2014";
|
|
2839
|
+
/**
|
|
2840
|
+
*
|
|
2841
|
+
* @param targets a list of selected targets
|
|
2842
|
+
* @param onPropertyChangedObservable
|
|
2843
|
+
* @param getProperty
|
|
2844
|
+
* @returns a proxy object that can be passed as a target into the input
|
|
2845
|
+
*/
|
|
2846
|
+
export function makeTargetsProxy<Type>(targets: Type[], onPropertyChangedObservable?: Observable<PropertyChangedEvent>, getProperty?: (target: Type, property: keyof Type) => any): any;
|
|
2847
|
+
|
|
2848
|
+
}
|
|
2849
|
+
declare module "shared-ui-components/lines/textInputLineComponent" {
|
|
2850
|
+
import * as React from "react";
|
|
2851
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
2852
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
2853
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
2854
|
+
export interface ITextInputLineComponentProps {
|
|
2855
|
+
label?: string;
|
|
2856
|
+
lockObject?: LockObject;
|
|
2857
|
+
target?: any;
|
|
2858
|
+
propertyName?: string;
|
|
2859
|
+
value?: string;
|
|
2860
|
+
onChange?: (value: string) => void;
|
|
2861
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
2862
|
+
icon?: string;
|
|
2863
|
+
iconLabel?: string;
|
|
2864
|
+
noUnderline?: boolean;
|
|
2865
|
+
numbersOnly?: boolean;
|
|
2866
|
+
delayInput?: boolean;
|
|
2867
|
+
unit?: string;
|
|
2868
|
+
onUnitClicked?: (unit: string) => void;
|
|
2869
|
+
unitLocked?: boolean;
|
|
2870
|
+
arrows?: boolean;
|
|
2871
|
+
arrowsIncrement?: (amount: number) => void;
|
|
2872
|
+
step?: number;
|
|
2873
|
+
numeric?: boolean;
|
|
2874
|
+
roundValues?: boolean;
|
|
2875
|
+
min?: number;
|
|
2876
|
+
max?: number;
|
|
2877
|
+
placeholder?: string;
|
|
2878
|
+
}
|
|
2879
|
+
export class TextInputLineComponent extends React.Component<ITextInputLineComponentProps, {
|
|
2880
|
+
value: string;
|
|
2881
|
+
dragging: boolean;
|
|
2882
|
+
}> {
|
|
2883
|
+
private _localChange;
|
|
2884
|
+
constructor(props: ITextInputLineComponentProps);
|
|
2885
|
+
componentWillUnmount(): void;
|
|
2886
|
+
shouldComponentUpdate(nextProps: ITextInputLineComponentProps, nextState: {
|
|
2887
|
+
value: string;
|
|
2888
|
+
dragging: boolean;
|
|
2889
|
+
}): boolean;
|
|
2890
|
+
raiseOnPropertyChanged(newValue: string, previousValue: string): void;
|
|
2891
|
+
getCurrentNumericValue(value: string): number;
|
|
2892
|
+
updateValue(value: string): void;
|
|
2893
|
+
incrementValue(amount: number): void;
|
|
2894
|
+
onKeyDown(event: React.KeyboardEvent): void;
|
|
2895
|
+
render(): JSX.Element;
|
|
2896
|
+
}
|
|
2897
|
+
|
|
2898
|
+
}
|
|
2899
|
+
declare module "shared-ui-components/lines/textLineComponent" {
|
|
2900
|
+
import * as React from "react";
|
|
2901
|
+
interface ITextLineComponentProps {
|
|
2902
|
+
label?: string;
|
|
2903
|
+
value?: string;
|
|
2904
|
+
color?: string;
|
|
2905
|
+
underline?: boolean;
|
|
2906
|
+
onLink?: () => void;
|
|
2907
|
+
url?: string;
|
|
2908
|
+
ignoreValue?: boolean;
|
|
2909
|
+
additionalClass?: string;
|
|
2910
|
+
icon?: string;
|
|
2911
|
+
iconLabel?: string;
|
|
2912
|
+
tooltip?: string;
|
|
2913
|
+
}
|
|
2914
|
+
export class TextLineComponent extends React.Component<ITextLineComponentProps> {
|
|
2915
|
+
constructor(props: ITextLineComponentProps);
|
|
2916
|
+
onLink(): void;
|
|
2917
|
+
renderContent(): JSX.Element | null;
|
|
2918
|
+
render(): JSX.Element;
|
|
2919
|
+
}
|
|
2920
|
+
export {};
|
|
2921
|
+
|
|
2922
|
+
}
|
|
2923
|
+
declare module "shared-ui-components/lines/valueLineComponent" {
|
|
2924
|
+
import * as React from "react";
|
|
2925
|
+
interface IValueLineComponentProps {
|
|
2926
|
+
label: string;
|
|
2927
|
+
value: number;
|
|
2928
|
+
color?: string;
|
|
2929
|
+
fractionDigits?: number;
|
|
2930
|
+
units?: string;
|
|
2931
|
+
icon?: string;
|
|
2932
|
+
iconLabel?: string;
|
|
2933
|
+
}
|
|
2934
|
+
export class ValueLineComponent extends React.Component<IValueLineComponentProps> {
|
|
2935
|
+
constructor(props: IValueLineComponentProps);
|
|
2936
|
+
render(): JSX.Element;
|
|
2937
|
+
}
|
|
2938
|
+
export {};
|
|
2939
|
+
|
|
2940
|
+
}
|
|
2941
|
+
declare module "shared-ui-components/lines/vector2LineComponent" {
|
|
2942
|
+
import * as React from "react";
|
|
2943
|
+
import { Vector2 } from "@babylonjs/core/Maths/math.vector";
|
|
2944
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
2945
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
2946
|
+
interface IVector2LineComponentProps {
|
|
2947
|
+
label: string;
|
|
2948
|
+
target: any;
|
|
2949
|
+
propertyName: string;
|
|
2950
|
+
step?: number;
|
|
2951
|
+
onChange?: (newvalue: Vector2) => void;
|
|
2952
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
2953
|
+
icon?: string;
|
|
2954
|
+
iconLabel?: string;
|
|
2955
|
+
}
|
|
2956
|
+
export class Vector2LineComponent extends React.Component<IVector2LineComponentProps, {
|
|
2957
|
+
isExpanded: boolean;
|
|
2958
|
+
value: Vector2;
|
|
2959
|
+
}> {
|
|
2960
|
+
static defaultProps: {
|
|
2961
|
+
step: number;
|
|
2962
|
+
};
|
|
2963
|
+
private _localChange;
|
|
2964
|
+
constructor(props: IVector2LineComponentProps);
|
|
2965
|
+
shouldComponentUpdate(nextProps: IVector2LineComponentProps, nextState: {
|
|
2966
|
+
isExpanded: boolean;
|
|
2967
|
+
value: Vector2;
|
|
2968
|
+
}): boolean;
|
|
2969
|
+
switchExpandState(): void;
|
|
2970
|
+
raiseOnPropertyChanged(previousValue: Vector2): void;
|
|
2971
|
+
updateStateX(value: number): void;
|
|
2972
|
+
updateStateY(value: number): void;
|
|
2973
|
+
render(): JSX.Element;
|
|
2974
|
+
}
|
|
2975
|
+
export {};
|
|
2976
|
+
|
|
2977
|
+
}
|
|
2978
|
+
declare module "shared-ui-components/lines/vector3LineComponent" {
|
|
2979
|
+
import * as React from "react";
|
|
2980
|
+
import { Vector3 } from "@babylonjs/core/Maths/math.vector";
|
|
2981
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
2982
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
2983
|
+
interface IVector3LineComponentProps {
|
|
2984
|
+
label: string;
|
|
2985
|
+
target: any;
|
|
2986
|
+
propertyName: string;
|
|
2987
|
+
step?: number;
|
|
2988
|
+
onChange?: (newvalue: Vector3) => void;
|
|
2989
|
+
useEuler?: boolean;
|
|
2990
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
2991
|
+
noSlider?: boolean;
|
|
2992
|
+
icon?: string;
|
|
2993
|
+
iconLabel?: string;
|
|
2994
|
+
}
|
|
2995
|
+
export class Vector3LineComponent extends React.Component<IVector3LineComponentProps, {
|
|
2996
|
+
isExpanded: boolean;
|
|
2997
|
+
value: Vector3;
|
|
2998
|
+
}> {
|
|
2999
|
+
static defaultProps: {
|
|
3000
|
+
step: number;
|
|
3001
|
+
};
|
|
3002
|
+
private _localChange;
|
|
3003
|
+
constructor(props: IVector3LineComponentProps);
|
|
3004
|
+
getCurrentValue(): any;
|
|
3005
|
+
shouldComponentUpdate(nextProps: IVector3LineComponentProps, nextState: {
|
|
3006
|
+
isExpanded: boolean;
|
|
3007
|
+
value: Vector3;
|
|
3008
|
+
}): boolean;
|
|
3009
|
+
switchExpandState(): void;
|
|
3010
|
+
raiseOnPropertyChanged(previousValue: Vector3): void;
|
|
3011
|
+
updateVector3(): void;
|
|
3012
|
+
updateStateX(value: number): void;
|
|
3013
|
+
updateStateY(value: number): void;
|
|
3014
|
+
updateStateZ(value: number): void;
|
|
3015
|
+
render(): JSX.Element;
|
|
3016
|
+
}
|
|
3017
|
+
export {};
|
|
3018
|
+
|
|
3019
|
+
}
|
|
3020
|
+
declare module "shared-ui-components/lines/vector4LineComponent" {
|
|
3021
|
+
import * as React from "react";
|
|
3022
|
+
import { Vector4 } from "@babylonjs/core/Maths/math.vector";
|
|
3023
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
3024
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
3025
|
+
interface IVector4LineComponentProps {
|
|
3026
|
+
label: string;
|
|
3027
|
+
target: any;
|
|
3028
|
+
propertyName: string;
|
|
3029
|
+
step?: number;
|
|
3030
|
+
onChange?: (newvalue: Vector4) => void;
|
|
3031
|
+
useEuler?: boolean;
|
|
3032
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
3033
|
+
icon?: string;
|
|
3034
|
+
iconLabel?: string;
|
|
3035
|
+
}
|
|
3036
|
+
export class Vector4LineComponent extends React.Component<IVector4LineComponentProps, {
|
|
3037
|
+
isExpanded: boolean;
|
|
3038
|
+
value: Vector4;
|
|
3039
|
+
}> {
|
|
3040
|
+
static defaultProps: {
|
|
3041
|
+
step: number;
|
|
3042
|
+
};
|
|
3043
|
+
private _localChange;
|
|
3044
|
+
constructor(props: IVector4LineComponentProps);
|
|
3045
|
+
getCurrentValue(): any;
|
|
3046
|
+
shouldComponentUpdate(nextProps: IVector4LineComponentProps, nextState: {
|
|
3047
|
+
isExpanded: boolean;
|
|
3048
|
+
value: Vector4;
|
|
3049
|
+
}): boolean;
|
|
3050
|
+
switchExpandState(): void;
|
|
3051
|
+
raiseOnPropertyChanged(previousValue: Vector4): void;
|
|
3052
|
+
updateVector4(): void;
|
|
3053
|
+
updateStateX(value: number): void;
|
|
3054
|
+
updateStateY(value: number): void;
|
|
3055
|
+
updateStateZ(value: number): void;
|
|
3056
|
+
updateStateW(value: number): void;
|
|
3057
|
+
render(): JSX.Element;
|
|
3058
|
+
}
|
|
3059
|
+
export {};
|
|
3060
|
+
|
|
3061
|
+
}
|
|
3062
|
+
declare module "shared-ui-components/propertyChangedEvent" {
|
|
3063
|
+
export class PropertyChangedEvent {
|
|
3064
|
+
object: any;
|
|
3065
|
+
property: string;
|
|
3066
|
+
value: any;
|
|
3067
|
+
initialValue: any;
|
|
3068
|
+
allowNullValue?: boolean;
|
|
3069
|
+
}
|
|
3070
|
+
|
|
3071
|
+
}
|
|
3072
|
+
declare module "shared-ui-components/stringTools" {
|
|
3073
|
+
export class StringTools {
|
|
3074
|
+
private static _SaveAs;
|
|
3075
|
+
private static _Click;
|
|
3076
|
+
/**
|
|
3077
|
+
* Download a string into a file that will be saved locally by the browser
|
|
3078
|
+
* @param document
|
|
3079
|
+
* @param content defines the string to download locally as a file
|
|
3080
|
+
* @param filename
|
|
3081
|
+
*/
|
|
3082
|
+
static DownloadAsFile(document: HTMLDocument, content: string, filename: string): void;
|
|
3083
|
+
}
|
|
3084
|
+
|
|
3085
|
+
}
|
|
3086
|
+
declare module "shared-ui-components/tabs/propertyGrids/gui/checkboxPropertyGridComponent" {
|
|
3087
|
+
import * as React from "react";
|
|
3088
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
3089
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
3090
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
3091
|
+
import { Checkbox } from "@babylonjs/gui/2D/controls/checkbox";
|
|
3092
|
+
interface ICheckboxPropertyGridComponentProps {
|
|
3093
|
+
checkbox: Checkbox;
|
|
3094
|
+
lockObject: LockObject;
|
|
3095
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
3096
|
+
}
|
|
3097
|
+
export class CheckboxPropertyGridComponent extends React.Component<ICheckboxPropertyGridComponentProps> {
|
|
3098
|
+
constructor(props: ICheckboxPropertyGridComponentProps);
|
|
3099
|
+
render(): JSX.Element;
|
|
3100
|
+
}
|
|
3101
|
+
export {};
|
|
3102
|
+
|
|
3103
|
+
}
|
|
3104
|
+
declare module "shared-ui-components/tabs/propertyGrids/gui/colorPickerPropertyGridComponent" {
|
|
3105
|
+
import * as React from "react";
|
|
3106
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
3107
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
3108
|
+
import { ColorPicker } from "@babylonjs/gui/2D/controls/colorpicker";
|
|
3109
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
3110
|
+
interface IColorPickerPropertyGridComponentProps {
|
|
3111
|
+
colorPicker: ColorPicker;
|
|
3112
|
+
lockObject: LockObject;
|
|
3113
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
3114
|
+
}
|
|
3115
|
+
export class ColorPickerPropertyGridComponent extends React.Component<IColorPickerPropertyGridComponentProps> {
|
|
3116
|
+
constructor(props: IColorPickerPropertyGridComponentProps);
|
|
3117
|
+
render(): JSX.Element;
|
|
3118
|
+
}
|
|
3119
|
+
export {};
|
|
3120
|
+
|
|
3121
|
+
}
|
|
3122
|
+
declare module "shared-ui-components/tabs/propertyGrids/gui/commonControlPropertyGridComponent" {
|
|
3123
|
+
import * as React from "react";
|
|
3124
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
3125
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
3126
|
+
import { Control } from "@babylonjs/gui/2D/controls/control";
|
|
3127
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
3128
|
+
interface ICommonControlPropertyGridComponentProps {
|
|
3129
|
+
controls?: Control[];
|
|
3130
|
+
control?: Control;
|
|
3131
|
+
lockObject: LockObject;
|
|
3132
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
3133
|
+
}
|
|
3134
|
+
export class CommonControlPropertyGridComponent extends React.Component<ICommonControlPropertyGridComponentProps> {
|
|
3135
|
+
constructor(props: ICommonControlPropertyGridComponentProps);
|
|
3136
|
+
renderGridInformation(control: Control): JSX.Element | null;
|
|
3137
|
+
render(): JSX.Element | undefined;
|
|
3138
|
+
}
|
|
3139
|
+
export {};
|
|
3140
|
+
|
|
3141
|
+
}
|
|
3142
|
+
declare module "shared-ui-components/tabs/propertyGrids/gui/controlPropertyGridComponent" {
|
|
3143
|
+
import * as React from "react";
|
|
3144
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
3145
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
3146
|
+
import { Control } from "@babylonjs/gui/2D/controls/control";
|
|
3147
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
3148
|
+
interface IControlPropertyGridComponentProps {
|
|
3149
|
+
control: Control;
|
|
3150
|
+
lockObject: LockObject;
|
|
3151
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
3152
|
+
}
|
|
3153
|
+
export class ControlPropertyGridComponent extends React.Component<IControlPropertyGridComponentProps> {
|
|
3154
|
+
constructor(props: IControlPropertyGridComponentProps);
|
|
3155
|
+
render(): JSX.Element;
|
|
3156
|
+
}
|
|
3157
|
+
export {};
|
|
3158
|
+
|
|
3159
|
+
}
|
|
3160
|
+
declare module "shared-ui-components/tabs/propertyGrids/gui/ellipsePropertyGridComponent" {
|
|
3161
|
+
import * as React from "react";
|
|
3162
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
3163
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
3164
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
3165
|
+
import { Ellipse } from "@babylonjs/gui/2D/controls/ellipse";
|
|
3166
|
+
interface IEllipsePropertyGridComponentProps {
|
|
3167
|
+
ellipse: Ellipse;
|
|
3168
|
+
lockObject: LockObject;
|
|
3169
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
3170
|
+
}
|
|
3171
|
+
export class EllipsePropertyGridComponent extends React.Component<IEllipsePropertyGridComponentProps> {
|
|
3172
|
+
constructor(props: IEllipsePropertyGridComponentProps);
|
|
3173
|
+
render(): JSX.Element;
|
|
3174
|
+
}
|
|
3175
|
+
export {};
|
|
3176
|
+
|
|
3177
|
+
}
|
|
3178
|
+
declare module "shared-ui-components/tabs/propertyGrids/gui/gridPropertyGridComponent" {
|
|
3179
|
+
import * as React from "react";
|
|
3180
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
3181
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
3182
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
3183
|
+
import { Grid } from "@babylonjs/gui/2D/controls/grid";
|
|
3184
|
+
interface IGridPropertyGridComponentProps {
|
|
3185
|
+
grid: Grid;
|
|
3186
|
+
lockObject: LockObject;
|
|
3187
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
3188
|
+
}
|
|
3189
|
+
export class GridPropertyGridComponent extends React.Component<IGridPropertyGridComponentProps> {
|
|
3190
|
+
constructor(props: IGridPropertyGridComponentProps);
|
|
3191
|
+
renderRows(): JSX.Element[];
|
|
3192
|
+
renderColumns(): JSX.Element[];
|
|
3193
|
+
render(): JSX.Element;
|
|
3194
|
+
}
|
|
3195
|
+
export {};
|
|
3196
|
+
|
|
3197
|
+
}
|
|
3198
|
+
declare module "shared-ui-components/tabs/propertyGrids/gui/imageBasedSliderPropertyGridComponent" {
|
|
3199
|
+
import * as React from "react";
|
|
3200
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
3201
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
3202
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
3203
|
+
import { ImageBasedSlider } from "@babylonjs/gui/2D/controls/sliders/imageBasedSlider";
|
|
3204
|
+
interface IImageBasedSliderPropertyGridComponentProps {
|
|
3205
|
+
imageBasedSlider: ImageBasedSlider;
|
|
3206
|
+
lockObject: LockObject;
|
|
3207
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
3208
|
+
}
|
|
3209
|
+
export class ImageBasedSliderPropertyGridComponent extends React.Component<IImageBasedSliderPropertyGridComponentProps> {
|
|
3210
|
+
constructor(props: IImageBasedSliderPropertyGridComponentProps);
|
|
3211
|
+
render(): JSX.Element;
|
|
3212
|
+
}
|
|
3213
|
+
export {};
|
|
3214
|
+
|
|
3215
|
+
}
|
|
3216
|
+
declare module "shared-ui-components/tabs/propertyGrids/gui/imagePropertyGridComponent" {
|
|
3217
|
+
import * as React from "react";
|
|
3218
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
3219
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
3220
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
3221
|
+
import { Image } from "@babylonjs/gui/2D/controls/image";
|
|
3222
|
+
interface IImagePropertyGridComponentProps {
|
|
3223
|
+
image: Image;
|
|
3224
|
+
lockObject: LockObject;
|
|
3225
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
3226
|
+
}
|
|
3227
|
+
export class ImagePropertyGridComponent extends React.Component<IImagePropertyGridComponentProps> {
|
|
3228
|
+
constructor(props: IImagePropertyGridComponentProps);
|
|
3229
|
+
render(): JSX.Element;
|
|
3230
|
+
}
|
|
3231
|
+
export {};
|
|
3232
|
+
|
|
3233
|
+
}
|
|
3234
|
+
declare module "shared-ui-components/tabs/propertyGrids/gui/inputTextPropertyGridComponent" {
|
|
3235
|
+
import * as React from "react";
|
|
3236
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
3237
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
3238
|
+
import { InputText } from "@babylonjs/gui/2D/controls/inputText";
|
|
3239
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
3240
|
+
interface IInputTextPropertyGridComponentProps {
|
|
3241
|
+
inputText: InputText;
|
|
3242
|
+
lockObject: LockObject;
|
|
3243
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
3244
|
+
}
|
|
3245
|
+
export class InputTextPropertyGridComponent extends React.Component<IInputTextPropertyGridComponentProps> {
|
|
3246
|
+
constructor(props: IInputTextPropertyGridComponentProps);
|
|
3247
|
+
render(): JSX.Element;
|
|
3248
|
+
}
|
|
3249
|
+
export {};
|
|
3250
|
+
|
|
3251
|
+
}
|
|
3252
|
+
declare module "shared-ui-components/tabs/propertyGrids/gui/linePropertyGridComponent" {
|
|
3253
|
+
import * as React from "react";
|
|
3254
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
3255
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
3256
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
3257
|
+
import { Line } from "@babylonjs/gui/2D/controls/line";
|
|
3258
|
+
interface ILinePropertyGridComponentProps {
|
|
3259
|
+
line: Line;
|
|
3260
|
+
lockObject: LockObject;
|
|
3261
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
3262
|
+
}
|
|
3263
|
+
export class LinePropertyGridComponent extends React.Component<ILinePropertyGridComponentProps> {
|
|
3264
|
+
constructor(props: ILinePropertyGridComponentProps);
|
|
3265
|
+
onDashChange(value: string): void;
|
|
3266
|
+
render(): JSX.Element;
|
|
3267
|
+
}
|
|
3268
|
+
export {};
|
|
3269
|
+
|
|
3270
|
+
}
|
|
3271
|
+
declare module "shared-ui-components/tabs/propertyGrids/gui/radioButtonPropertyGridComponent" {
|
|
3272
|
+
import * as React from "react";
|
|
3273
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
3274
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
3275
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
3276
|
+
import { RadioButton } from "@babylonjs/gui/2D/controls/radioButton";
|
|
3277
|
+
interface IRadioButtonPropertyGridComponentProps {
|
|
3278
|
+
radioButtons: RadioButton[];
|
|
3279
|
+
lockObject: LockObject;
|
|
3280
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
3281
|
+
}
|
|
3282
|
+
export class RadioButtonPropertyGridComponent extends React.Component<IRadioButtonPropertyGridComponentProps> {
|
|
3283
|
+
constructor(props: IRadioButtonPropertyGridComponentProps);
|
|
3284
|
+
render(): JSX.Element;
|
|
3285
|
+
}
|
|
3286
|
+
export {};
|
|
3287
|
+
|
|
3288
|
+
}
|
|
3289
|
+
declare module "shared-ui-components/tabs/propertyGrids/gui/rectanglePropertyGridComponent" {
|
|
3290
|
+
import * as React from "react";
|
|
3291
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
3292
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
3293
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
3294
|
+
import { Rectangle } from "@babylonjs/gui/2D/controls/rectangle";
|
|
3295
|
+
interface IRectanglePropertyGridComponentProps {
|
|
3296
|
+
rectangle: Rectangle;
|
|
3297
|
+
lockObject: LockObject;
|
|
3298
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
3299
|
+
}
|
|
3300
|
+
export class RectanglePropertyGridComponent extends React.Component<IRectanglePropertyGridComponentProps> {
|
|
3301
|
+
constructor(props: IRectanglePropertyGridComponentProps);
|
|
3302
|
+
render(): JSX.Element;
|
|
3303
|
+
}
|
|
3304
|
+
export {};
|
|
3305
|
+
|
|
3306
|
+
}
|
|
3307
|
+
declare module "shared-ui-components/tabs/propertyGrids/gui/scrollViewerPropertyGridComponent" {
|
|
3308
|
+
import * as React from "react";
|
|
3309
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
3310
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
3311
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
3312
|
+
import { ScrollViewer } from "@babylonjs/gui/2D/controls/scrollViewers/scrollViewer";
|
|
3313
|
+
interface IScrollViewerPropertyGridComponentProps {
|
|
3314
|
+
scrollViewer: ScrollViewer;
|
|
3315
|
+
lockObject: LockObject;
|
|
3316
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
3317
|
+
}
|
|
3318
|
+
export class ScrollViewerPropertyGridComponent extends React.Component<IScrollViewerPropertyGridComponentProps> {
|
|
3319
|
+
constructor(props: IScrollViewerPropertyGridComponentProps);
|
|
3320
|
+
render(): JSX.Element;
|
|
3321
|
+
}
|
|
3322
|
+
export {};
|
|
3323
|
+
|
|
3324
|
+
}
|
|
3325
|
+
declare module "shared-ui-components/tabs/propertyGrids/gui/sliderPropertyGridComponent" {
|
|
3326
|
+
import * as React from "react";
|
|
3327
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
3328
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
3329
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
3330
|
+
import { Slider } from "@babylonjs/gui/2D/controls/sliders/slider";
|
|
3331
|
+
interface ISliderPropertyGridComponentProps {
|
|
3332
|
+
slider: Slider;
|
|
3333
|
+
lockObject: LockObject;
|
|
3334
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
3335
|
+
}
|
|
3336
|
+
export class SliderPropertyGridComponent extends React.Component<ISliderPropertyGridComponentProps> {
|
|
3337
|
+
constructor(props: ISliderPropertyGridComponentProps);
|
|
3338
|
+
render(): JSX.Element;
|
|
3339
|
+
}
|
|
3340
|
+
export {};
|
|
3341
|
+
|
|
3342
|
+
}
|
|
3343
|
+
declare module "shared-ui-components/tabs/propertyGrids/gui/stackPanelPropertyGridComponent" {
|
|
3344
|
+
import * as React from "react";
|
|
3345
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
3346
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
3347
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
3348
|
+
import { StackPanel } from "@babylonjs/gui/2D/controls/stackPanel";
|
|
3349
|
+
interface IStackPanelPropertyGridComponentProps {
|
|
3350
|
+
stackPanel: StackPanel;
|
|
3351
|
+
lockObject: LockObject;
|
|
3352
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
3353
|
+
}
|
|
3354
|
+
export class StackPanelPropertyGridComponent extends React.Component<IStackPanelPropertyGridComponentProps> {
|
|
3355
|
+
constructor(props: IStackPanelPropertyGridComponentProps);
|
|
3356
|
+
render(): JSX.Element;
|
|
3357
|
+
}
|
|
3358
|
+
export {};
|
|
3359
|
+
|
|
3360
|
+
}
|
|
3361
|
+
declare module "shared-ui-components/tabs/propertyGrids/gui/textBlockPropertyGridComponent" {
|
|
3362
|
+
import * as React from "react";
|
|
3363
|
+
import { Observable } from "@babylonjs/core/Misc/observable";
|
|
3364
|
+
import { PropertyChangedEvent } from "shared-ui-components/propertyChangedEvent";
|
|
3365
|
+
import { TextBlock } from "@babylonjs/gui/2D/controls/textBlock";
|
|
3366
|
+
import { LockObject } from "shared-ui-components/tabs/propertyGrids/lockObject";
|
|
3367
|
+
interface ITextBlockPropertyGridComponentProps {
|
|
3368
|
+
textBlock: TextBlock;
|
|
3369
|
+
lockObject: LockObject;
|
|
3370
|
+
onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
|
|
3371
|
+
}
|
|
3372
|
+
export class TextBlockPropertyGridComponent extends React.Component<ITextBlockPropertyGridComponentProps> {
|
|
3373
|
+
constructor(props: ITextBlockPropertyGridComponentProps);
|
|
3374
|
+
render(): JSX.Element;
|
|
3375
|
+
}
|
|
3376
|
+
export {};
|
|
3377
|
+
|
|
3378
|
+
}
|
|
3379
|
+
declare module "shared-ui-components/tabs/propertyGrids/lockObject" {
|
|
3380
|
+
/**
|
|
3381
|
+
* Class used to provide lock mechanism
|
|
3382
|
+
*/
|
|
3383
|
+
export class LockObject {
|
|
3384
|
+
/**
|
|
3385
|
+
* Gets or set if the lock is engaged
|
|
3386
|
+
*/
|
|
3387
|
+
lock: boolean;
|
|
3388
|
+
}
|
|
3389
|
+
|
|
3390
|
+
}
|
|
3391
|
+
|
|
3392
|
+
declare module "@babylonjs/node-editor" {
|
|
3393
|
+
export * from "@babylonjs/node-editor/legacy/legacy";
|
|
3394
|
+
}
|
|
3395
|
+
|
|
3396
|
+
|
|
3397
|
+
|