babylonjs-node-particle-editor 8.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.npmignore +5 -0
- package/babylon.nodeParticleEditor.d.ts +4579 -0
- package/babylon.nodeParticleEditor.js +3 -0
- package/babylon.nodeParticleEditor.js.LICENSE.txt +45 -0
- package/babylon.nodeParticleEditor.js.map +1 -0
- package/babylon.nodeParticleEditor.max.js +82016 -0
- package/babylon.nodeParticleEditor.module.d.ts +9022 -0
- package/config.json +7 -0
- package/license.md +71 -0
- package/package.json +53 -0
- package/readme.md +1 -0
- package/src/index.ts +3 -0
- package/tsconfig.build.json +10 -0
- package/tsconfig.json +3 -0
- package/webpack.config.js +17 -0
|
@@ -0,0 +1,4579 @@
|
|
|
1
|
+
|
|
2
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3
|
+
export class SerializationTools {
|
|
4
|
+
static UpdateLocations(particleSet: BABYLON.NodeParticleSystemSet, globalState: GlobalState, frame?: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.GraphFrame>): void;
|
|
5
|
+
static Serialize(particleSet: BABYLON.NodeParticleSystemSet, globalState: GlobalState, frame?: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.GraphFrame>): string;
|
|
6
|
+
static Deserialize(serializationObject: any, globalState: GlobalState): void;
|
|
7
|
+
static AddFrameToParticleSystemSet(serializationObject: any, globalState: GlobalState, currentSystemSet: BABYLON.NodeParticleSystemSet): void;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
interface IPortalProps {
|
|
12
|
+
globalState: GlobalState;
|
|
13
|
+
}
|
|
14
|
+
export class Portal extends React.Component<React.PropsWithChildren<IPortalProps>> {
|
|
15
|
+
render(): React.ReactPortal;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Interface used to specify creation options for the node editor
|
|
21
|
+
*/
|
|
22
|
+
export interface INodeEditorOptions {
|
|
23
|
+
nodeParticleSet: BABYLON.NodeParticleSystemSet;
|
|
24
|
+
hostScene: BABYLON.Scene;
|
|
25
|
+
hostElement?: HTMLElement;
|
|
26
|
+
customSave?: {
|
|
27
|
+
label: string;
|
|
28
|
+
action: (data: string) => Promise<void>;
|
|
29
|
+
};
|
|
30
|
+
customLoadObservable?: BABYLON.Observable<any>;
|
|
31
|
+
backgroundColor?: BABYLON.Color4;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Class used to create a node editor
|
|
35
|
+
*/
|
|
36
|
+
export class NodeParticleEditor {
|
|
37
|
+
private static _CurrentState;
|
|
38
|
+
private static _PopupWindow;
|
|
39
|
+
/**
|
|
40
|
+
* Show the node editor
|
|
41
|
+
* @param options defines the options to use to configure the node editor
|
|
42
|
+
*/
|
|
43
|
+
static Show(options: INodeEditorOptions): void;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
interface IGraphEditorProps {
|
|
50
|
+
globalState: GlobalState;
|
|
51
|
+
}
|
|
52
|
+
interface IGraphEditorState {
|
|
53
|
+
showPreviewPopUp: boolean;
|
|
54
|
+
message: string;
|
|
55
|
+
isError: boolean;
|
|
56
|
+
}
|
|
57
|
+
interface IInternalPreviewAreaOptions extends BABYLON.IInspectorOptions {
|
|
58
|
+
popup: boolean;
|
|
59
|
+
original: boolean;
|
|
60
|
+
explorerWidth?: string;
|
|
61
|
+
inspectorWidth?: string;
|
|
62
|
+
embedHostWidth?: string;
|
|
63
|
+
}
|
|
64
|
+
export class GraphEditor extends React.Component<IGraphEditorProps, IGraphEditorState> {
|
|
65
|
+
private _graphCanvasRef;
|
|
66
|
+
private _diagramContainerRef;
|
|
67
|
+
private _graphCanvas;
|
|
68
|
+
private _historyStack;
|
|
69
|
+
private _previewManager;
|
|
70
|
+
private _mouseLocationX;
|
|
71
|
+
private _mouseLocationY;
|
|
72
|
+
private _onWidgetKeyUpPointer;
|
|
73
|
+
private _previewHost;
|
|
74
|
+
private _popUpWindow;
|
|
75
|
+
appendBlock(dataToAppend: BABYLON.NodeParticleBlock | BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, recursion?: boolean): BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode;
|
|
76
|
+
addValueNode(type: string): BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode;
|
|
77
|
+
prepareHistoryStack(): void;
|
|
78
|
+
componentDidMount(): void;
|
|
79
|
+
componentWillUnmount(): void;
|
|
80
|
+
constructor(props: IGraphEditorProps);
|
|
81
|
+
zoomToFit(): void;
|
|
82
|
+
buildParticleSystemSet(): void;
|
|
83
|
+
build(ignoreEditorData?: boolean): void;
|
|
84
|
+
loadGraph(): void;
|
|
85
|
+
showWaitScreen(): void;
|
|
86
|
+
hideWaitScreen(): void;
|
|
87
|
+
reOrganize(editorData?: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.IEditorData>, isImportingAFrame?: boolean): void;
|
|
88
|
+
onWheel: (evt: WheelEvent) => void;
|
|
89
|
+
emitNewBlock(blockType: string, targetX: number, targetY: number): BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode | undefined;
|
|
90
|
+
dropNewBlock(event: React.DragEvent<HTMLDivElement>): void;
|
|
91
|
+
handlePopUp: () => void;
|
|
92
|
+
handleClosingPopUp: () => void;
|
|
93
|
+
initiatePreviewArea: (canvas?: HTMLCanvasElement) => void;
|
|
94
|
+
createPopUp: () => void;
|
|
95
|
+
createPreviewMeshControlHostAsync: (options: IInternalPreviewAreaOptions, parentControl: BABYLON.Nullable<HTMLElement>) => Promise<unknown>;
|
|
96
|
+
createPreviewHostAsync: (options: IInternalPreviewAreaOptions, parentControl: BABYLON.Nullable<HTMLElement>) => Promise<unknown>;
|
|
97
|
+
fixPopUpStyles: (document: Document) => void;
|
|
98
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
export class GlobalState {
|
|
103
|
+
nodeParticleSet: BABYLON.NodeParticleSystemSet;
|
|
104
|
+
hostScene: BABYLON.Scene;
|
|
105
|
+
hostElement: HTMLElement;
|
|
106
|
+
hostDocument: Document;
|
|
107
|
+
hostWindow: Window;
|
|
108
|
+
stateManager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager;
|
|
109
|
+
onBuildRequiredObservable: BABYLON.Observable<void>;
|
|
110
|
+
onResetRequiredObservable: BABYLON.Observable<boolean>;
|
|
111
|
+
onClearUndoStack: BABYLON.Observable<void>;
|
|
112
|
+
onZoomToFitRequiredObservable: BABYLON.Observable<void>;
|
|
113
|
+
onReOrganizedRequiredObservable: BABYLON.Observable<void>;
|
|
114
|
+
onLogRequiredObservable: BABYLON.Observable<LogEntry>;
|
|
115
|
+
onIsLoadingChanged: BABYLON.Observable<boolean>;
|
|
116
|
+
onPreviewBackgroundChanged: BABYLON.Observable<void>;
|
|
117
|
+
onImportFrameObservable: BABYLON.Observable<any>;
|
|
118
|
+
onPopupClosedObservable: BABYLON.Observable<void>;
|
|
119
|
+
onGetNodeFromBlock: (block: BABYLON.NodeParticleBlock) => BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode;
|
|
120
|
+
listOfCustomPreviewFiles: File[];
|
|
121
|
+
rotatePreview: boolean;
|
|
122
|
+
backgroundColor: BABYLON.Color4;
|
|
123
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
124
|
+
pointerOverCanvas: boolean;
|
|
125
|
+
onRefreshPreviewMeshControlComponentRequiredObservable: BABYLON.Observable<void>;
|
|
126
|
+
onExportToGLBRequired: BABYLON.Observable<void>;
|
|
127
|
+
updateState: (left: string, right: string) => void;
|
|
128
|
+
customSave?: {
|
|
129
|
+
label: string;
|
|
130
|
+
action: (data: string) => Promise<void>;
|
|
131
|
+
};
|
|
132
|
+
constructor();
|
|
133
|
+
storeEditorData(serializationObject: any, frame?: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.GraphFrame>): void;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Static class for BlockTools
|
|
139
|
+
*/
|
|
140
|
+
export class BlockTools {
|
|
141
|
+
static GetBlockFromString(data: string): BABYLON.CreateParticleBlock | BABYLON.ParticleConditionBlock | BABYLON.UpdateSpriteCellIndexBlock | BABYLON.BasicSpriteUpdateBlock | BABYLON.SetupSpriteSheetBlock | BABYLON.ParticleTriggerBlock | BABYLON.BasicPositionUpdateBlock | BABYLON.ParticleTeleportInBlock | BABYLON.ParticleTeleportOutBlock | BABYLON.ParticleElbowBlock | BABYLON.ParticleDebugBlock | BABYLON.ParticleConverterBlock | BABYLON.ParticleGradientBlock | BABYLON.ParticleGradientValueBlock | BABYLON.ParticleLerpBlock | BABYLON.UpdatePositionBlock | BABYLON.UpdateDirectionBlock | BABYLON.UpdateColorBlock | BABYLON.UpdateScaleBlock | BABYLON.UpdateAngleBlock | BABYLON.UpdateFlowMapBlock | BABYLON.SystemBlock | BABYLON.ParticleTextureSourceBlock | BABYLON.BoxShapeBlock | BABYLON.SphereShapeBlock | BABYLON.PointShapeBlock | BABYLON.CustomShapeBlock | BABYLON.CylinderShapeBlock | BABYLON.RandomRangeBlock | BABYLON.ParticleInputBlock | BABYLON.ParticleMathBlock | BABYLON.ParticleTrigonometryBlock | BABYLON.ParticleRandomBlock | null;
|
|
142
|
+
static GetColorFromConnectionNodeType(type: BABYLON.NodeParticleBlockConnectionPointTypes): string;
|
|
143
|
+
static GetConnectionNodeTypeFromString(type: string): BABYLON.NodeParticleBlockConnectionPointTypes.Int | BABYLON.NodeParticleBlockConnectionPointTypes.Float | BABYLON.NodeParticleBlockConnectionPointTypes.Vector2 | BABYLON.NodeParticleBlockConnectionPointTypes.Vector3 | BABYLON.NodeParticleBlockConnectionPointTypes.Matrix | BABYLON.NodeParticleBlockConnectionPointTypes.Color4 | BABYLON.NodeParticleBlockConnectionPointTypes.AutoDetect;
|
|
144
|
+
static GetStringFromConnectionNodeType(type: BABYLON.NodeParticleBlockConnectionPointTypes): "" | "Int" | "Float" | "Vector2" | "Vector3" | "Color4" | "Matrix";
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
interface ITextureLineComponentProps {
|
|
149
|
+
texture: BABYLON.BaseTexture;
|
|
150
|
+
width: number;
|
|
151
|
+
height: number;
|
|
152
|
+
globalState?: any;
|
|
153
|
+
hideChannelSelect?: boolean;
|
|
154
|
+
}
|
|
155
|
+
export interface ITextureLineComponentState {
|
|
156
|
+
displayRed: boolean;
|
|
157
|
+
displayGreen: boolean;
|
|
158
|
+
displayBlue: boolean;
|
|
159
|
+
displayAlpha: boolean;
|
|
160
|
+
face: number;
|
|
161
|
+
}
|
|
162
|
+
export class TextureLineComponent extends React.Component<ITextureLineComponentProps, ITextureLineComponentState> {
|
|
163
|
+
private _canvasRef;
|
|
164
|
+
constructor(props: ITextureLineComponentProps);
|
|
165
|
+
shouldComponentUpdate(): boolean;
|
|
166
|
+
componentDidMount(): void;
|
|
167
|
+
componentDidUpdate(): void;
|
|
168
|
+
updatePreview(): void;
|
|
169
|
+
static UpdatePreview(previewCanvas: HTMLCanvasElement, texture: BABYLON.BaseTexture, width: number, options: ITextureLineComponentState, onReady?: () => void, globalState?: any): Promise<void>;
|
|
170
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
export interface ICheckBoxLineComponentProps {
|
|
175
|
+
label: string;
|
|
176
|
+
target?: any;
|
|
177
|
+
propertyName?: string;
|
|
178
|
+
isSelected?: () => boolean;
|
|
179
|
+
onSelect?: (value: boolean) => void;
|
|
180
|
+
onValueChanged?: () => void;
|
|
181
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
182
|
+
disabled?: boolean;
|
|
183
|
+
}
|
|
184
|
+
export class CheckBoxLineComponent extends React.Component<ICheckBoxLineComponentProps, {
|
|
185
|
+
isSelected: boolean;
|
|
186
|
+
isDisabled?: boolean;
|
|
187
|
+
}> {
|
|
188
|
+
private static _UniqueIdSeed;
|
|
189
|
+
private _uniqueId;
|
|
190
|
+
private _localChange;
|
|
191
|
+
constructor(props: ICheckBoxLineComponentProps);
|
|
192
|
+
shouldComponentUpdate(nextProps: ICheckBoxLineComponentProps, nextState: {
|
|
193
|
+
isSelected: boolean;
|
|
194
|
+
isDisabled: boolean;
|
|
195
|
+
}): boolean;
|
|
196
|
+
onChange(): void;
|
|
197
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
export const RegisterTypeLedger: () => void;
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
export const RegisterToPropertyTabManagers: () => void;
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
export const RegisterToDisplayManagers: () => void;
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
export const RegisterNodePortDesign: (stateManager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager) => void;
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
export const RegisterExportData: (stateManager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager) => void;
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
export const RegisterElbowSupport: (stateManager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager) => void;
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
export const RegisterDefaultInput: (stateManager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager) => void;
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
export const RegisterDebugSupport: (stateManager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager) => void;
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
export class ConnectionPointPortData implements BABYLON.NodeParticleEditor.SharedUIComponents.IPortData {
|
|
226
|
+
private _connectedPort;
|
|
227
|
+
private _nodeContainer;
|
|
228
|
+
data: NodeParticleConnectionPoint;
|
|
229
|
+
get name(): string;
|
|
230
|
+
get internalName(): string;
|
|
231
|
+
get isExposedOnFrame(): boolean;
|
|
232
|
+
set isExposedOnFrame(value: boolean);
|
|
233
|
+
get exposedPortPosition(): number;
|
|
234
|
+
set exposedPortPosition(value: number);
|
|
235
|
+
get isConnected(): boolean;
|
|
236
|
+
get connectedPort(): BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.IPortData>;
|
|
237
|
+
set connectedPort(value: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.IPortData>);
|
|
238
|
+
get directValueDefinition(): {
|
|
239
|
+
source: NodeParticleConnectionPoint;
|
|
240
|
+
propertyName: string;
|
|
241
|
+
valueMin: any;
|
|
242
|
+
valueMax: any;
|
|
243
|
+
valueType: BABYLON.NodeParticleEditor.SharedUIComponents.PortDirectValueTypes;
|
|
244
|
+
} | undefined;
|
|
245
|
+
get direction(): BABYLON.NodeParticleEditor.SharedUIComponents.PortDataDirection;
|
|
246
|
+
get ownerData(): BABYLON.NodeParticleBlock;
|
|
247
|
+
get needDualDirectionValidation(): boolean;
|
|
248
|
+
get hasEndpoints(): boolean;
|
|
249
|
+
get endpoints(): BABYLON.NodeParticleEditor.SharedUIComponents.IPortData[];
|
|
250
|
+
constructor(connectionPoint: NodeParticleConnectionPoint, nodeContainer: BABYLON.NodeParticleEditor.SharedUIComponents.INodeContainer);
|
|
251
|
+
updateDisplayName(newName: string): void;
|
|
252
|
+
connectTo(port: BABYLON.NodeParticleEditor.SharedUIComponents.IPortData): void;
|
|
253
|
+
canConnectTo(port: BABYLON.NodeParticleEditor.SharedUIComponents.IPortData): boolean;
|
|
254
|
+
disconnectFrom(port: BABYLON.NodeParticleEditor.SharedUIComponents.IPortData): void;
|
|
255
|
+
checkCompatibilityState(port: BABYLON.NodeParticleEditor.SharedUIComponents.IPortData): 0 | BABYLON.NodeParticleConnectionPointCompatibilityStates.TypeIncompatible | BABYLON.NodeParticleConnectionPointCompatibilityStates.HierarchyIssue;
|
|
256
|
+
getCompatibilityIssueMessage(issue: number, targetNode: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode, targetPort: BABYLON.NodeParticleEditor.SharedUIComponents.IPortData): string;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
export class BlockNodeData implements BABYLON.NodeParticleEditor.SharedUIComponents.INodeData {
|
|
261
|
+
data: BABYLON.NodeParticleBlock;
|
|
262
|
+
private _inputs;
|
|
263
|
+
private _outputs;
|
|
264
|
+
private _onBuildObserver;
|
|
265
|
+
private _onInputChangeObserver;
|
|
266
|
+
/**
|
|
267
|
+
* Gets or sets a callback used to call node visual refresh
|
|
268
|
+
*/
|
|
269
|
+
refreshCallback?: () => void;
|
|
270
|
+
onInputCountChanged?: () => void;
|
|
271
|
+
get uniqueId(): number;
|
|
272
|
+
get name(): string;
|
|
273
|
+
getClassName(): string;
|
|
274
|
+
get isInput(): boolean;
|
|
275
|
+
get inputs(): BABYLON.NodeParticleEditor.SharedUIComponents.IPortData[];
|
|
276
|
+
get outputs(): BABYLON.NodeParticleEditor.SharedUIComponents.IPortData[];
|
|
277
|
+
get comments(): string;
|
|
278
|
+
set comments(value: string);
|
|
279
|
+
get executionTime(): number;
|
|
280
|
+
getPortByName(name: string): BABYLON.NodeParticleEditor.SharedUIComponents.IPortData | null;
|
|
281
|
+
isConnectedToOutput(): boolean;
|
|
282
|
+
dispose(): void;
|
|
283
|
+
prepareHeaderIcon(iconDiv: HTMLDivElement, img: HTMLImageElement): void;
|
|
284
|
+
get invisibleEndpoints(): BABYLON.ParticleTeleportOutBlock[] | null;
|
|
285
|
+
constructor(data: BABYLON.NodeParticleBlock, nodeContainer: BABYLON.NodeParticleEditor.SharedUIComponents.INodeContainer);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
export class TextureSourcePropertyTabComponent extends React.Component<BABYLON.NodeParticleEditor.SharedUIComponents.IPropertyComponentProps> {
|
|
290
|
+
constructor(props: BABYLON.NodeParticleEditor.SharedUIComponents.IPropertyComponentProps);
|
|
291
|
+
_prepareImgToLoadAsync(url: string): Promise<string>;
|
|
292
|
+
loadTextureFromFileAsync(imageFile: File): Promise<string>;
|
|
293
|
+
loadTextureData(file: File): Promise<void>;
|
|
294
|
+
removeData(): void;
|
|
295
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
export class TeleportOutPropertyTabComponent extends React.Component<BABYLON.NodeParticleEditor.SharedUIComponents.IPropertyComponentProps> {
|
|
300
|
+
private _onUpdateRequiredObserver;
|
|
301
|
+
constructor(props: BABYLON.NodeParticleEditor.SharedUIComponents.IPropertyComponentProps);
|
|
302
|
+
componentDidMount(): void;
|
|
303
|
+
componentWillUnmount(): void;
|
|
304
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
export interface IFrameNodePortPropertyTabComponentProps {
|
|
309
|
+
stateManager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager;
|
|
310
|
+
nodePort: BABYLON.NodeParticleEditor.SharedUIComponents.NodePort;
|
|
311
|
+
}
|
|
312
|
+
export class NodePortPropertyTabComponent extends React.Component<IFrameNodePortPropertyTabComponentProps> {
|
|
313
|
+
constructor(props: IFrameNodePortPropertyTabComponentProps);
|
|
314
|
+
toggleExposeOnFrame(value: boolean): void;
|
|
315
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
export class InputPropertyTabComponent extends React.Component<BABYLON.NodeParticleEditor.SharedUIComponents.IPropertyComponentProps> {
|
|
320
|
+
private _onValueChangedObserver;
|
|
321
|
+
constructor(props: BABYLON.NodeParticleEditor.SharedUIComponents.IPropertyComponentProps);
|
|
322
|
+
componentDidMount(): void;
|
|
323
|
+
componentWillUnmount(): void;
|
|
324
|
+
renderValue(globalState: GlobalState): import("react/jsx-runtime").JSX.Element | null;
|
|
325
|
+
setDefaultValue(): void;
|
|
326
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
export class GenericPropertyComponent extends React.Component<BABYLON.NodeParticleEditor.SharedUIComponents.IPropertyComponentProps> {
|
|
331
|
+
constructor(props: BABYLON.NodeParticleEditor.SharedUIComponents.IPropertyComponentProps);
|
|
332
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
333
|
+
}
|
|
334
|
+
export class GeneralPropertyTabComponent extends React.Component<BABYLON.NodeParticleEditor.SharedUIComponents.IPropertyComponentProps> {
|
|
335
|
+
constructor(props: BABYLON.NodeParticleEditor.SharedUIComponents.IPropertyComponentProps);
|
|
336
|
+
processUpdate(): void;
|
|
337
|
+
renderConnectionPoint(point: BABYLON.NodeGeometryConnectionPoint): import("react/jsx-runtime").JSX.Element | null;
|
|
338
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
339
|
+
}
|
|
340
|
+
export class GenericPropertyTabComponent extends React.Component<BABYLON.NodeParticleEditor.SharedUIComponents.IPropertyComponentProps> {
|
|
341
|
+
constructor(props: BABYLON.NodeParticleEditor.SharedUIComponents.IPropertyComponentProps);
|
|
342
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
export interface IFramePropertyTabComponentProps {
|
|
347
|
+
globalState: GlobalState;
|
|
348
|
+
frame: BABYLON.NodeParticleEditor.SharedUIComponents.GraphFrame;
|
|
349
|
+
}
|
|
350
|
+
export class FramePropertyTabComponent extends React.Component<IFramePropertyTabComponentProps> {
|
|
351
|
+
private _onFrameExpandStateChangedObserver;
|
|
352
|
+
constructor(props: IFramePropertyTabComponentProps);
|
|
353
|
+
componentDidMount(): void;
|
|
354
|
+
componentWillUnmount(): void;
|
|
355
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
export interface IFrameNodePortPropertyTabComponentProps {
|
|
360
|
+
stateManager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager;
|
|
361
|
+
globalState: GlobalState;
|
|
362
|
+
frameNodePort: BABYLON.NodeParticleEditor.SharedUIComponents.FrameNodePort;
|
|
363
|
+
frame: BABYLON.NodeParticleEditor.SharedUIComponents.GraphFrame;
|
|
364
|
+
}
|
|
365
|
+
export class FrameNodePortPropertyTabComponent extends React.Component<IFrameNodePortPropertyTabComponentProps, {
|
|
366
|
+
port: BABYLON.NodeParticleEditor.SharedUIComponents.FrameNodePort;
|
|
367
|
+
}> {
|
|
368
|
+
private _onFramePortPositionChangedObserver;
|
|
369
|
+
private _onSelectionChangedObserver;
|
|
370
|
+
constructor(props: IFrameNodePortPropertyTabComponentProps);
|
|
371
|
+
componentWillUnmount(): void;
|
|
372
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
|
|
376
|
+
export class DebugPropertyTabComponent extends React.Component<BABYLON.NodeParticleEditor.SharedUIComponents.IPropertyComponentProps> {
|
|
377
|
+
private _onUpdateRequiredObserver;
|
|
378
|
+
constructor(props: BABYLON.NodeParticleEditor.SharedUIComponents.IPropertyComponentProps);
|
|
379
|
+
componentDidMount(): void;
|
|
380
|
+
componentWillUnmount(): void;
|
|
381
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
export class UpdateDisplayManager implements BABYLON.NodeParticleEditor.SharedUIComponents.IDisplayManager {
|
|
386
|
+
getHeaderClass(): string;
|
|
387
|
+
shouldDisplayPortLabels(): boolean;
|
|
388
|
+
getHeaderText(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): string;
|
|
389
|
+
getBackgroundColor(): string;
|
|
390
|
+
updatePreviewContent(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, contentArea: HTMLDivElement): void;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
export class TriggerDisplayManager implements BABYLON.NodeParticleEditor.SharedUIComponents.IDisplayManager {
|
|
395
|
+
getHeaderClass(): string;
|
|
396
|
+
shouldDisplayPortLabels(): boolean;
|
|
397
|
+
getHeaderText(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): string;
|
|
398
|
+
getBackgroundColor(): string;
|
|
399
|
+
updatePreviewContent(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, contentArea: HTMLDivElement): void;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
export class TextureDisplayManager implements BABYLON.NodeParticleEditor.SharedUIComponents.IDisplayManager {
|
|
404
|
+
private _previewImage;
|
|
405
|
+
getHeaderClass(): string;
|
|
406
|
+
shouldDisplayPortLabels(): boolean;
|
|
407
|
+
getHeaderText(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): string;
|
|
408
|
+
getBackgroundColor(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): string;
|
|
409
|
+
updatePreviewContent(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, contentArea: HTMLDivElement): void;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
export class TeleportOutDisplayManager implements BABYLON.NodeParticleEditor.SharedUIComponents.IDisplayManager {
|
|
414
|
+
private _hasHighlights;
|
|
415
|
+
getHeaderClass(): string;
|
|
416
|
+
shouldDisplayPortLabels(): boolean;
|
|
417
|
+
getHeaderText(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): string;
|
|
418
|
+
getBackgroundColor(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): string;
|
|
419
|
+
updatePreviewContent(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, contentArea: HTMLDivElement): void;
|
|
420
|
+
onSelectionChanged(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, selectedData: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.INodeData>, manager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager): void;
|
|
421
|
+
onDispose(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, manager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager): void;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
|
|
425
|
+
export class TeleportInDisplayManager implements BABYLON.NodeParticleEditor.SharedUIComponents.IDisplayManager {
|
|
426
|
+
private _hasHighlights;
|
|
427
|
+
getHeaderClass(): string;
|
|
428
|
+
shouldDisplayPortLabels(): boolean;
|
|
429
|
+
getHeaderText(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): string;
|
|
430
|
+
getBackgroundColor(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): string;
|
|
431
|
+
updatePreviewContent(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, contentArea: HTMLDivElement): void;
|
|
432
|
+
onSelectionChanged(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, selectedData: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.INodeData>, manager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager): void;
|
|
433
|
+
onDispose(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, manager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager): void;
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
export class SystemDisplayManager implements BABYLON.NodeParticleEditor.SharedUIComponents.IDisplayManager {
|
|
438
|
+
getHeaderClass(): string;
|
|
439
|
+
shouldDisplayPortLabels(): boolean;
|
|
440
|
+
getHeaderText(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): string;
|
|
441
|
+
getBackgroundColor(): string;
|
|
442
|
+
updatePreviewContent(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, contentArea: HTMLDivElement): void;
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
export class InputDisplayManager implements BABYLON.NodeParticleEditor.SharedUIComponents.IDisplayManager {
|
|
447
|
+
getHeaderClass(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): string;
|
|
448
|
+
getHeaderText(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): string;
|
|
449
|
+
shouldDisplayPortLabels(): boolean;
|
|
450
|
+
static GetBaseType(type: BABYLON.NodeParticleBlockConnectionPointTypes): string;
|
|
451
|
+
getBackgroundColor(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): string;
|
|
452
|
+
updatePreviewContent(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, contentArea: HTMLDivElement): void;
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
export class EmitterDisplayManager implements BABYLON.NodeParticleEditor.SharedUIComponents.IDisplayManager {
|
|
457
|
+
getHeaderClass(): string;
|
|
458
|
+
shouldDisplayPortLabels(): boolean;
|
|
459
|
+
getHeaderText(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): string;
|
|
460
|
+
getBackgroundColor(): string;
|
|
461
|
+
updatePreviewContent(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, contentArea: HTMLDivElement): void;
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
|
|
465
|
+
export class ElbowDisplayManager implements BABYLON.NodeParticleEditor.SharedUIComponents.IDisplayManager {
|
|
466
|
+
getHeaderClass(): string;
|
|
467
|
+
shouldDisplayPortLabels(): boolean;
|
|
468
|
+
getHeaderText(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): string;
|
|
469
|
+
getBackgroundColor(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): string;
|
|
470
|
+
updatePreviewContent(_nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, _contentArea: HTMLDivElement): void;
|
|
471
|
+
updateFullVisualContent(data: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, visualContent: BABYLON.NodeParticleEditor.SharedUIComponents.VisualContentDescription): void;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
|
|
475
|
+
export class DebugDisplayManager implements BABYLON.NodeParticleEditor.SharedUIComponents.IDisplayManager {
|
|
476
|
+
getHeaderClass(): string;
|
|
477
|
+
shouldDisplayPortLabels(): boolean;
|
|
478
|
+
getHeaderText(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): string;
|
|
479
|
+
getBackgroundColor(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): string;
|
|
480
|
+
updatePreviewContent(_nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, _contentArea: HTMLDivElement): void;
|
|
481
|
+
updateFullVisualContent(data: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, visualContent: BABYLON.NodeParticleEditor.SharedUIComponents.VisualContentDescription): void;
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
|
|
485
|
+
export class ConditionDisplayManager implements BABYLON.NodeParticleEditor.SharedUIComponents.IDisplayManager {
|
|
486
|
+
getHeaderClass(): string;
|
|
487
|
+
shouldDisplayPortLabels(): boolean;
|
|
488
|
+
getHeaderText(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): string;
|
|
489
|
+
getBackgroundColor(): string;
|
|
490
|
+
updatePreviewContent(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, contentArea: HTMLDivElement): void;
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
|
|
494
|
+
interface IPropertyTabComponentProps {
|
|
495
|
+
globalState: GlobalState;
|
|
496
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
497
|
+
}
|
|
498
|
+
interface IPropertyTabComponentState {
|
|
499
|
+
currentNode: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode>;
|
|
500
|
+
currentFrame: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.GraphFrame>;
|
|
501
|
+
currentFrameNodePort: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.FrameNodePort>;
|
|
502
|
+
currentNodePort: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.NodePort>;
|
|
503
|
+
uploadInProgress: boolean;
|
|
504
|
+
}
|
|
505
|
+
export class PropertyTabComponent extends React.Component<IPropertyTabComponentProps, IPropertyTabComponentState> {
|
|
506
|
+
private _onBuiltObserver;
|
|
507
|
+
constructor(props: IPropertyTabComponentProps);
|
|
508
|
+
componentDidMount(): void;
|
|
509
|
+
componentWillUnmount(): void;
|
|
510
|
+
processInputBlockUpdate(): void;
|
|
511
|
+
load(file: File): void;
|
|
512
|
+
loadFrame(file: File): void;
|
|
513
|
+
save(): void;
|
|
514
|
+
customSave(): void;
|
|
515
|
+
saveToSnippetServer(): void;
|
|
516
|
+
loadFromSnippet(): void;
|
|
517
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
|
|
521
|
+
interface IInputsPropertyTabComponentProps {
|
|
522
|
+
globalState: GlobalState;
|
|
523
|
+
inputs: BABYLON.ParticleInputBlock[];
|
|
524
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
525
|
+
}
|
|
526
|
+
export class InputsPropertyTabComponent extends React.Component<IInputsPropertyTabComponentProps> {
|
|
527
|
+
constructor(props: IInputsPropertyTabComponentProps);
|
|
528
|
+
processInputBlockUpdate(): void;
|
|
529
|
+
renderInputBlock(block: BABYLON.ParticleInputBlock): import("react/jsx-runtime").JSX.Element | null;
|
|
530
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
|
|
534
|
+
interface IVector4PropertyTabComponentProps {
|
|
535
|
+
globalState: GlobalState;
|
|
536
|
+
inputBlock: BABYLON.ParticleInputBlock;
|
|
537
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
538
|
+
}
|
|
539
|
+
export class Vector4PropertyTabComponent extends React.Component<IVector4PropertyTabComponentProps> {
|
|
540
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
|
|
544
|
+
interface IVector3PropertyTabComponentProps {
|
|
545
|
+
globalState: GlobalState;
|
|
546
|
+
inputBlock: BABYLON.ParticleInputBlock;
|
|
547
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
548
|
+
}
|
|
549
|
+
export class Vector3PropertyTabComponent extends React.Component<IVector3PropertyTabComponentProps> {
|
|
550
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
|
|
554
|
+
interface IVector2PropertyTabComponentProps {
|
|
555
|
+
globalState: GlobalState;
|
|
556
|
+
inputBlock: BABYLON.ParticleInputBlock;
|
|
557
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
558
|
+
}
|
|
559
|
+
export class Vector2PropertyTabComponent extends React.Component<IVector2PropertyTabComponentProps> {
|
|
560
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
|
|
564
|
+
interface IFloatPropertyTabComponentProps {
|
|
565
|
+
globalState: GlobalState;
|
|
566
|
+
inputBlock: BABYLON.ParticleInputBlock;
|
|
567
|
+
}
|
|
568
|
+
export class FloatPropertyTabComponent extends React.Component<IFloatPropertyTabComponentProps> {
|
|
569
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
interface IColor4PropertyTabComponentProps {
|
|
574
|
+
globalState: GlobalState;
|
|
575
|
+
inputBlock: BABYLON.ParticleInputBlock;
|
|
576
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
577
|
+
}
|
|
578
|
+
export class Color4PropertyTabComponent extends React.Component<IColor4PropertyTabComponentProps> {
|
|
579
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
|
|
583
|
+
interface IColor3PropertyTabComponentProps {
|
|
584
|
+
globalState: GlobalState;
|
|
585
|
+
inputBlock: BABYLON.ParticleInputBlock;
|
|
586
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
587
|
+
}
|
|
588
|
+
export class Color3PropertyTabComponent extends React.Component<IColor3PropertyTabComponentProps> {
|
|
589
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
|
|
593
|
+
interface IPreviewMeshControlComponent {
|
|
594
|
+
globalState: GlobalState;
|
|
595
|
+
togglePreviewAreaComponent: () => void;
|
|
596
|
+
onMounted?: () => void;
|
|
597
|
+
}
|
|
598
|
+
interface IPreviewMeshControlComponentState {
|
|
599
|
+
center: boolean;
|
|
600
|
+
}
|
|
601
|
+
export class PreviewMeshControlComponent extends React.Component<IPreviewMeshControlComponent, IPreviewMeshControlComponentState> {
|
|
602
|
+
private _colorInputRef;
|
|
603
|
+
private _onResetRequiredObserver;
|
|
604
|
+
private _onRefreshPreviewMeshControlComponentRequiredObserver;
|
|
605
|
+
constructor(props: IPreviewMeshControlComponent);
|
|
606
|
+
componentWillUnmount(): void;
|
|
607
|
+
componentDidMount(): void;
|
|
608
|
+
onPopUp(): void;
|
|
609
|
+
changeBackground(value: string): void;
|
|
610
|
+
changeBackgroundClick(): void;
|
|
611
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
|
|
615
|
+
export class PreviewManager {
|
|
616
|
+
private _nodeParticleSystemSet;
|
|
617
|
+
private _onBuildObserver;
|
|
618
|
+
private _onPreviewBackgroundChangedObserver;
|
|
619
|
+
private _engine;
|
|
620
|
+
private _scene;
|
|
621
|
+
private _camera;
|
|
622
|
+
private _globalState;
|
|
623
|
+
private _particleSystemSet;
|
|
624
|
+
private _callId;
|
|
625
|
+
constructor(targetCanvas: HTMLCanvasElement, globalState: GlobalState);
|
|
626
|
+
private _refreshPreview;
|
|
627
|
+
private _updatePreviewAsync;
|
|
628
|
+
dispose(): void;
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
|
|
632
|
+
interface IPreviewAreaComponentProps {
|
|
633
|
+
globalState: GlobalState;
|
|
634
|
+
onMounted?: () => void;
|
|
635
|
+
}
|
|
636
|
+
export class PreviewAreaComponent extends React.Component<IPreviewAreaComponentProps, {
|
|
637
|
+
isLoading: boolean;
|
|
638
|
+
}> {
|
|
639
|
+
private _onIsLoadingChangedObserver;
|
|
640
|
+
private _onResetRequiredObserver;
|
|
641
|
+
private _leftRef;
|
|
642
|
+
private _rightRef;
|
|
643
|
+
constructor(props: IPreviewAreaComponentProps);
|
|
644
|
+
componentWillUnmount(): void;
|
|
645
|
+
componentDidMount(): void;
|
|
646
|
+
_onPointerOverCanvas: () => void;
|
|
647
|
+
_onPointerOutCanvas: () => void;
|
|
648
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
|
|
652
|
+
interface INodeListComponentProps {
|
|
653
|
+
globalState: GlobalState;
|
|
654
|
+
}
|
|
655
|
+
export class NodeListComponent extends React.Component<INodeListComponentProps, {
|
|
656
|
+
filter: string;
|
|
657
|
+
}> {
|
|
658
|
+
private _onResetRequiredObserver;
|
|
659
|
+
private static _Tooltips;
|
|
660
|
+
private _customFrameList;
|
|
661
|
+
constructor(props: INodeListComponentProps);
|
|
662
|
+
componentWillUnmount(): void;
|
|
663
|
+
filterContent(filter: string): void;
|
|
664
|
+
loadCustomFrame(file: File): void;
|
|
665
|
+
removeItem(value: string): void;
|
|
666
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
|
|
670
|
+
interface ILogComponentProps {
|
|
671
|
+
globalState: GlobalState;
|
|
672
|
+
}
|
|
673
|
+
export class LogEntry {
|
|
674
|
+
message: string;
|
|
675
|
+
isError: boolean;
|
|
676
|
+
time: Date;
|
|
677
|
+
constructor(message: string, isError: boolean);
|
|
678
|
+
}
|
|
679
|
+
export class LogComponent extends React.Component<ILogComponentProps, {
|
|
680
|
+
logs: LogEntry[];
|
|
681
|
+
}> {
|
|
682
|
+
private _logConsoleRef;
|
|
683
|
+
constructor(props: ILogComponentProps);
|
|
684
|
+
componentDidMount(): void;
|
|
685
|
+
componentDidUpdate(): void;
|
|
686
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
|
|
690
|
+
|
|
691
|
+
}
|
|
692
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
693
|
+
/**
|
|
694
|
+
* Copy all styles from a document to another document or shadow root
|
|
695
|
+
* @param source document to copy styles from
|
|
696
|
+
* @param target document or shadow root to copy styles to
|
|
697
|
+
*/
|
|
698
|
+
export function CopyStyles(source: Document, target: DocumentOrShadowRoot): void;
|
|
699
|
+
/**
|
|
700
|
+
* Merges classNames by array of strings or conditions
|
|
701
|
+
* @param classNames Array of className strings or truthy conditions
|
|
702
|
+
* @returns A concatenated string, suitable for the className attribute
|
|
703
|
+
*/
|
|
704
|
+
export function MergeClassNames(classNames: ClassNameCondition[]): string;
|
|
705
|
+
/**
|
|
706
|
+
* className (replicating React type) or a tuple with the second member being any truthy value ["className", true]
|
|
707
|
+
*/
|
|
708
|
+
type ClassNameCondition = string | undefined | [string, any];
|
|
709
|
+
|
|
710
|
+
|
|
711
|
+
|
|
712
|
+
}
|
|
713
|
+
declare module BABYLON.NodeParticleEditor {
|
|
714
|
+
|
|
715
|
+
|
|
716
|
+
}
|
|
717
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
718
|
+
export class StringTools {
|
|
719
|
+
private static _SaveAs;
|
|
720
|
+
private static _Click;
|
|
721
|
+
/**
|
|
722
|
+
* Download a string into a file that will be saved locally by the browser
|
|
723
|
+
* @param document
|
|
724
|
+
* @param content defines the string to download locally as a file
|
|
725
|
+
* @param filename
|
|
726
|
+
*/
|
|
727
|
+
static DownloadAsFile(document: HTMLDocument, content: string, filename: string): void;
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
|
|
731
|
+
|
|
732
|
+
}
|
|
733
|
+
declare module BABYLON.NodeParticleEditor {
|
|
734
|
+
|
|
735
|
+
|
|
736
|
+
}
|
|
737
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
738
|
+
export class PropertyChangedEvent {
|
|
739
|
+
object: any;
|
|
740
|
+
property: string;
|
|
741
|
+
value: any;
|
|
742
|
+
initialValue: any;
|
|
743
|
+
allowNullValue?: boolean;
|
|
744
|
+
}
|
|
745
|
+
|
|
746
|
+
|
|
747
|
+
|
|
748
|
+
}
|
|
749
|
+
declare module BABYLON.NodeParticleEditor {
|
|
750
|
+
|
|
751
|
+
|
|
752
|
+
}
|
|
753
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
754
|
+
/**
|
|
755
|
+
* Create a popup window
|
|
756
|
+
* @param title default title for the popup
|
|
757
|
+
* @param options options for the popup
|
|
758
|
+
* @returns the parent control of the popup
|
|
759
|
+
*/
|
|
760
|
+
export function CreatePopup(title: string, options: Partial<{
|
|
761
|
+
onParentControlCreateCallback?: (parentControl: HTMLDivElement) => void;
|
|
762
|
+
onWindowCreateCallback?: (newWindow: Window) => void;
|
|
763
|
+
width?: number;
|
|
764
|
+
height?: number;
|
|
765
|
+
}>): HTMLDivElement | null;
|
|
766
|
+
|
|
767
|
+
|
|
768
|
+
|
|
769
|
+
}
|
|
770
|
+
declare module BABYLON.NodeParticleEditor {
|
|
771
|
+
|
|
772
|
+
|
|
773
|
+
}
|
|
774
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
775
|
+
/**
|
|
776
|
+
* Class handling undo / redo operations
|
|
777
|
+
*/
|
|
778
|
+
export class HistoryStack implements BABYLON.IDisposable {
|
|
779
|
+
private _historyStack;
|
|
780
|
+
private _redoStack;
|
|
781
|
+
private _activeData;
|
|
782
|
+
private readonly _maxHistoryLength;
|
|
783
|
+
private _locked;
|
|
784
|
+
private _dataProvider;
|
|
785
|
+
private _applyUpdate;
|
|
786
|
+
/**
|
|
787
|
+
* Gets or sets a boolean indicating if the stack is enabled
|
|
788
|
+
*/
|
|
789
|
+
isEnabled: boolean;
|
|
790
|
+
/**
|
|
791
|
+
* Constructor
|
|
792
|
+
* @param dataProvider defines the data provider function
|
|
793
|
+
* @param applyUpdate defines the code to execute when undo/redo operation is required
|
|
794
|
+
*/
|
|
795
|
+
constructor(dataProvider: () => any, applyUpdate: (data: any) => void);
|
|
796
|
+
/**
|
|
797
|
+
* Process key event to handle undo / redo
|
|
798
|
+
* @param evt defines the keyboard event to process
|
|
799
|
+
* @returns true if the event was processed
|
|
800
|
+
*/
|
|
801
|
+
processKeyEvent(evt: KeyboardEvent): boolean;
|
|
802
|
+
/**
|
|
803
|
+
* Resets the stack
|
|
804
|
+
*/
|
|
805
|
+
reset(): void;
|
|
806
|
+
/**
|
|
807
|
+
* Remove the n-1 element of the stack
|
|
808
|
+
*/
|
|
809
|
+
collapseLastTwo(): void;
|
|
810
|
+
private _generateJSONDiff;
|
|
811
|
+
private _applyJSONDiff;
|
|
812
|
+
private _copy;
|
|
813
|
+
/**
|
|
814
|
+
* Stores the current state
|
|
815
|
+
*/
|
|
816
|
+
store(): void;
|
|
817
|
+
/**
|
|
818
|
+
* Undo the latest operation
|
|
819
|
+
*/
|
|
820
|
+
undo(): void;
|
|
821
|
+
/**
|
|
822
|
+
* Redo the latest undo operation
|
|
823
|
+
*/
|
|
824
|
+
redo(): void;
|
|
825
|
+
/**
|
|
826
|
+
* Disposes the stack
|
|
827
|
+
*/
|
|
828
|
+
dispose(): void;
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
|
|
832
|
+
|
|
833
|
+
}
|
|
834
|
+
declare module BABYLON.NodeParticleEditor {
|
|
835
|
+
|
|
836
|
+
|
|
837
|
+
}
|
|
838
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
839
|
+
export function copyCommandToClipboard(strCommand: string): void;
|
|
840
|
+
export function getClassNameWithNamespace(obj: any): {
|
|
841
|
+
className: string;
|
|
842
|
+
babylonNamespace: string;
|
|
843
|
+
};
|
|
844
|
+
|
|
845
|
+
|
|
846
|
+
|
|
847
|
+
}
|
|
848
|
+
declare module BABYLON.NodeParticleEditor {
|
|
849
|
+
|
|
850
|
+
|
|
851
|
+
}
|
|
852
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
853
|
+
/**
|
|
854
|
+
* Used by both particleSystem and alphaBlendModes
|
|
855
|
+
*/
|
|
856
|
+
export var CommonBlendModes: {
|
|
857
|
+
label: string;
|
|
858
|
+
value: number;
|
|
859
|
+
}[];
|
|
860
|
+
/**
|
|
861
|
+
* Used to populated the blendMode dropdown in our various tools (Node Editor, Inspector, etc.)
|
|
862
|
+
* The below ParticleSystem consts were defined before new Engine alpha blend modes were added, so we have to reference
|
|
863
|
+
* the ParticleSystem.FOO consts explicitly (as the underlying var values are different - they get mapped to engine consts within baseParticleSystem.ts)
|
|
864
|
+
*/
|
|
865
|
+
export var BlendModeOptions: {
|
|
866
|
+
label: string;
|
|
867
|
+
value: number;
|
|
868
|
+
}[];
|
|
869
|
+
/**
|
|
870
|
+
* Used to populated the alphaMode dropdown in our various tools (Node Editor, Inspector, etc.)
|
|
871
|
+
*/
|
|
872
|
+
export var AlphaModeOptions: {
|
|
873
|
+
label: string;
|
|
874
|
+
value: number;
|
|
875
|
+
}[];
|
|
876
|
+
|
|
877
|
+
|
|
878
|
+
|
|
879
|
+
}
|
|
880
|
+
declare module BABYLON.NodeParticleEditor {
|
|
881
|
+
|
|
882
|
+
|
|
883
|
+
}
|
|
884
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
885
|
+
/**
|
|
886
|
+
* Class used to provide lock mechanism
|
|
887
|
+
*/
|
|
888
|
+
export class LockObject {
|
|
889
|
+
/**
|
|
890
|
+
* Gets or set if the lock is engaged
|
|
891
|
+
*/
|
|
892
|
+
lock: boolean;
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
|
|
896
|
+
|
|
897
|
+
}
|
|
898
|
+
declare module BABYLON.NodeParticleEditor {
|
|
899
|
+
|
|
900
|
+
|
|
901
|
+
}
|
|
902
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
903
|
+
interface ITextBlockPropertyGridComponentProps {
|
|
904
|
+
textBlock: BABYLON.GUI.TextBlock;
|
|
905
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
906
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
907
|
+
}
|
|
908
|
+
export class TextBlockPropertyGridComponent extends React.Component<ITextBlockPropertyGridComponentProps> {
|
|
909
|
+
constructor(props: ITextBlockPropertyGridComponentProps);
|
|
910
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
911
|
+
}
|
|
912
|
+
|
|
913
|
+
|
|
914
|
+
|
|
915
|
+
}
|
|
916
|
+
declare module BABYLON.NodeParticleEditor {
|
|
917
|
+
|
|
918
|
+
|
|
919
|
+
}
|
|
920
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
921
|
+
interface IStackPanelPropertyGridComponentProps {
|
|
922
|
+
stackPanel: BABYLON.GUI.StackPanel;
|
|
923
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
924
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
925
|
+
}
|
|
926
|
+
export class StackPanelPropertyGridComponent extends React.Component<IStackPanelPropertyGridComponentProps> {
|
|
927
|
+
constructor(props: IStackPanelPropertyGridComponentProps);
|
|
928
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
|
|
932
|
+
|
|
933
|
+
}
|
|
934
|
+
declare module BABYLON.NodeParticleEditor {
|
|
935
|
+
|
|
936
|
+
|
|
937
|
+
}
|
|
938
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
939
|
+
interface ISliderPropertyGridComponentProps {
|
|
940
|
+
slider: BABYLON.GUI.Slider;
|
|
941
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
942
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
943
|
+
}
|
|
944
|
+
export class SliderPropertyGridComponent extends React.Component<ISliderPropertyGridComponentProps> {
|
|
945
|
+
constructor(props: ISliderPropertyGridComponentProps);
|
|
946
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
947
|
+
}
|
|
948
|
+
|
|
949
|
+
|
|
950
|
+
|
|
951
|
+
}
|
|
952
|
+
declare module BABYLON.NodeParticleEditor {
|
|
953
|
+
|
|
954
|
+
|
|
955
|
+
}
|
|
956
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
957
|
+
interface IScrollViewerPropertyGridComponentProps {
|
|
958
|
+
scrollViewer: BABYLON.GUI.ScrollViewer;
|
|
959
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
960
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
961
|
+
}
|
|
962
|
+
export class ScrollViewerPropertyGridComponent extends React.Component<IScrollViewerPropertyGridComponentProps> {
|
|
963
|
+
constructor(props: IScrollViewerPropertyGridComponentProps);
|
|
964
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
965
|
+
}
|
|
966
|
+
|
|
967
|
+
|
|
968
|
+
|
|
969
|
+
}
|
|
970
|
+
declare module BABYLON.NodeParticleEditor {
|
|
971
|
+
|
|
972
|
+
|
|
973
|
+
}
|
|
974
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
975
|
+
interface IRectanglePropertyGridComponentProps {
|
|
976
|
+
rectangle: BABYLON.GUI.Rectangle;
|
|
977
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
978
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
979
|
+
}
|
|
980
|
+
export class RectanglePropertyGridComponent extends React.Component<IRectanglePropertyGridComponentProps> {
|
|
981
|
+
constructor(props: IRectanglePropertyGridComponentProps);
|
|
982
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
983
|
+
}
|
|
984
|
+
|
|
985
|
+
|
|
986
|
+
|
|
987
|
+
}
|
|
988
|
+
declare module BABYLON.NodeParticleEditor {
|
|
989
|
+
|
|
990
|
+
|
|
991
|
+
}
|
|
992
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
993
|
+
interface IRadioButtonPropertyGridComponentProps {
|
|
994
|
+
radioButtons: BABYLON.GUI.RadioButton[];
|
|
995
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
996
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
997
|
+
}
|
|
998
|
+
export class RadioButtonPropertyGridComponent extends React.Component<IRadioButtonPropertyGridComponentProps> {
|
|
999
|
+
constructor(props: IRadioButtonPropertyGridComponentProps);
|
|
1000
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
1001
|
+
}
|
|
1002
|
+
|
|
1003
|
+
|
|
1004
|
+
|
|
1005
|
+
}
|
|
1006
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1007
|
+
|
|
1008
|
+
|
|
1009
|
+
}
|
|
1010
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1011
|
+
interface ILinePropertyGridComponentProps {
|
|
1012
|
+
line: BABYLON.GUI.Line;
|
|
1013
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
1014
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
1015
|
+
}
|
|
1016
|
+
export class LinePropertyGridComponent extends React.Component<ILinePropertyGridComponentProps> {
|
|
1017
|
+
constructor(props: ILinePropertyGridComponentProps);
|
|
1018
|
+
onDashChange(value: string): void;
|
|
1019
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
1020
|
+
}
|
|
1021
|
+
|
|
1022
|
+
|
|
1023
|
+
|
|
1024
|
+
}
|
|
1025
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1026
|
+
|
|
1027
|
+
|
|
1028
|
+
}
|
|
1029
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1030
|
+
interface IInputTextPropertyGridComponentProps {
|
|
1031
|
+
inputText: BABYLON.GUI.InputText;
|
|
1032
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
1033
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
1034
|
+
}
|
|
1035
|
+
export class InputTextPropertyGridComponent extends React.Component<IInputTextPropertyGridComponentProps> {
|
|
1036
|
+
constructor(props: IInputTextPropertyGridComponentProps);
|
|
1037
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
1038
|
+
}
|
|
1039
|
+
|
|
1040
|
+
|
|
1041
|
+
|
|
1042
|
+
}
|
|
1043
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1044
|
+
|
|
1045
|
+
|
|
1046
|
+
}
|
|
1047
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1048
|
+
interface IImagePropertyGridComponentProps {
|
|
1049
|
+
image: BABYLON.GUI.Image;
|
|
1050
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
1051
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
1052
|
+
}
|
|
1053
|
+
export class ImagePropertyGridComponent extends React.Component<IImagePropertyGridComponentProps> {
|
|
1054
|
+
constructor(props: IImagePropertyGridComponentProps);
|
|
1055
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
1056
|
+
}
|
|
1057
|
+
|
|
1058
|
+
|
|
1059
|
+
|
|
1060
|
+
}
|
|
1061
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1062
|
+
|
|
1063
|
+
|
|
1064
|
+
}
|
|
1065
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1066
|
+
interface IImageBasedSliderPropertyGridComponentProps {
|
|
1067
|
+
imageBasedSlider: BABYLON.GUI.ImageBasedSlider;
|
|
1068
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
1069
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
1070
|
+
}
|
|
1071
|
+
export class ImageBasedSliderPropertyGridComponent extends React.Component<IImageBasedSliderPropertyGridComponentProps> {
|
|
1072
|
+
constructor(props: IImageBasedSliderPropertyGridComponentProps);
|
|
1073
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
1074
|
+
}
|
|
1075
|
+
|
|
1076
|
+
|
|
1077
|
+
|
|
1078
|
+
}
|
|
1079
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1080
|
+
|
|
1081
|
+
|
|
1082
|
+
}
|
|
1083
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1084
|
+
interface IGridPropertyGridComponentProps {
|
|
1085
|
+
grid: BABYLON.GUI.Grid;
|
|
1086
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
1087
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
1088
|
+
}
|
|
1089
|
+
export class GridPropertyGridComponent extends React.Component<IGridPropertyGridComponentProps> {
|
|
1090
|
+
constructor(props: IGridPropertyGridComponentProps);
|
|
1091
|
+
renderRows(): import("react/jsx-runtime").JSX.Element[];
|
|
1092
|
+
renderColumns(): import("react/jsx-runtime").JSX.Element[];
|
|
1093
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
|
|
1097
|
+
|
|
1098
|
+
}
|
|
1099
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1100
|
+
|
|
1101
|
+
|
|
1102
|
+
}
|
|
1103
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1104
|
+
interface IEllipsePropertyGridComponentProps {
|
|
1105
|
+
ellipse: BABYLON.GUI.Ellipse;
|
|
1106
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
1107
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
1108
|
+
}
|
|
1109
|
+
export class EllipsePropertyGridComponent extends React.Component<IEllipsePropertyGridComponentProps> {
|
|
1110
|
+
constructor(props: IEllipsePropertyGridComponentProps);
|
|
1111
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
1112
|
+
}
|
|
1113
|
+
|
|
1114
|
+
|
|
1115
|
+
|
|
1116
|
+
}
|
|
1117
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1118
|
+
|
|
1119
|
+
|
|
1120
|
+
}
|
|
1121
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1122
|
+
interface IControlPropertyGridComponentProps {
|
|
1123
|
+
control: BABYLON.GUI.Control;
|
|
1124
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
1125
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
1126
|
+
}
|
|
1127
|
+
export class ControlPropertyGridComponent extends React.Component<IControlPropertyGridComponentProps> {
|
|
1128
|
+
constructor(props: IControlPropertyGridComponentProps);
|
|
1129
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1132
|
+
|
|
1133
|
+
|
|
1134
|
+
}
|
|
1135
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1136
|
+
|
|
1137
|
+
|
|
1138
|
+
}
|
|
1139
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1140
|
+
interface ICommonControlPropertyGridComponentProps {
|
|
1141
|
+
controls?: BABYLON.GUI.Control[];
|
|
1142
|
+
control?: BABYLON.GUI.Control;
|
|
1143
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
1144
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
1145
|
+
}
|
|
1146
|
+
export class CommonControlPropertyGridComponent extends React.Component<ICommonControlPropertyGridComponentProps> {
|
|
1147
|
+
constructor(props: ICommonControlPropertyGridComponentProps);
|
|
1148
|
+
renderGridInformation(control: BABYLON.GUI.Control): import("react/jsx-runtime").JSX.Element | null;
|
|
1149
|
+
render(): import("react/jsx-runtime").JSX.Element | undefined;
|
|
1150
|
+
}
|
|
1151
|
+
|
|
1152
|
+
|
|
1153
|
+
|
|
1154
|
+
}
|
|
1155
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1156
|
+
|
|
1157
|
+
|
|
1158
|
+
}
|
|
1159
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1160
|
+
interface IColorPickerPropertyGridComponentProps {
|
|
1161
|
+
colorPicker: BABYLON.GUI.ColorPicker;
|
|
1162
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
1163
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
1164
|
+
}
|
|
1165
|
+
export class ColorPickerPropertyGridComponent extends React.Component<IColorPickerPropertyGridComponentProps> {
|
|
1166
|
+
constructor(props: IColorPickerPropertyGridComponentProps);
|
|
1167
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
1168
|
+
}
|
|
1169
|
+
|
|
1170
|
+
|
|
1171
|
+
|
|
1172
|
+
}
|
|
1173
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1174
|
+
|
|
1175
|
+
|
|
1176
|
+
}
|
|
1177
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1178
|
+
interface ICheckboxPropertyGridComponentProps {
|
|
1179
|
+
checkbox: BABYLON.GUI.Checkbox;
|
|
1180
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
1181
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
1182
|
+
}
|
|
1183
|
+
export class CheckboxPropertyGridComponent extends React.Component<ICheckboxPropertyGridComponentProps> {
|
|
1184
|
+
constructor(props: ICheckboxPropertyGridComponentProps);
|
|
1185
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
1186
|
+
}
|
|
1187
|
+
|
|
1188
|
+
|
|
1189
|
+
|
|
1190
|
+
}
|
|
1191
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1192
|
+
|
|
1193
|
+
|
|
1194
|
+
}
|
|
1195
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1196
|
+
/**
|
|
1197
|
+
* Splitter component properties
|
|
1198
|
+
*/
|
|
1199
|
+
export interface ISplitterProps {
|
|
1200
|
+
/**
|
|
1201
|
+
* Unique identifier
|
|
1202
|
+
*/
|
|
1203
|
+
id?: string;
|
|
1204
|
+
/**
|
|
1205
|
+
* Splitter size
|
|
1206
|
+
*/
|
|
1207
|
+
size: number;
|
|
1208
|
+
/**
|
|
1209
|
+
* Minimum size for the controlled element
|
|
1210
|
+
*/
|
|
1211
|
+
minSize?: number;
|
|
1212
|
+
/**
|
|
1213
|
+
* Maximum size for the controlled element
|
|
1214
|
+
*/
|
|
1215
|
+
maxSize?: number;
|
|
1216
|
+
/**
|
|
1217
|
+
* Initial size for the controlled element
|
|
1218
|
+
*/
|
|
1219
|
+
initialSize?: number;
|
|
1220
|
+
/**
|
|
1221
|
+
* Defines the controlled side
|
|
1222
|
+
*/
|
|
1223
|
+
controlledSide: BABYLON.NodeParticleEditor.SharedUIComponents.ControlledSize;
|
|
1224
|
+
/**
|
|
1225
|
+
* refObject to the splitter element
|
|
1226
|
+
*/
|
|
1227
|
+
refObject?: React.RefObject<HTMLDivElement>;
|
|
1228
|
+
}
|
|
1229
|
+
/**
|
|
1230
|
+
* Creates a splitter component
|
|
1231
|
+
* @param props defines the splitter properties
|
|
1232
|
+
* @returns the splitter component
|
|
1233
|
+
*/
|
|
1234
|
+
export var Splitter: React.FC<ISplitterProps>;
|
|
1235
|
+
|
|
1236
|
+
|
|
1237
|
+
|
|
1238
|
+
}
|
|
1239
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1240
|
+
|
|
1241
|
+
|
|
1242
|
+
}
|
|
1243
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1244
|
+
export enum ControlledSize {
|
|
1245
|
+
First = 0,
|
|
1246
|
+
Second = 1
|
|
1247
|
+
}
|
|
1248
|
+
export enum SplitDirection {
|
|
1249
|
+
Horizontal = 0,
|
|
1250
|
+
Vertical = 1
|
|
1251
|
+
}
|
|
1252
|
+
/**
|
|
1253
|
+
* Context used to share data with splitters
|
|
1254
|
+
*/
|
|
1255
|
+
export interface ISplitContext {
|
|
1256
|
+
/**
|
|
1257
|
+
* Split direction
|
|
1258
|
+
*/
|
|
1259
|
+
direction: SplitDirection;
|
|
1260
|
+
/**
|
|
1261
|
+
* Function called by splitters to update the offset
|
|
1262
|
+
* @param offset new offet
|
|
1263
|
+
* @param source source element
|
|
1264
|
+
* @param controlledSide defined controlled element
|
|
1265
|
+
*/
|
|
1266
|
+
drag: (offset: number, source: HTMLElement, controlledSide: ControlledSize) => void;
|
|
1267
|
+
/**
|
|
1268
|
+
* Function called by splitters to begin dragging
|
|
1269
|
+
*/
|
|
1270
|
+
beginDrag: () => void;
|
|
1271
|
+
/**
|
|
1272
|
+
* Function called by splitters to end dragging
|
|
1273
|
+
*/
|
|
1274
|
+
endDrag: () => void;
|
|
1275
|
+
/**
|
|
1276
|
+
* Sync sizes for the elements
|
|
1277
|
+
* @param source source element
|
|
1278
|
+
* @param controlledSide defined controlled element
|
|
1279
|
+
* @param size size of the controlled element
|
|
1280
|
+
* @param minSize minimum size for the controlled element
|
|
1281
|
+
* @param maxSize maximum size for the controlled element
|
|
1282
|
+
*/
|
|
1283
|
+
sync: (source: HTMLElement, controlledSide: ControlledSize, size?: number, minSize?: number, maxSize?: number) => void;
|
|
1284
|
+
}
|
|
1285
|
+
export var SplitContext: import("react").Context<ISplitContext>;
|
|
1286
|
+
|
|
1287
|
+
|
|
1288
|
+
|
|
1289
|
+
}
|
|
1290
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1291
|
+
|
|
1292
|
+
|
|
1293
|
+
}
|
|
1294
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1295
|
+
/**
|
|
1296
|
+
* Split container properties
|
|
1297
|
+
*/
|
|
1298
|
+
export interface ISplitContainerProps {
|
|
1299
|
+
/**
|
|
1300
|
+
* Unique identifier
|
|
1301
|
+
*/
|
|
1302
|
+
id?: string;
|
|
1303
|
+
/**
|
|
1304
|
+
* Split direction
|
|
1305
|
+
*/
|
|
1306
|
+
direction: BABYLON.NodeParticleEditor.SharedUIComponents.SplitDirection;
|
|
1307
|
+
/**
|
|
1308
|
+
* Minimum size for the floating elements
|
|
1309
|
+
*/
|
|
1310
|
+
floatingMinSize?: number;
|
|
1311
|
+
/**
|
|
1312
|
+
* RefObject to the root div element
|
|
1313
|
+
*/
|
|
1314
|
+
containerRef?: React.RefObject<HTMLDivElement>;
|
|
1315
|
+
/**
|
|
1316
|
+
* Optional class name
|
|
1317
|
+
*/
|
|
1318
|
+
className?: string;
|
|
1319
|
+
/**
|
|
1320
|
+
* Pointer down
|
|
1321
|
+
* @param event pointer events
|
|
1322
|
+
*/
|
|
1323
|
+
onPointerDown?: (event: React.PointerEvent) => void;
|
|
1324
|
+
/**
|
|
1325
|
+
* Pointer move
|
|
1326
|
+
* @param event pointer events
|
|
1327
|
+
*/
|
|
1328
|
+
onPointerMove?: (event: React.PointerEvent) => void;
|
|
1329
|
+
/**
|
|
1330
|
+
* Pointer up
|
|
1331
|
+
* @param event pointer events
|
|
1332
|
+
*/
|
|
1333
|
+
onPointerUp?: (event: React.PointerEvent) => void;
|
|
1334
|
+
/**
|
|
1335
|
+
* Drop
|
|
1336
|
+
* @param event drag events
|
|
1337
|
+
*/
|
|
1338
|
+
onDrop?: (event: React.DragEvent<HTMLDivElement>) => void;
|
|
1339
|
+
/**
|
|
1340
|
+
* Drag over
|
|
1341
|
+
* @param event drag events
|
|
1342
|
+
*/
|
|
1343
|
+
onDragOver?: (event: React.DragEvent<HTMLDivElement>) => void;
|
|
1344
|
+
}
|
|
1345
|
+
/**
|
|
1346
|
+
* Creates a split container component
|
|
1347
|
+
* @param props defines the split container properties
|
|
1348
|
+
* @returns the split container component
|
|
1349
|
+
*/
|
|
1350
|
+
export var SplitContainer: React.FC<React.PropsWithChildren<ISplitContainerProps>>;
|
|
1351
|
+
|
|
1352
|
+
|
|
1353
|
+
|
|
1354
|
+
}
|
|
1355
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1356
|
+
|
|
1357
|
+
|
|
1358
|
+
}
|
|
1359
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1360
|
+
export class TypeLedger {
|
|
1361
|
+
static PortDataBuilder: (port: BABYLON.NodeParticleEditor.SharedUIComponents.NodePort, nodeContainer: BABYLON.NodeParticleEditor.SharedUIComponents.INodeContainer) => BABYLON.NodeParticleEditor.SharedUIComponents.IPortData;
|
|
1362
|
+
static NodeDataBuilder: (data: any, nodeContainer: BABYLON.NodeParticleEditor.SharedUIComponents.INodeContainer) => BABYLON.NodeParticleEditor.SharedUIComponents.INodeData;
|
|
1363
|
+
}
|
|
1364
|
+
|
|
1365
|
+
|
|
1366
|
+
|
|
1367
|
+
}
|
|
1368
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1369
|
+
|
|
1370
|
+
|
|
1371
|
+
}
|
|
1372
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1373
|
+
export const IsFramePortData: (variableToCheck: any) => variableToCheck is BABYLON.NodeParticleEditor.SharedUIComponents.FramePortData;
|
|
1374
|
+
export const RefreshNode: (node: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode, visitedNodes?: Set<BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode>, visitedLinks?: Set<BABYLON.NodeParticleEditor.SharedUIComponents.NodeLink>, canvas?: BABYLON.NodeParticleEditor.SharedUIComponents.GraphCanvasComponent) => void;
|
|
1375
|
+
export const BuildFloatUI: (container: HTMLDivElement, document: Document, displayName: string, isInteger: boolean, source: any, propertyName: string, onChange: () => void, min?: number, max?: number, visualPropertiesRefresh?: Array<() => void>, additionalClassName?: string) => void;
|
|
1376
|
+
export function GetListOfAcceptedTypes<T extends Record<string, string | number>>(types: T, allValue: number, autoDetectValue: number, port: {
|
|
1377
|
+
acceptedConnectionPointTypes: number[];
|
|
1378
|
+
excludedConnectionPointTypes: number[];
|
|
1379
|
+
type: number;
|
|
1380
|
+
}, skips?: number[]): string[];
|
|
1381
|
+
export function GetConnectionErrorMessage<T extends Record<string, string | number>>(sourceType: number, types: T, allValue: number, autoDetectValue: number, port: {
|
|
1382
|
+
acceptedConnectionPointTypes: number[];
|
|
1383
|
+
excludedConnectionPointTypes: number[];
|
|
1384
|
+
type: number;
|
|
1385
|
+
}, skips?: number[]): string;
|
|
1386
|
+
|
|
1387
|
+
|
|
1388
|
+
|
|
1389
|
+
}
|
|
1390
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1391
|
+
|
|
1392
|
+
|
|
1393
|
+
}
|
|
1394
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1395
|
+
export class StateManager {
|
|
1396
|
+
data: any;
|
|
1397
|
+
hostDocument: Document;
|
|
1398
|
+
lockObject: any;
|
|
1399
|
+
modalIsDisplayed: boolean;
|
|
1400
|
+
historyStack: BABYLON.NodeParticleEditor.SharedUIComponents.HistoryStack;
|
|
1401
|
+
onSearchBoxRequiredObservable: BABYLON.Observable<{
|
|
1402
|
+
x: number;
|
|
1403
|
+
y: number;
|
|
1404
|
+
}>;
|
|
1405
|
+
onSelectionChangedObservable: BABYLON.Observable<BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.ISelectionChangedOptions>>;
|
|
1406
|
+
onFrameCreatedObservable: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.GraphFrame>;
|
|
1407
|
+
onUpdateRequiredObservable: BABYLON.Observable<any>;
|
|
1408
|
+
onGraphNodeRemovalObservable: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode>;
|
|
1409
|
+
onSelectionBoxMoved: BABYLON.Observable<ClientRect | DOMRect>;
|
|
1410
|
+
onCandidateLinkMoved: BABYLON.Observable<BABYLON.Nullable<BABYLON.Vector2>>;
|
|
1411
|
+
onCandidatePortSelectedObservable: BABYLON.Observable<BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.FrameNodePort | BABYLON.NodeParticleEditor.SharedUIComponents.NodePort>>;
|
|
1412
|
+
onNewNodeCreatedObservable: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode>;
|
|
1413
|
+
onRebuildRequiredObservable: BABYLON.Observable<void>;
|
|
1414
|
+
onNodeMovedObservable: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode>;
|
|
1415
|
+
onErrorMessageDialogRequiredObservable: BABYLON.Observable<string>;
|
|
1416
|
+
onExposePortOnFrameObservable: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode>;
|
|
1417
|
+
onGridSizeChanged: BABYLON.Observable<void>;
|
|
1418
|
+
onNewBlockRequiredObservable: BABYLON.Observable<{
|
|
1419
|
+
type: string;
|
|
1420
|
+
targetX: number;
|
|
1421
|
+
targetY: number;
|
|
1422
|
+
needRepositioning?: boolean;
|
|
1423
|
+
smartAdd?: boolean;
|
|
1424
|
+
}>;
|
|
1425
|
+
onHighlightNodeObservable: BABYLON.Observable<{
|
|
1426
|
+
data: any;
|
|
1427
|
+
active: boolean;
|
|
1428
|
+
}>;
|
|
1429
|
+
onPreviewCommandActivated: BABYLON.Observable<boolean>;
|
|
1430
|
+
exportData: (data: any, frame?: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.GraphFrame>) => string;
|
|
1431
|
+
isElbowConnectionAllowed: (nodeA: BABYLON.NodeParticleEditor.SharedUIComponents.FrameNodePort | BABYLON.NodeParticleEditor.SharedUIComponents.NodePort, nodeB: BABYLON.NodeParticleEditor.SharedUIComponents.FrameNodePort | BABYLON.NodeParticleEditor.SharedUIComponents.NodePort) => boolean;
|
|
1432
|
+
isDebugConnectionAllowed: (nodeA: BABYLON.NodeParticleEditor.SharedUIComponents.FrameNodePort | BABYLON.NodeParticleEditor.SharedUIComponents.NodePort, nodeB: BABYLON.NodeParticleEditor.SharedUIComponents.FrameNodePort | BABYLON.NodeParticleEditor.SharedUIComponents.NodePort) => boolean;
|
|
1433
|
+
applyNodePortDesign: (data: BABYLON.NodeParticleEditor.SharedUIComponents.IPortData, element: HTMLElement, imgHost: HTMLImageElement, pip: HTMLDivElement) => boolean;
|
|
1434
|
+
getPortColor: (portData: BABYLON.NodeParticleEditor.SharedUIComponents.IPortData) => string;
|
|
1435
|
+
storeEditorData: (serializationObject: any, frame?: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.GraphFrame>) => void;
|
|
1436
|
+
getEditorDataMap: () => {
|
|
1437
|
+
[key: number]: number;
|
|
1438
|
+
};
|
|
1439
|
+
getScene?: () => BABYLON.Scene;
|
|
1440
|
+
createDefaultInputData: (rootData: any, portData: BABYLON.NodeParticleEditor.SharedUIComponents.IPortData, nodeContainer: BABYLON.NodeParticleEditor.SharedUIComponents.INodeContainer) => BABYLON.Nullable<{
|
|
1441
|
+
data: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData;
|
|
1442
|
+
name: string;
|
|
1443
|
+
}>;
|
|
1444
|
+
private _isRebuildQueued;
|
|
1445
|
+
queueRebuildCommand(): void;
|
|
1446
|
+
}
|
|
1447
|
+
|
|
1448
|
+
|
|
1449
|
+
|
|
1450
|
+
}
|
|
1451
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1452
|
+
|
|
1453
|
+
|
|
1454
|
+
}
|
|
1455
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1456
|
+
export interface ISearchBoxComponentProps {
|
|
1457
|
+
stateManager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager;
|
|
1458
|
+
}
|
|
1459
|
+
/**
|
|
1460
|
+
* The search box component.
|
|
1461
|
+
*/
|
|
1462
|
+
export class SearchBoxComponent extends React.Component<ISearchBoxComponentProps, {
|
|
1463
|
+
isVisible: boolean;
|
|
1464
|
+
filter: string;
|
|
1465
|
+
selectedIndex: number;
|
|
1466
|
+
}> {
|
|
1467
|
+
private _handleEscKey;
|
|
1468
|
+
private _targetX;
|
|
1469
|
+
private _targetY;
|
|
1470
|
+
private _nodes;
|
|
1471
|
+
constructor(props: ISearchBoxComponentProps);
|
|
1472
|
+
hide(): void;
|
|
1473
|
+
onFilterChange(evt: React.ChangeEvent<HTMLInputElement>): void;
|
|
1474
|
+
onNewNodeRequested(name: string): void;
|
|
1475
|
+
onKeyDown(evt: React.KeyboardEvent): void;
|
|
1476
|
+
render(): import("react/jsx-runtime").JSX.Element | null;
|
|
1477
|
+
}
|
|
1478
|
+
|
|
1479
|
+
|
|
1480
|
+
|
|
1481
|
+
}
|
|
1482
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1483
|
+
|
|
1484
|
+
|
|
1485
|
+
}
|
|
1486
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1487
|
+
export class PropertyLedger {
|
|
1488
|
+
static DefaultControl: React.ComponentClass<BABYLON.NodeParticleEditor.SharedUIComponents.IPropertyComponentProps>;
|
|
1489
|
+
static RegisteredControls: {
|
|
1490
|
+
[key: string]: React.ComponentClass<BABYLON.NodeParticleEditor.SharedUIComponents.IPropertyComponentProps>;
|
|
1491
|
+
};
|
|
1492
|
+
}
|
|
1493
|
+
|
|
1494
|
+
|
|
1495
|
+
|
|
1496
|
+
}
|
|
1497
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1498
|
+
|
|
1499
|
+
|
|
1500
|
+
}
|
|
1501
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1502
|
+
export class NodePort {
|
|
1503
|
+
portData: IPortData;
|
|
1504
|
+
node: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode;
|
|
1505
|
+
protected _element: HTMLDivElement;
|
|
1506
|
+
protected _portContainer: HTMLElement;
|
|
1507
|
+
protected _imgHost: HTMLImageElement;
|
|
1508
|
+
protected _pip: HTMLDivElement;
|
|
1509
|
+
protected _stateManager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager;
|
|
1510
|
+
protected _portLabelElement: Element;
|
|
1511
|
+
protected _onCandidateLinkMovedObserver: BABYLON.Nullable<BABYLON.Observer<BABYLON.Nullable<BABYLON.Vector2>>>;
|
|
1512
|
+
protected _onSelectionChangedObserver: BABYLON.Nullable<BABYLON.Observer<BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.ISelectionChangedOptions>>>;
|
|
1513
|
+
protected _exposedOnFrame: boolean;
|
|
1514
|
+
protected _portUIcontainer?: HTMLDivElement;
|
|
1515
|
+
delegatedPort: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.FrameNodePort>;
|
|
1516
|
+
get element(): HTMLDivElement;
|
|
1517
|
+
get container(): HTMLElement;
|
|
1518
|
+
get portName(): string;
|
|
1519
|
+
set portName(newName: string);
|
|
1520
|
+
get disabled(): boolean;
|
|
1521
|
+
hasLabel(): boolean;
|
|
1522
|
+
get exposedOnFrame(): boolean;
|
|
1523
|
+
set exposedOnFrame(value: boolean);
|
|
1524
|
+
get exposedPortPosition(): number;
|
|
1525
|
+
set exposedPortPosition(value: number);
|
|
1526
|
+
private _isConnectedToNodeOutsideOfFrame;
|
|
1527
|
+
refresh(): void;
|
|
1528
|
+
constructor(portContainer: HTMLElement, portData: IPortData, node: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode, stateManager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager, portUIcontainer?: HTMLDivElement);
|
|
1529
|
+
dispose(): void;
|
|
1530
|
+
static CreatePortElement(portData: IPortData, node: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode, root: HTMLElement, displayManager: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.IDisplayManager>, stateManager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager): NodePort;
|
|
1531
|
+
}
|
|
1532
|
+
|
|
1533
|
+
|
|
1534
|
+
|
|
1535
|
+
}
|
|
1536
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1537
|
+
|
|
1538
|
+
|
|
1539
|
+
}
|
|
1540
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1541
|
+
export class NodeLink {
|
|
1542
|
+
private _graphCanvas;
|
|
1543
|
+
private _portA;
|
|
1544
|
+
private _portB?;
|
|
1545
|
+
private _nodeA;
|
|
1546
|
+
private _nodeB?;
|
|
1547
|
+
private _path;
|
|
1548
|
+
private _selectionPath;
|
|
1549
|
+
private _onSelectionChangedObserver;
|
|
1550
|
+
private _isVisible;
|
|
1551
|
+
private _isTargetCandidate;
|
|
1552
|
+
private _gradient;
|
|
1553
|
+
onDisposedObservable: BABYLON.Observable<NodeLink>;
|
|
1554
|
+
get isTargetCandidate(): boolean;
|
|
1555
|
+
set isTargetCandidate(value: boolean);
|
|
1556
|
+
get isVisible(): boolean;
|
|
1557
|
+
set isVisible(value: boolean);
|
|
1558
|
+
get portA(): BABYLON.NodeParticleEditor.SharedUIComponents.FrameNodePort | BABYLON.NodeParticleEditor.SharedUIComponents.NodePort;
|
|
1559
|
+
get portB(): BABYLON.NodeParticleEditor.SharedUIComponents.FrameNodePort | BABYLON.NodeParticleEditor.SharedUIComponents.NodePort | undefined;
|
|
1560
|
+
get nodeA(): BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode;
|
|
1561
|
+
get nodeB(): BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode | undefined;
|
|
1562
|
+
intersectsWith(rect: DOMRect): boolean;
|
|
1563
|
+
update(endX?: number, endY?: number, straight?: boolean): void;
|
|
1564
|
+
get path(): SVGPathElement;
|
|
1565
|
+
get selectionPath(): SVGPathElement;
|
|
1566
|
+
constructor(graphCanvas: BABYLON.NodeParticleEditor.SharedUIComponents.GraphCanvasComponent, portA: BABYLON.NodeParticleEditor.SharedUIComponents.NodePort, nodeA: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode, portB?: BABYLON.NodeParticleEditor.SharedUIComponents.NodePort, nodeB?: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode);
|
|
1567
|
+
onClick(evt: MouseEvent): void;
|
|
1568
|
+
dispose(notify?: boolean): void;
|
|
1569
|
+
}
|
|
1570
|
+
|
|
1571
|
+
|
|
1572
|
+
|
|
1573
|
+
}
|
|
1574
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1575
|
+
|
|
1576
|
+
|
|
1577
|
+
}
|
|
1578
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1579
|
+
export class NodeLedger {
|
|
1580
|
+
static RegisteredNodeNames: string[];
|
|
1581
|
+
static NameFormatter: (name: string) => string;
|
|
1582
|
+
}
|
|
1583
|
+
|
|
1584
|
+
|
|
1585
|
+
|
|
1586
|
+
}
|
|
1587
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1588
|
+
|
|
1589
|
+
|
|
1590
|
+
}
|
|
1591
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1592
|
+
export class GraphNode {
|
|
1593
|
+
content: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData;
|
|
1594
|
+
private static _IdGenerator;
|
|
1595
|
+
private _visual;
|
|
1596
|
+
private _headerContainer;
|
|
1597
|
+
private _headerIcon;
|
|
1598
|
+
private _headerIconImg;
|
|
1599
|
+
private _headerCollapseImg;
|
|
1600
|
+
private _header;
|
|
1601
|
+
private _headerCollapse;
|
|
1602
|
+
private _connections;
|
|
1603
|
+
private _optionsContainer;
|
|
1604
|
+
private _inputsContainer;
|
|
1605
|
+
private _outputsContainer;
|
|
1606
|
+
private _content;
|
|
1607
|
+
private _comments;
|
|
1608
|
+
private _executionTime;
|
|
1609
|
+
private _selectionBorder;
|
|
1610
|
+
private _inputPorts;
|
|
1611
|
+
private _outputPorts;
|
|
1612
|
+
private _links;
|
|
1613
|
+
private _x;
|
|
1614
|
+
private _y;
|
|
1615
|
+
private _gridAlignedX;
|
|
1616
|
+
private _gridAlignedY;
|
|
1617
|
+
private _mouseStartPointX;
|
|
1618
|
+
private _mouseStartPointY;
|
|
1619
|
+
private _stateManager;
|
|
1620
|
+
private _onSelectionChangedObserver;
|
|
1621
|
+
private _onSelectionBoxMovedObserver;
|
|
1622
|
+
private _onFrameCreatedObserver;
|
|
1623
|
+
private _onUpdateRequiredObserver;
|
|
1624
|
+
private _onHighlightNodeObserver;
|
|
1625
|
+
private _ownerCanvas;
|
|
1626
|
+
private _displayManager;
|
|
1627
|
+
private _isVisible;
|
|
1628
|
+
private _enclosingFrameId;
|
|
1629
|
+
private _visualPropertiesRefresh;
|
|
1630
|
+
private _lastClick;
|
|
1631
|
+
addClassToVisual(className: string): void;
|
|
1632
|
+
removeClassFromVisual(className: string): void;
|
|
1633
|
+
get isCollapsed(): boolean;
|
|
1634
|
+
get isVisible(): boolean;
|
|
1635
|
+
set isVisible(value: boolean);
|
|
1636
|
+
private _upateNodePortNames;
|
|
1637
|
+
get outputPorts(): BABYLON.NodeParticleEditor.SharedUIComponents.NodePort[];
|
|
1638
|
+
get inputPorts(): BABYLON.NodeParticleEditor.SharedUIComponents.NodePort[];
|
|
1639
|
+
get links(): BABYLON.NodeParticleEditor.SharedUIComponents.NodeLink[];
|
|
1640
|
+
get gridAlignedX(): number;
|
|
1641
|
+
get gridAlignedY(): number;
|
|
1642
|
+
get x(): number;
|
|
1643
|
+
set x(value: number);
|
|
1644
|
+
get y(): number;
|
|
1645
|
+
set y(value: number);
|
|
1646
|
+
get width(): number;
|
|
1647
|
+
get height(): number;
|
|
1648
|
+
get id(): number;
|
|
1649
|
+
get name(): string;
|
|
1650
|
+
get enclosingFrameId(): number;
|
|
1651
|
+
set enclosingFrameId(value: number);
|
|
1652
|
+
setIsSelected(value: boolean, marqueeSelection: boolean): void;
|
|
1653
|
+
get rootElement(): HTMLDivElement;
|
|
1654
|
+
constructor(content: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, stateManager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager);
|
|
1655
|
+
isOverlappingFrame(frame: BABYLON.NodeParticleEditor.SharedUIComponents.GraphFrame): boolean;
|
|
1656
|
+
getPortForPortData(portData: BABYLON.NodeParticleEditor.SharedUIComponents.IPortData): BABYLON.NodeParticleEditor.SharedUIComponents.NodePort | null;
|
|
1657
|
+
getPortDataForPortDataContent(data: any): BABYLON.NodeParticleEditor.SharedUIComponents.IPortData | null;
|
|
1658
|
+
getLinksForPortDataContent(data: any): BABYLON.NodeParticleEditor.SharedUIComponents.NodeLink[];
|
|
1659
|
+
getLinksForPortData(portData: BABYLON.NodeParticleEditor.SharedUIComponents.IPortData): BABYLON.NodeParticleEditor.SharedUIComponents.NodeLink[];
|
|
1660
|
+
private _refreshFrames;
|
|
1661
|
+
_refreshLinks(): void;
|
|
1662
|
+
refresh(): void;
|
|
1663
|
+
private _expand;
|
|
1664
|
+
private _searchMiddle;
|
|
1665
|
+
private _onDown;
|
|
1666
|
+
cleanAccumulation(useCeil?: boolean): void;
|
|
1667
|
+
private _onUp;
|
|
1668
|
+
private _onMove;
|
|
1669
|
+
renderProperties(): BABYLON.Nullable<JSX.Element>;
|
|
1670
|
+
_forceRebuild(source: any, propertyName: string, notifiers?: BABYLON.IEditablePropertyOption["notifiers"]): void;
|
|
1671
|
+
private _isCollapsed;
|
|
1672
|
+
/**
|
|
1673
|
+
* Collapse the node
|
|
1674
|
+
*/
|
|
1675
|
+
collapse(): void;
|
|
1676
|
+
/**
|
|
1677
|
+
* Expand the node
|
|
1678
|
+
*/
|
|
1679
|
+
expand(): void;
|
|
1680
|
+
private _portUICount;
|
|
1681
|
+
private _buildInputPorts;
|
|
1682
|
+
appendVisual(root: HTMLDivElement, owner: BABYLON.NodeParticleEditor.SharedUIComponents.GraphCanvasComponent): void;
|
|
1683
|
+
dispose(): void;
|
|
1684
|
+
}
|
|
1685
|
+
|
|
1686
|
+
|
|
1687
|
+
|
|
1688
|
+
}
|
|
1689
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1690
|
+
|
|
1691
|
+
|
|
1692
|
+
}
|
|
1693
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1694
|
+
export enum FramePortPosition {
|
|
1695
|
+
Top = 0,
|
|
1696
|
+
Middle = 1,
|
|
1697
|
+
Bottom = 2
|
|
1698
|
+
}
|
|
1699
|
+
export class GraphFrame {
|
|
1700
|
+
private readonly _collapsedWidth;
|
|
1701
|
+
private static _FrameCounter;
|
|
1702
|
+
private static _FramePortCounter;
|
|
1703
|
+
private _name;
|
|
1704
|
+
private _color;
|
|
1705
|
+
private _x;
|
|
1706
|
+
private _y;
|
|
1707
|
+
private _gridAlignedX;
|
|
1708
|
+
private _gridAlignedY;
|
|
1709
|
+
private _width;
|
|
1710
|
+
private _height;
|
|
1711
|
+
element: HTMLDivElement;
|
|
1712
|
+
private _borderElement;
|
|
1713
|
+
private _headerElement;
|
|
1714
|
+
private _headerTextElement;
|
|
1715
|
+
private _headerCollapseElement;
|
|
1716
|
+
private _headerCloseElement;
|
|
1717
|
+
private _headerFocusElement;
|
|
1718
|
+
private _commentsElement;
|
|
1719
|
+
private _portContainer;
|
|
1720
|
+
private _outputPortContainer;
|
|
1721
|
+
private _inputPortContainer;
|
|
1722
|
+
private _nodes;
|
|
1723
|
+
private _ownerCanvas;
|
|
1724
|
+
private _mouseStartPointX;
|
|
1725
|
+
private _mouseStartPointY;
|
|
1726
|
+
private _onSelectionChangedObserver;
|
|
1727
|
+
private _onGraphNodeRemovalObserver;
|
|
1728
|
+
private _onExposePortOnFrameObserver;
|
|
1729
|
+
private _onNodeLinkDisposedObservers;
|
|
1730
|
+
private _isCollapsed;
|
|
1731
|
+
private _frameInPorts;
|
|
1732
|
+
private _frameOutPorts;
|
|
1733
|
+
private _controlledPorts;
|
|
1734
|
+
private _exposedInPorts;
|
|
1735
|
+
private _exposedOutPorts;
|
|
1736
|
+
private _id;
|
|
1737
|
+
private _comments;
|
|
1738
|
+
private _frameIsResizing;
|
|
1739
|
+
private _resizingDirection;
|
|
1740
|
+
private _minFrameHeight;
|
|
1741
|
+
private _minFrameWidth;
|
|
1742
|
+
private _mouseXLimit;
|
|
1743
|
+
onExpandStateChanged: BABYLON.Observable<GraphFrame>;
|
|
1744
|
+
private readonly _closeSVG;
|
|
1745
|
+
private readonly _expandSVG;
|
|
1746
|
+
private readonly _collapseSVG;
|
|
1747
|
+
private readonly _focusSVG;
|
|
1748
|
+
get id(): number;
|
|
1749
|
+
get isCollapsed(): boolean;
|
|
1750
|
+
private _createInputPort;
|
|
1751
|
+
private _markFramePortPositions;
|
|
1752
|
+
private _createFramePorts;
|
|
1753
|
+
private _removePortFromExposedWithNode;
|
|
1754
|
+
private _removePortFromExposedWithLink;
|
|
1755
|
+
private _createInputPorts;
|
|
1756
|
+
private _createOutputPorts;
|
|
1757
|
+
redrawFramePorts(): void;
|
|
1758
|
+
set isCollapsed(value: boolean);
|
|
1759
|
+
get nodes(): BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode[];
|
|
1760
|
+
get ports(): BABYLON.NodeParticleEditor.SharedUIComponents.FrameNodePort[];
|
|
1761
|
+
get name(): string;
|
|
1762
|
+
set name(value: string);
|
|
1763
|
+
get color(): BABYLON.Color3;
|
|
1764
|
+
set color(value: BABYLON.Color3);
|
|
1765
|
+
get x(): number;
|
|
1766
|
+
set x(value: number);
|
|
1767
|
+
get y(): number;
|
|
1768
|
+
set y(value: number);
|
|
1769
|
+
get width(): number;
|
|
1770
|
+
set width(value: number);
|
|
1771
|
+
get height(): number;
|
|
1772
|
+
set height(value: number);
|
|
1773
|
+
get comments(): string;
|
|
1774
|
+
set comments(comments: string);
|
|
1775
|
+
constructor(candidate: BABYLON.Nullable<HTMLDivElement>, canvas: BABYLON.NodeParticleEditor.SharedUIComponents.GraphCanvasComponent, doNotCaptureNodes?: boolean);
|
|
1776
|
+
private _isFocused;
|
|
1777
|
+
/**
|
|
1778
|
+
* Enter/leave focus mode
|
|
1779
|
+
*/
|
|
1780
|
+
switchFocusMode(): void;
|
|
1781
|
+
refresh(): void;
|
|
1782
|
+
addNode(node: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode): void;
|
|
1783
|
+
removeNode(node: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode): void;
|
|
1784
|
+
syncNode(node: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode): void;
|
|
1785
|
+
cleanAccumulation(): void;
|
|
1786
|
+
private _onDown;
|
|
1787
|
+
move(newX: number, newY: number, align?: boolean): void;
|
|
1788
|
+
private _onUp;
|
|
1789
|
+
_moveFrame(offsetX: number, offsetY: number): void;
|
|
1790
|
+
private _onMove;
|
|
1791
|
+
moveFramePortUp(nodePort: BABYLON.NodeParticleEditor.SharedUIComponents.FrameNodePort): void;
|
|
1792
|
+
private _movePortUp;
|
|
1793
|
+
moveFramePortDown(nodePort: BABYLON.NodeParticleEditor.SharedUIComponents.FrameNodePort): void;
|
|
1794
|
+
private _movePortDown;
|
|
1795
|
+
private _initResizing;
|
|
1796
|
+
private _cleanUpResizing;
|
|
1797
|
+
private _updateMinHeightWithComments;
|
|
1798
|
+
private _isResizingTop;
|
|
1799
|
+
private _isResizingRight;
|
|
1800
|
+
private _isResizingBottom;
|
|
1801
|
+
private _isResizingLeft;
|
|
1802
|
+
private _onRightHandlePointerDown;
|
|
1803
|
+
private _onRightHandlePointerMove;
|
|
1804
|
+
private _moveRightHandle;
|
|
1805
|
+
private _onRightHandlePointerUp;
|
|
1806
|
+
private _onBottomHandlePointerDown;
|
|
1807
|
+
private _onBottomHandlePointerMove;
|
|
1808
|
+
private _moveBottomHandle;
|
|
1809
|
+
private _onBottomHandlePointerUp;
|
|
1810
|
+
private _onLeftHandlePointerDown;
|
|
1811
|
+
private _onLeftHandlePointerMove;
|
|
1812
|
+
private _moveLeftHandle;
|
|
1813
|
+
private _onLeftHandlePointerUp;
|
|
1814
|
+
private _onTopHandlePointerDown;
|
|
1815
|
+
private _onTopHandlePointerMove;
|
|
1816
|
+
private _moveTopHandle;
|
|
1817
|
+
private _onTopHandlePointerUp;
|
|
1818
|
+
private _onTopRightHandlePointerDown;
|
|
1819
|
+
private _onTopRightHandlePointerMove;
|
|
1820
|
+
private _moveTopRightHandle;
|
|
1821
|
+
private _onTopRightHandlePointerUp;
|
|
1822
|
+
private _onBottomRightHandlePointerDown;
|
|
1823
|
+
private _onBottomRightHandlePointerMove;
|
|
1824
|
+
private _moveBottomRightHandle;
|
|
1825
|
+
private _onBottomRightHandlePointerUp;
|
|
1826
|
+
private _onBottomLeftHandlePointerDown;
|
|
1827
|
+
private _onBottomLeftHandlePointerMove;
|
|
1828
|
+
private _moveBottomLeftHandle;
|
|
1829
|
+
private _onBottomLeftHandlePointerUp;
|
|
1830
|
+
private _onTopLeftHandlePointerDown;
|
|
1831
|
+
private _onTopLeftHandlePointerMove;
|
|
1832
|
+
private _moveTopLeftHandle;
|
|
1833
|
+
private _onTopLeftHandlePointerUp;
|
|
1834
|
+
private _expandLeft;
|
|
1835
|
+
private _expandTop;
|
|
1836
|
+
private _expandRight;
|
|
1837
|
+
private _expandBottom;
|
|
1838
|
+
dispose(): void;
|
|
1839
|
+
private _serializePortData;
|
|
1840
|
+
serialize(saveCollapsedState: boolean): BABYLON.NodeParticleEditor.SharedUIComponents.IFrameData;
|
|
1841
|
+
export(): void;
|
|
1842
|
+
adjustPorts(): void;
|
|
1843
|
+
static Parse(serializationData: BABYLON.NodeParticleEditor.SharedUIComponents.IFrameData, canvas: BABYLON.NodeParticleEditor.SharedUIComponents.GraphCanvasComponent, map?: {
|
|
1844
|
+
[key: number]: number;
|
|
1845
|
+
}): GraphFrame;
|
|
1846
|
+
}
|
|
1847
|
+
|
|
1848
|
+
|
|
1849
|
+
|
|
1850
|
+
}
|
|
1851
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1852
|
+
|
|
1853
|
+
|
|
1854
|
+
}
|
|
1855
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1856
|
+
export interface IGraphCanvasComponentProps {
|
|
1857
|
+
stateManager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager;
|
|
1858
|
+
onEmitNewNode: (nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData) => BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode;
|
|
1859
|
+
}
|
|
1860
|
+
export class GraphCanvasComponent extends React.Component<IGraphCanvasComponentProps> implements BABYLON.NodeParticleEditor.SharedUIComponents.INodeContainer {
|
|
1861
|
+
static readonly NodeWidth = 100;
|
|
1862
|
+
private readonly _minZoom;
|
|
1863
|
+
private readonly _maxZoom;
|
|
1864
|
+
private _hostCanvasRef;
|
|
1865
|
+
private _hostCanvas;
|
|
1866
|
+
private _graphCanvasRef;
|
|
1867
|
+
private _graphCanvas;
|
|
1868
|
+
private _selectionContainerRef;
|
|
1869
|
+
private _selectionContainer;
|
|
1870
|
+
private _frameContainerRef;
|
|
1871
|
+
private _frameContainer;
|
|
1872
|
+
private _svgCanvasRef;
|
|
1873
|
+
private _svgCanvas;
|
|
1874
|
+
private _rootContainerRef;
|
|
1875
|
+
private _rootContainer;
|
|
1876
|
+
private _nodes;
|
|
1877
|
+
private _links;
|
|
1878
|
+
private _mouseStartPointX;
|
|
1879
|
+
private _mouseStartPointY;
|
|
1880
|
+
private _dropPointX;
|
|
1881
|
+
private _dropPointY;
|
|
1882
|
+
private _selectionStartX;
|
|
1883
|
+
private _selectionStartY;
|
|
1884
|
+
private _candidateLinkedHasMoved;
|
|
1885
|
+
private _x;
|
|
1886
|
+
private _y;
|
|
1887
|
+
private _lastx;
|
|
1888
|
+
private _lasty;
|
|
1889
|
+
private _zoom;
|
|
1890
|
+
private _selectedNodes;
|
|
1891
|
+
private _selectedLink;
|
|
1892
|
+
private _selectedPort;
|
|
1893
|
+
private _candidateLink;
|
|
1894
|
+
private _candidatePort;
|
|
1895
|
+
private _gridSize;
|
|
1896
|
+
private _selectionBox;
|
|
1897
|
+
private _selectedFrames;
|
|
1898
|
+
private _frameCandidate;
|
|
1899
|
+
private _frames;
|
|
1900
|
+
private _nodeDataContentList;
|
|
1901
|
+
private _altKeyIsPressed;
|
|
1902
|
+
private _shiftKeyIsPressed;
|
|
1903
|
+
private _multiKeyIsPressed;
|
|
1904
|
+
private _oldY;
|
|
1905
|
+
_frameIsMoving: boolean;
|
|
1906
|
+
_isLoading: boolean;
|
|
1907
|
+
_targetLinkCandidate: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.NodeLink>;
|
|
1908
|
+
private _copiedNodes;
|
|
1909
|
+
private _copiedFrames;
|
|
1910
|
+
get gridSize(): number;
|
|
1911
|
+
set gridSize(value: number);
|
|
1912
|
+
get stateManager(): BABYLON.NodeParticleEditor.SharedUIComponents.StateManager;
|
|
1913
|
+
get nodes(): BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode[];
|
|
1914
|
+
get links(): BABYLON.NodeParticleEditor.SharedUIComponents.NodeLink[];
|
|
1915
|
+
get frames(): BABYLON.NodeParticleEditor.SharedUIComponents.GraphFrame[];
|
|
1916
|
+
get zoom(): number;
|
|
1917
|
+
set zoom(value: number);
|
|
1918
|
+
get x(): number;
|
|
1919
|
+
set x(value: number);
|
|
1920
|
+
get y(): number;
|
|
1921
|
+
set y(value: number);
|
|
1922
|
+
get selectedNodes(): BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode[];
|
|
1923
|
+
get selectedLink(): BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.NodeLink>;
|
|
1924
|
+
get selectedFrames(): BABYLON.NodeParticleEditor.SharedUIComponents.GraphFrame[];
|
|
1925
|
+
get selectedPort(): BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.NodePort>;
|
|
1926
|
+
get canvasContainer(): HTMLDivElement;
|
|
1927
|
+
get hostCanvas(): HTMLDivElement;
|
|
1928
|
+
get svgCanvas(): HTMLElement;
|
|
1929
|
+
get selectionContainer(): HTMLDivElement;
|
|
1930
|
+
get frameContainer(): HTMLDivElement;
|
|
1931
|
+
private _selectedFrameAndNodesConflict;
|
|
1932
|
+
constructor(props: IGraphCanvasComponentProps);
|
|
1933
|
+
populateConnectedEntriesBeforeRemoval(item: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode, items: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode[], inputs: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.IPortData>[], outputs: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.IPortData>[]): void;
|
|
1934
|
+
automaticRewire(inputs: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.IPortData>[], outputs: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.IPortData>[], firstOnly?: boolean): void;
|
|
1935
|
+
smartAddOverLink(node: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode, link: BABYLON.NodeParticleEditor.SharedUIComponents.NodeLink): void;
|
|
1936
|
+
smartAddOverNode(node: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode, source: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode): void;
|
|
1937
|
+
deleteSelection(onRemove: (nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData) => void, autoReconnect?: boolean): void;
|
|
1938
|
+
handleKeyDown(evt: KeyboardEvent, onRemove: (nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData) => void, mouseLocationX: number, mouseLocationY: number, dataGenerator: (nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData) => any, rootElement: HTMLDivElement): void;
|
|
1939
|
+
pasteSelection(copiedNodes: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode[], currentX: number, currentY: number, dataGenerator: (nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData) => any, selectNew?: boolean): BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode[];
|
|
1940
|
+
reconnectNewNodes(nodeIndex: number, newNodes: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode[], sourceNodes: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode[], done: boolean[]): void;
|
|
1941
|
+
getCachedData(): any[];
|
|
1942
|
+
removeDataFromCache(data: any): void;
|
|
1943
|
+
createNodeFromObject(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, onNodeCreated: (data: any) => void, recursion?: boolean): BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode;
|
|
1944
|
+
getGridPosition(position: number, useCeil?: boolean): number;
|
|
1945
|
+
getGridPositionCeil(position: number): number;
|
|
1946
|
+
updateTransform(): void;
|
|
1947
|
+
onKeyUp(): void;
|
|
1948
|
+
findNodeFromData(data: any): BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode;
|
|
1949
|
+
reset(): void;
|
|
1950
|
+
connectPorts(pointA: BABYLON.NodeParticleEditor.SharedUIComponents.IPortData, pointB: BABYLON.NodeParticleEditor.SharedUIComponents.IPortData): void;
|
|
1951
|
+
removeLink(link: BABYLON.NodeParticleEditor.SharedUIComponents.NodeLink): void;
|
|
1952
|
+
appendNode(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode;
|
|
1953
|
+
distributeGraph(): void;
|
|
1954
|
+
componentDidMount(): void;
|
|
1955
|
+
onMove(evt: React.PointerEvent): void;
|
|
1956
|
+
onDown(evt: React.PointerEvent<HTMLElement>): void;
|
|
1957
|
+
onUp(evt: React.PointerEvent): void;
|
|
1958
|
+
onWheel(evt: React.WheelEvent): void;
|
|
1959
|
+
zoomToFit(): void;
|
|
1960
|
+
processCandidatePort(): void;
|
|
1961
|
+
connectNodes(nodeA: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode, pointA: BABYLON.NodeParticleEditor.SharedUIComponents.IPortData, nodeB: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode, pointB: BABYLON.NodeParticleEditor.SharedUIComponents.IPortData): void;
|
|
1962
|
+
drop(newNode: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode, targetX: number, targetY: number, offsetX: number, offsetY: number): void;
|
|
1963
|
+
processEditorData(editorData: BABYLON.NodeParticleEditor.SharedUIComponents.IEditorData): void;
|
|
1964
|
+
reOrganize(editorData?: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.IEditorData>, isImportingAFrame?: boolean): void;
|
|
1965
|
+
addFrame(frameData: BABYLON.NodeParticleEditor.SharedUIComponents.IFrameData): void;
|
|
1966
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
1967
|
+
}
|
|
1968
|
+
|
|
1969
|
+
|
|
1970
|
+
|
|
1971
|
+
}
|
|
1972
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1973
|
+
|
|
1974
|
+
|
|
1975
|
+
}
|
|
1976
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
1977
|
+
export class FrameNodePort extends BABYLON.NodeParticleEditor.SharedUIComponents.NodePort {
|
|
1978
|
+
portData: BABYLON.NodeParticleEditor.SharedUIComponents.IPortData;
|
|
1979
|
+
node: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode;
|
|
1980
|
+
private _parentFrameId;
|
|
1981
|
+
private _isInput;
|
|
1982
|
+
private _framePortPosition;
|
|
1983
|
+
private _framePortId;
|
|
1984
|
+
private _onFramePortPositionChangedObservable;
|
|
1985
|
+
get parentFrameId(): number;
|
|
1986
|
+
get onFramePortPositionChangedObservable(): BABYLON.Observable<FrameNodePort>;
|
|
1987
|
+
get isInput(): boolean;
|
|
1988
|
+
get framePortId(): number;
|
|
1989
|
+
get framePortPosition(): BABYLON.NodeParticleEditor.SharedUIComponents.FramePortPosition;
|
|
1990
|
+
set framePortPosition(position: BABYLON.NodeParticleEditor.SharedUIComponents.FramePortPosition);
|
|
1991
|
+
constructor(portContainer: HTMLElement, portData: BABYLON.NodeParticleEditor.SharedUIComponents.IPortData, node: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode, stateManager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager, isInput: boolean, framePortId: number, parentFrameId: number);
|
|
1992
|
+
static CreateFrameNodePortElement(portData: BABYLON.NodeParticleEditor.SharedUIComponents.IPortData, node: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode, root: HTMLElement, displayManager: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.IDisplayManager>, stateManager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager, isInput: boolean, framePortId: number, parentFrameId: number): FrameNodePort;
|
|
1993
|
+
}
|
|
1994
|
+
|
|
1995
|
+
|
|
1996
|
+
|
|
1997
|
+
}
|
|
1998
|
+
declare module BABYLON.NodeParticleEditor {
|
|
1999
|
+
|
|
2000
|
+
|
|
2001
|
+
}
|
|
2002
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2003
|
+
export class DisplayLedger {
|
|
2004
|
+
static RegisteredControls: {
|
|
2005
|
+
[key: string]: any;
|
|
2006
|
+
};
|
|
2007
|
+
}
|
|
2008
|
+
|
|
2009
|
+
|
|
2010
|
+
|
|
2011
|
+
}
|
|
2012
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2013
|
+
|
|
2014
|
+
|
|
2015
|
+
}
|
|
2016
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2017
|
+
/**
|
|
2018
|
+
* Function used to force a rebuild of the node system
|
|
2019
|
+
* @param source source object
|
|
2020
|
+
* @param stateManager defines the state manager to use
|
|
2021
|
+
* @param propertyName name of the property that has been changed
|
|
2022
|
+
* @param notifiers list of notifiers to use
|
|
2023
|
+
*/
|
|
2024
|
+
export function ForceRebuild(source: any, stateManager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager, propertyName: string, notifiers?: BABYLON.IEditablePropertyOption["notifiers"]): void;
|
|
2025
|
+
|
|
2026
|
+
|
|
2027
|
+
|
|
2028
|
+
}
|
|
2029
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2030
|
+
|
|
2031
|
+
|
|
2032
|
+
}
|
|
2033
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2034
|
+
export type FramePortData = {
|
|
2035
|
+
frame: BABYLON.NodeParticleEditor.SharedUIComponents.GraphFrame;
|
|
2036
|
+
port: BABYLON.NodeParticleEditor.SharedUIComponents.FrameNodePort;
|
|
2037
|
+
};
|
|
2038
|
+
|
|
2039
|
+
|
|
2040
|
+
|
|
2041
|
+
}
|
|
2042
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2043
|
+
|
|
2044
|
+
|
|
2045
|
+
}
|
|
2046
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2047
|
+
export interface ISelectionChangedOptions {
|
|
2048
|
+
selection: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode | BABYLON.NodeParticleEditor.SharedUIComponents.NodeLink | BABYLON.NodeParticleEditor.SharedUIComponents.GraphFrame | BABYLON.NodeParticleEditor.SharedUIComponents.NodePort | BABYLON.NodeParticleEditor.SharedUIComponents.FramePortData>;
|
|
2049
|
+
forceKeepSelection?: boolean;
|
|
2050
|
+
marqueeSelection?: boolean;
|
|
2051
|
+
}
|
|
2052
|
+
|
|
2053
|
+
|
|
2054
|
+
|
|
2055
|
+
}
|
|
2056
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2057
|
+
|
|
2058
|
+
|
|
2059
|
+
}
|
|
2060
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2061
|
+
export interface IPropertyComponentProps {
|
|
2062
|
+
stateManager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager;
|
|
2063
|
+
nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData;
|
|
2064
|
+
}
|
|
2065
|
+
|
|
2066
|
+
|
|
2067
|
+
|
|
2068
|
+
}
|
|
2069
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2070
|
+
|
|
2071
|
+
|
|
2072
|
+
}
|
|
2073
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2074
|
+
export enum PortDataDirection {
|
|
2075
|
+
/** Input */
|
|
2076
|
+
Input = 0,
|
|
2077
|
+
/** Output */
|
|
2078
|
+
Output = 1
|
|
2079
|
+
}
|
|
2080
|
+
export enum PortDirectValueTypes {
|
|
2081
|
+
Float = 0,
|
|
2082
|
+
Int = 1
|
|
2083
|
+
}
|
|
2084
|
+
export interface IPortDirectValueDefinition {
|
|
2085
|
+
/**
|
|
2086
|
+
* Gets the source object
|
|
2087
|
+
*/
|
|
2088
|
+
source: any;
|
|
2089
|
+
/**
|
|
2090
|
+
* Gets the property name used to store the value
|
|
2091
|
+
*/
|
|
2092
|
+
propertyName: string;
|
|
2093
|
+
/**
|
|
2094
|
+
* Gets or sets the min value accepted for this point if nothing is connected
|
|
2095
|
+
*/
|
|
2096
|
+
valueMin: BABYLON.Nullable<any>;
|
|
2097
|
+
/**
|
|
2098
|
+
* Gets or sets the max value accepted for this point if nothing is connected
|
|
2099
|
+
*/
|
|
2100
|
+
valueMax: BABYLON.Nullable<any>;
|
|
2101
|
+
/**
|
|
2102
|
+
* Gets or sets the type of the value
|
|
2103
|
+
*/
|
|
2104
|
+
valueType: PortDirectValueTypes;
|
|
2105
|
+
}
|
|
2106
|
+
export interface IPortData {
|
|
2107
|
+
data: any;
|
|
2108
|
+
name: string;
|
|
2109
|
+
internalName: string;
|
|
2110
|
+
isExposedOnFrame: boolean;
|
|
2111
|
+
exposedPortPosition: number;
|
|
2112
|
+
isConnected: boolean;
|
|
2113
|
+
direction: PortDataDirection;
|
|
2114
|
+
ownerData: any;
|
|
2115
|
+
connectedPort: BABYLON.Nullable<IPortData>;
|
|
2116
|
+
needDualDirectionValidation: boolean;
|
|
2117
|
+
hasEndpoints: boolean;
|
|
2118
|
+
endpoints: BABYLON.Nullable<IPortData[]>;
|
|
2119
|
+
directValueDefinition?: IPortDirectValueDefinition;
|
|
2120
|
+
updateDisplayName: (newName: string) => void;
|
|
2121
|
+
canConnectTo: (port: IPortData) => boolean;
|
|
2122
|
+
connectTo: (port: IPortData) => void;
|
|
2123
|
+
disconnectFrom: (port: IPortData) => void;
|
|
2124
|
+
checkCompatibilityState(port: IPortData): number;
|
|
2125
|
+
getCompatibilityIssueMessage(issue: number, targetNode: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode, targetPort: IPortData): string;
|
|
2126
|
+
}
|
|
2127
|
+
|
|
2128
|
+
|
|
2129
|
+
|
|
2130
|
+
}
|
|
2131
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2132
|
+
|
|
2133
|
+
|
|
2134
|
+
}
|
|
2135
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2136
|
+
export interface INodeLocationInfo {
|
|
2137
|
+
blockId: number;
|
|
2138
|
+
x: number;
|
|
2139
|
+
y: number;
|
|
2140
|
+
isCollapsed: boolean;
|
|
2141
|
+
}
|
|
2142
|
+
export interface IFrameData {
|
|
2143
|
+
x: number;
|
|
2144
|
+
y: number;
|
|
2145
|
+
width: number;
|
|
2146
|
+
height: number;
|
|
2147
|
+
color: number[];
|
|
2148
|
+
name: string;
|
|
2149
|
+
isCollapsed: boolean;
|
|
2150
|
+
blocks: number[];
|
|
2151
|
+
comments: string;
|
|
2152
|
+
}
|
|
2153
|
+
export interface IEditorData {
|
|
2154
|
+
locations: INodeLocationInfo[];
|
|
2155
|
+
x: number;
|
|
2156
|
+
y: number;
|
|
2157
|
+
zoom: number;
|
|
2158
|
+
frames?: IFrameData[];
|
|
2159
|
+
map?: {
|
|
2160
|
+
[key: number]: number;
|
|
2161
|
+
};
|
|
2162
|
+
}
|
|
2163
|
+
|
|
2164
|
+
|
|
2165
|
+
|
|
2166
|
+
}
|
|
2167
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2168
|
+
|
|
2169
|
+
|
|
2170
|
+
}
|
|
2171
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2172
|
+
export interface INodeData {
|
|
2173
|
+
data: any;
|
|
2174
|
+
name: string;
|
|
2175
|
+
uniqueId: number;
|
|
2176
|
+
isInput: boolean;
|
|
2177
|
+
comments: string;
|
|
2178
|
+
executionTime?: number;
|
|
2179
|
+
refreshCallback?: () => void;
|
|
2180
|
+
prepareHeaderIcon: (iconDiv: HTMLDivElement, img: HTMLImageElement) => void;
|
|
2181
|
+
getClassName: () => string;
|
|
2182
|
+
dispose: () => void;
|
|
2183
|
+
getPortByName: (name: string) => BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.IPortData>;
|
|
2184
|
+
inputs: BABYLON.NodeParticleEditor.SharedUIComponents.IPortData[];
|
|
2185
|
+
outputs: BABYLON.NodeParticleEditor.SharedUIComponents.IPortData[];
|
|
2186
|
+
invisibleEndpoints?: BABYLON.Nullable<any[]>;
|
|
2187
|
+
isConnectedToOutput?: () => boolean;
|
|
2188
|
+
isActive?: boolean;
|
|
2189
|
+
setIsActive?: (value: boolean) => void;
|
|
2190
|
+
canBeActivated?: boolean;
|
|
2191
|
+
onInputCountChanged?: () => void;
|
|
2192
|
+
}
|
|
2193
|
+
|
|
2194
|
+
|
|
2195
|
+
|
|
2196
|
+
}
|
|
2197
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2198
|
+
|
|
2199
|
+
|
|
2200
|
+
}
|
|
2201
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2202
|
+
export interface INodeContainer {
|
|
2203
|
+
nodes: BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode[];
|
|
2204
|
+
appendNode(data: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): BABYLON.NodeParticleEditor.SharedUIComponents.GraphNode;
|
|
2205
|
+
}
|
|
2206
|
+
|
|
2207
|
+
|
|
2208
|
+
|
|
2209
|
+
}
|
|
2210
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2211
|
+
|
|
2212
|
+
|
|
2213
|
+
}
|
|
2214
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2215
|
+
export interface VisualContentDescription {
|
|
2216
|
+
[key: string]: HTMLElement;
|
|
2217
|
+
}
|
|
2218
|
+
export interface IDisplayManager {
|
|
2219
|
+
getHeaderClass(data: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): string;
|
|
2220
|
+
shouldDisplayPortLabels(data: BABYLON.NodeParticleEditor.SharedUIComponents.IPortData): boolean;
|
|
2221
|
+
updatePreviewContent(data: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, contentArea: HTMLDivElement): void;
|
|
2222
|
+
updateFullVisualContent?(data: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, visualContent: VisualContentDescription): void;
|
|
2223
|
+
getBackgroundColor(data: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): string;
|
|
2224
|
+
getHeaderText(data: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData): string;
|
|
2225
|
+
onSelectionChanged?(data: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, selectedData: BABYLON.Nullable<BABYLON.NodeParticleEditor.SharedUIComponents.INodeData>, manager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager): void;
|
|
2226
|
+
onDispose?(nodeData: BABYLON.NodeParticleEditor.SharedUIComponents.INodeData, manager: BABYLON.NodeParticleEditor.SharedUIComponents.StateManager): void;
|
|
2227
|
+
}
|
|
2228
|
+
|
|
2229
|
+
|
|
2230
|
+
|
|
2231
|
+
}
|
|
2232
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2233
|
+
|
|
2234
|
+
|
|
2235
|
+
}
|
|
2236
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2237
|
+
interface IVector4LineComponentProps {
|
|
2238
|
+
label: string;
|
|
2239
|
+
target?: any;
|
|
2240
|
+
propertyName?: string;
|
|
2241
|
+
step?: number;
|
|
2242
|
+
onChange?: (newvalue: BABYLON.Vector4) => void;
|
|
2243
|
+
useEuler?: boolean;
|
|
2244
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
2245
|
+
icon?: string;
|
|
2246
|
+
iconLabel?: string;
|
|
2247
|
+
value?: BABYLON.Vector4;
|
|
2248
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
2249
|
+
}
|
|
2250
|
+
export class Vector4LineComponent extends React.Component<IVector4LineComponentProps, {
|
|
2251
|
+
isExpanded: boolean;
|
|
2252
|
+
value: BABYLON.Vector4;
|
|
2253
|
+
}> {
|
|
2254
|
+
static defaultProps: {
|
|
2255
|
+
step: number;
|
|
2256
|
+
};
|
|
2257
|
+
private _localChange;
|
|
2258
|
+
constructor(props: IVector4LineComponentProps);
|
|
2259
|
+
getCurrentValue(): any;
|
|
2260
|
+
shouldComponentUpdate(nextProps: IVector4LineComponentProps, nextState: {
|
|
2261
|
+
isExpanded: boolean;
|
|
2262
|
+
value: BABYLON.Vector4;
|
|
2263
|
+
}): boolean;
|
|
2264
|
+
switchExpandState(): void;
|
|
2265
|
+
raiseOnPropertyChanged(previousValue: BABYLON.Vector4): void;
|
|
2266
|
+
updateVector4(): void;
|
|
2267
|
+
updateStateX(value: number): void;
|
|
2268
|
+
updateStateY(value: number): void;
|
|
2269
|
+
updateStateZ(value: number): void;
|
|
2270
|
+
updateStateW(value: number): void;
|
|
2271
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2272
|
+
}
|
|
2273
|
+
|
|
2274
|
+
|
|
2275
|
+
|
|
2276
|
+
}
|
|
2277
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2278
|
+
|
|
2279
|
+
|
|
2280
|
+
}
|
|
2281
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2282
|
+
interface IVector3LineComponentProps {
|
|
2283
|
+
label: string;
|
|
2284
|
+
target?: any;
|
|
2285
|
+
propertyName?: string;
|
|
2286
|
+
step?: number;
|
|
2287
|
+
onChange?: (newvalue: BABYLON.Vector3) => void;
|
|
2288
|
+
useEuler?: boolean;
|
|
2289
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
2290
|
+
noSlider?: boolean;
|
|
2291
|
+
icon?: string;
|
|
2292
|
+
iconLabel?: string;
|
|
2293
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
2294
|
+
directValue?: BABYLON.Vector3;
|
|
2295
|
+
additionalCommands?: JSX.Element[];
|
|
2296
|
+
}
|
|
2297
|
+
export class Vector3LineComponent extends React.Component<IVector3LineComponentProps, {
|
|
2298
|
+
isExpanded: boolean;
|
|
2299
|
+
value: BABYLON.Vector3;
|
|
2300
|
+
}> {
|
|
2301
|
+
static defaultProps: {
|
|
2302
|
+
step: number;
|
|
2303
|
+
};
|
|
2304
|
+
private _localChange;
|
|
2305
|
+
constructor(props: IVector3LineComponentProps);
|
|
2306
|
+
getCurrentValue(): any;
|
|
2307
|
+
shouldComponentUpdate(nextProps: IVector3LineComponentProps, nextState: {
|
|
2308
|
+
isExpanded: boolean;
|
|
2309
|
+
value: BABYLON.Vector3;
|
|
2310
|
+
}): boolean;
|
|
2311
|
+
switchExpandState(): void;
|
|
2312
|
+
raiseOnPropertyChanged(previousValue: BABYLON.Vector3): void;
|
|
2313
|
+
updateVector3(): void;
|
|
2314
|
+
updateStateX(value: number): void;
|
|
2315
|
+
updateStateY(value: number): void;
|
|
2316
|
+
updateStateZ(value: number): void;
|
|
2317
|
+
onCopyClick(): void;
|
|
2318
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2319
|
+
}
|
|
2320
|
+
|
|
2321
|
+
|
|
2322
|
+
|
|
2323
|
+
}
|
|
2324
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2325
|
+
|
|
2326
|
+
|
|
2327
|
+
}
|
|
2328
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2329
|
+
interface IVector2LineComponentProps {
|
|
2330
|
+
label: string;
|
|
2331
|
+
target: any;
|
|
2332
|
+
propertyName: string;
|
|
2333
|
+
step?: number;
|
|
2334
|
+
onChange?: (newvalue: BABYLON.Vector2) => void;
|
|
2335
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
2336
|
+
icon?: string;
|
|
2337
|
+
iconLabel?: string;
|
|
2338
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
2339
|
+
}
|
|
2340
|
+
export class Vector2LineComponent extends React.Component<IVector2LineComponentProps, {
|
|
2341
|
+
isExpanded: boolean;
|
|
2342
|
+
value: BABYLON.Vector2;
|
|
2343
|
+
}> {
|
|
2344
|
+
static defaultProps: {
|
|
2345
|
+
step: number;
|
|
2346
|
+
};
|
|
2347
|
+
private _localChange;
|
|
2348
|
+
constructor(props: IVector2LineComponentProps);
|
|
2349
|
+
shouldComponentUpdate(nextProps: IVector2LineComponentProps, nextState: {
|
|
2350
|
+
isExpanded: boolean;
|
|
2351
|
+
value: BABYLON.Vector2;
|
|
2352
|
+
}): boolean;
|
|
2353
|
+
switchExpandState(): void;
|
|
2354
|
+
raiseOnPropertyChanged(previousValue: BABYLON.Vector2): void;
|
|
2355
|
+
updateStateX(value: number): void;
|
|
2356
|
+
updateStateY(value: number): void;
|
|
2357
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2358
|
+
}
|
|
2359
|
+
|
|
2360
|
+
|
|
2361
|
+
|
|
2362
|
+
}
|
|
2363
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2364
|
+
|
|
2365
|
+
|
|
2366
|
+
}
|
|
2367
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2368
|
+
interface IValueLineComponentProps {
|
|
2369
|
+
label: string;
|
|
2370
|
+
value: number;
|
|
2371
|
+
color?: string;
|
|
2372
|
+
fractionDigits?: number;
|
|
2373
|
+
units?: string;
|
|
2374
|
+
icon?: string;
|
|
2375
|
+
iconLabel?: string;
|
|
2376
|
+
}
|
|
2377
|
+
export class ValueLineComponent extends React.Component<IValueLineComponentProps> {
|
|
2378
|
+
constructor(props: IValueLineComponentProps);
|
|
2379
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2380
|
+
}
|
|
2381
|
+
|
|
2382
|
+
|
|
2383
|
+
|
|
2384
|
+
}
|
|
2385
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2386
|
+
|
|
2387
|
+
|
|
2388
|
+
}
|
|
2389
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2390
|
+
interface IUnitButtonProps {
|
|
2391
|
+
unit: string;
|
|
2392
|
+
locked?: boolean;
|
|
2393
|
+
onClick?: (unit: string) => void;
|
|
2394
|
+
}
|
|
2395
|
+
export function UnitButton(props: IUnitButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
2396
|
+
|
|
2397
|
+
|
|
2398
|
+
|
|
2399
|
+
}
|
|
2400
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2401
|
+
|
|
2402
|
+
|
|
2403
|
+
}
|
|
2404
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2405
|
+
interface ITextureButtonLineProps {
|
|
2406
|
+
label: string;
|
|
2407
|
+
scene: BABYLON.Scene;
|
|
2408
|
+
onClick: (file: File) => void;
|
|
2409
|
+
onLink: (texture: BABYLON.BaseTexture) => void;
|
|
2410
|
+
accept: string;
|
|
2411
|
+
}
|
|
2412
|
+
interface ITextureButtonLineState {
|
|
2413
|
+
isOpen: boolean;
|
|
2414
|
+
}
|
|
2415
|
+
export class TextureButtonLine extends React.Component<ITextureButtonLineProps, ITextureButtonLineState> {
|
|
2416
|
+
private static _IdGenerator;
|
|
2417
|
+
private _id;
|
|
2418
|
+
private _uploadInputRef;
|
|
2419
|
+
constructor(props: ITextureButtonLineProps);
|
|
2420
|
+
onChange(evt: any): void;
|
|
2421
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2422
|
+
}
|
|
2423
|
+
|
|
2424
|
+
|
|
2425
|
+
|
|
2426
|
+
}
|
|
2427
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2428
|
+
|
|
2429
|
+
|
|
2430
|
+
}
|
|
2431
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2432
|
+
interface ITextLineComponentProps {
|
|
2433
|
+
label?: string;
|
|
2434
|
+
value?: string;
|
|
2435
|
+
color?: string;
|
|
2436
|
+
underline?: boolean;
|
|
2437
|
+
onLink?: () => void;
|
|
2438
|
+
url?: string;
|
|
2439
|
+
ignoreValue?: boolean;
|
|
2440
|
+
additionalClass?: string;
|
|
2441
|
+
icon?: string;
|
|
2442
|
+
iconLabel?: string;
|
|
2443
|
+
tooltip?: string;
|
|
2444
|
+
onCopy?: true | (() => string);
|
|
2445
|
+
}
|
|
2446
|
+
export class TextLineComponent extends React.Component<ITextLineComponentProps> {
|
|
2447
|
+
constructor(props: ITextLineComponentProps);
|
|
2448
|
+
onLink(): void;
|
|
2449
|
+
renderContent(): import("react/jsx-runtime").JSX.Element | null;
|
|
2450
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2451
|
+
}
|
|
2452
|
+
|
|
2453
|
+
|
|
2454
|
+
|
|
2455
|
+
}
|
|
2456
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2457
|
+
|
|
2458
|
+
|
|
2459
|
+
}
|
|
2460
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2461
|
+
export interface ITextInputLineComponentProps {
|
|
2462
|
+
label?: string;
|
|
2463
|
+
lockObject?: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
2464
|
+
target?: any;
|
|
2465
|
+
propertyName?: string;
|
|
2466
|
+
value?: string;
|
|
2467
|
+
onChange?: (value: string) => void;
|
|
2468
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
2469
|
+
icon?: string;
|
|
2470
|
+
iconLabel?: string;
|
|
2471
|
+
noUnderline?: boolean;
|
|
2472
|
+
numbersOnly?: boolean;
|
|
2473
|
+
delayInput?: boolean;
|
|
2474
|
+
arrows?: boolean;
|
|
2475
|
+
arrowsIncrement?: (amount: number) => void;
|
|
2476
|
+
step?: number;
|
|
2477
|
+
numeric?: boolean;
|
|
2478
|
+
roundValues?: boolean;
|
|
2479
|
+
min?: number;
|
|
2480
|
+
max?: number;
|
|
2481
|
+
placeholder?: string;
|
|
2482
|
+
unit?: React.ReactNode;
|
|
2483
|
+
validator?: (value: string) => boolean;
|
|
2484
|
+
multilines?: boolean;
|
|
2485
|
+
throttlePropertyChangedNotification?: boolean;
|
|
2486
|
+
throttlePropertyChangedNotificationDelay?: number;
|
|
2487
|
+
disabled?: boolean;
|
|
2488
|
+
}
|
|
2489
|
+
export class TextInputLineComponent extends React.Component<ITextInputLineComponentProps, {
|
|
2490
|
+
value: string;
|
|
2491
|
+
dragging: boolean;
|
|
2492
|
+
}> {
|
|
2493
|
+
private _localChange;
|
|
2494
|
+
constructor(props: ITextInputLineComponentProps);
|
|
2495
|
+
componentWillUnmount(): void;
|
|
2496
|
+
shouldComponentUpdate(nextProps: ITextInputLineComponentProps, nextState: {
|
|
2497
|
+
value: string;
|
|
2498
|
+
dragging: boolean;
|
|
2499
|
+
}): boolean;
|
|
2500
|
+
raiseOnPropertyChanged(newValue: string, previousValue: string): void;
|
|
2501
|
+
getCurrentNumericValue(value: string): number;
|
|
2502
|
+
updateValue(value: string, valueToValidate?: string): void;
|
|
2503
|
+
incrementValue(amount: number): void;
|
|
2504
|
+
onKeyDown(event: React.KeyboardEvent): void;
|
|
2505
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2506
|
+
}
|
|
2507
|
+
|
|
2508
|
+
|
|
2509
|
+
|
|
2510
|
+
}
|
|
2511
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2512
|
+
|
|
2513
|
+
|
|
2514
|
+
}
|
|
2515
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2516
|
+
export const conflictingValuesPlaceholder = "\u2014";
|
|
2517
|
+
/**
|
|
2518
|
+
*
|
|
2519
|
+
* @param targets a list of selected targets
|
|
2520
|
+
* @param onPropertyChangedObservable
|
|
2521
|
+
* @param getProperty
|
|
2522
|
+
* @returns a proxy object that can be passed as a target into the input
|
|
2523
|
+
*/
|
|
2524
|
+
export function makeTargetsProxy<Type>(targets: Type[], onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>, getProperty?: (target: Type, property: keyof Type) => any): any;
|
|
2525
|
+
|
|
2526
|
+
|
|
2527
|
+
|
|
2528
|
+
}
|
|
2529
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2530
|
+
|
|
2531
|
+
|
|
2532
|
+
}
|
|
2533
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2534
|
+
interface ISliderLineComponentProps {
|
|
2535
|
+
label: string;
|
|
2536
|
+
target?: any;
|
|
2537
|
+
propertyName?: string;
|
|
2538
|
+
minimum: number;
|
|
2539
|
+
maximum: number;
|
|
2540
|
+
step: number;
|
|
2541
|
+
directValue?: number;
|
|
2542
|
+
useEuler?: boolean;
|
|
2543
|
+
onChange?: (value: number) => void;
|
|
2544
|
+
onInput?: (value: number) => void;
|
|
2545
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
2546
|
+
decimalCount?: number;
|
|
2547
|
+
margin?: boolean;
|
|
2548
|
+
icon?: string;
|
|
2549
|
+
iconLabel?: string;
|
|
2550
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
2551
|
+
unit?: React.ReactNode;
|
|
2552
|
+
allowOverflow?: boolean;
|
|
2553
|
+
}
|
|
2554
|
+
export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
|
|
2555
|
+
value: number;
|
|
2556
|
+
}> {
|
|
2557
|
+
private _localChange;
|
|
2558
|
+
constructor(props: ISliderLineComponentProps);
|
|
2559
|
+
shouldComponentUpdate(nextProps: ISliderLineComponentProps, nextState: {
|
|
2560
|
+
value: number;
|
|
2561
|
+
}): boolean;
|
|
2562
|
+
onChange(newValueString: any): void;
|
|
2563
|
+
onInput(newValueString: any): void;
|
|
2564
|
+
prepareDataToRead(value: number): number;
|
|
2565
|
+
onCopyClick(): void;
|
|
2566
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2567
|
+
}
|
|
2568
|
+
|
|
2569
|
+
|
|
2570
|
+
|
|
2571
|
+
}
|
|
2572
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2573
|
+
|
|
2574
|
+
|
|
2575
|
+
}
|
|
2576
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2577
|
+
interface IRadioButtonLineComponentProps {
|
|
2578
|
+
onSelectionChangedObservable: BABYLON.Observable<RadioButtonLineComponent>;
|
|
2579
|
+
label: string;
|
|
2580
|
+
isSelected: () => boolean;
|
|
2581
|
+
onSelect: () => void;
|
|
2582
|
+
icon?: string;
|
|
2583
|
+
iconLabel?: string;
|
|
2584
|
+
}
|
|
2585
|
+
export class RadioButtonLineComponent extends React.Component<IRadioButtonLineComponentProps, {
|
|
2586
|
+
isSelected: boolean;
|
|
2587
|
+
}> {
|
|
2588
|
+
private _onSelectionChangedObserver;
|
|
2589
|
+
constructor(props: IRadioButtonLineComponentProps);
|
|
2590
|
+
componentDidMount(): void;
|
|
2591
|
+
componentWillUnmount(): void;
|
|
2592
|
+
onChange(): void;
|
|
2593
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2594
|
+
}
|
|
2595
|
+
|
|
2596
|
+
|
|
2597
|
+
|
|
2598
|
+
}
|
|
2599
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2600
|
+
|
|
2601
|
+
|
|
2602
|
+
}
|
|
2603
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2604
|
+
export var Null_Value: number;
|
|
2605
|
+
export interface IOptionsLineProps {
|
|
2606
|
+
label: string;
|
|
2607
|
+
target: any;
|
|
2608
|
+
propertyName: string;
|
|
2609
|
+
options: BABYLON.IInspectableOptions[];
|
|
2610
|
+
noDirectUpdate?: boolean;
|
|
2611
|
+
onSelect?: (value: number | string) => void;
|
|
2612
|
+
extractValue?: (target: any) => number | string;
|
|
2613
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
2614
|
+
allowNullValue?: boolean;
|
|
2615
|
+
icon?: string;
|
|
2616
|
+
iconLabel?: string;
|
|
2617
|
+
className?: string;
|
|
2618
|
+
valuesAreStrings?: boolean;
|
|
2619
|
+
defaultIfNull?: number;
|
|
2620
|
+
}
|
|
2621
|
+
export class OptionsLine extends React.Component<IOptionsLineProps, {
|
|
2622
|
+
value: number | string;
|
|
2623
|
+
}> {
|
|
2624
|
+
private _localChange;
|
|
2625
|
+
private _remapValueIn;
|
|
2626
|
+
private _remapValueOut;
|
|
2627
|
+
private _getValue;
|
|
2628
|
+
constructor(props: IOptionsLineProps);
|
|
2629
|
+
shouldComponentUpdate(nextProps: IOptionsLineProps, nextState: {
|
|
2630
|
+
value: number;
|
|
2631
|
+
}): boolean;
|
|
2632
|
+
raiseOnPropertyChanged(newValue: number, previousValue: number): void;
|
|
2633
|
+
setValue(value: string | number): void;
|
|
2634
|
+
updateValue(valueString: string): void;
|
|
2635
|
+
onCopyClick(): void;
|
|
2636
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2637
|
+
}
|
|
2638
|
+
|
|
2639
|
+
|
|
2640
|
+
|
|
2641
|
+
}
|
|
2642
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2643
|
+
|
|
2644
|
+
|
|
2645
|
+
}
|
|
2646
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2647
|
+
interface INumericInputProps {
|
|
2648
|
+
label: string;
|
|
2649
|
+
labelTooltip?: string;
|
|
2650
|
+
value: number;
|
|
2651
|
+
step?: number;
|
|
2652
|
+
onChange: (value: number) => void;
|
|
2653
|
+
precision?: number;
|
|
2654
|
+
icon?: string;
|
|
2655
|
+
iconLabel?: string;
|
|
2656
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
2657
|
+
}
|
|
2658
|
+
export class NumericInput extends React.Component<INumericInputProps, {
|
|
2659
|
+
value: string;
|
|
2660
|
+
}> {
|
|
2661
|
+
static defaultProps: {
|
|
2662
|
+
step: number;
|
|
2663
|
+
};
|
|
2664
|
+
private _localChange;
|
|
2665
|
+
constructor(props: INumericInputProps);
|
|
2666
|
+
componentWillUnmount(): void;
|
|
2667
|
+
shouldComponentUpdate(nextProps: INumericInputProps, nextState: {
|
|
2668
|
+
value: string;
|
|
2669
|
+
}): boolean;
|
|
2670
|
+
updateValue(valueString: string): void;
|
|
2671
|
+
onBlur(): void;
|
|
2672
|
+
incrementValue(amount: number): void;
|
|
2673
|
+
onKeyDown(evt: React.KeyboardEvent<HTMLInputElement>): void;
|
|
2674
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2675
|
+
}
|
|
2676
|
+
|
|
2677
|
+
|
|
2678
|
+
|
|
2679
|
+
}
|
|
2680
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2681
|
+
|
|
2682
|
+
|
|
2683
|
+
}
|
|
2684
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2685
|
+
interface IMessageLineComponentProps {
|
|
2686
|
+
text: string;
|
|
2687
|
+
color?: string;
|
|
2688
|
+
icon?: any;
|
|
2689
|
+
}
|
|
2690
|
+
export class MessageLineComponent extends React.Component<IMessageLineComponentProps> {
|
|
2691
|
+
constructor(props: IMessageLineComponentProps);
|
|
2692
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2693
|
+
}
|
|
2694
|
+
|
|
2695
|
+
|
|
2696
|
+
|
|
2697
|
+
}
|
|
2698
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2699
|
+
|
|
2700
|
+
|
|
2701
|
+
}
|
|
2702
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2703
|
+
interface IMatrixLineComponentProps {
|
|
2704
|
+
label: string;
|
|
2705
|
+
target: any;
|
|
2706
|
+
propertyName: string;
|
|
2707
|
+
step?: number;
|
|
2708
|
+
onChange?: (newValue: BABYLON.Matrix) => void;
|
|
2709
|
+
onModeChange?: (mode: number) => void;
|
|
2710
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
2711
|
+
mode?: number;
|
|
2712
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
2713
|
+
}
|
|
2714
|
+
export class MatrixLineComponent extends React.Component<IMatrixLineComponentProps, {
|
|
2715
|
+
value: BABYLON.Matrix;
|
|
2716
|
+
mode: number;
|
|
2717
|
+
angle: number;
|
|
2718
|
+
}> {
|
|
2719
|
+
private _localChange;
|
|
2720
|
+
constructor(props: IMatrixLineComponentProps);
|
|
2721
|
+
shouldComponentUpdate(nextProps: IMatrixLineComponentProps, nextState: {
|
|
2722
|
+
value: BABYLON.Matrix;
|
|
2723
|
+
mode: number;
|
|
2724
|
+
angle: number;
|
|
2725
|
+
}): boolean;
|
|
2726
|
+
raiseOnPropertyChanged(previousValue: BABYLON.Vector3): void;
|
|
2727
|
+
updateMatrix(): void;
|
|
2728
|
+
updateRow(value: BABYLON.Vector4, row: number): void;
|
|
2729
|
+
updateBasedOnMode(value: number): void;
|
|
2730
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2731
|
+
}
|
|
2732
|
+
|
|
2733
|
+
|
|
2734
|
+
|
|
2735
|
+
}
|
|
2736
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2737
|
+
|
|
2738
|
+
|
|
2739
|
+
}
|
|
2740
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2741
|
+
interface ILinkButtonComponentProps {
|
|
2742
|
+
label: string;
|
|
2743
|
+
buttonLabel: string;
|
|
2744
|
+
url?: string;
|
|
2745
|
+
onClick: () => void;
|
|
2746
|
+
icon?: any;
|
|
2747
|
+
onIconClick?: () => void;
|
|
2748
|
+
}
|
|
2749
|
+
export class LinkButtonComponent extends React.Component<ILinkButtonComponentProps> {
|
|
2750
|
+
constructor(props: ILinkButtonComponentProps);
|
|
2751
|
+
onLink(): void;
|
|
2752
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2753
|
+
}
|
|
2754
|
+
|
|
2755
|
+
|
|
2756
|
+
|
|
2757
|
+
}
|
|
2758
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2759
|
+
|
|
2760
|
+
|
|
2761
|
+
}
|
|
2762
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2763
|
+
interface ILineWithFileButtonComponentProps {
|
|
2764
|
+
title: string;
|
|
2765
|
+
closed?: boolean;
|
|
2766
|
+
multiple?: boolean;
|
|
2767
|
+
label: string;
|
|
2768
|
+
iconImage: any;
|
|
2769
|
+
onIconClick: (file: File) => void;
|
|
2770
|
+
accept: string;
|
|
2771
|
+
uploadName?: string;
|
|
2772
|
+
}
|
|
2773
|
+
export class LineWithFileButtonComponent extends React.Component<ILineWithFileButtonComponentProps, {
|
|
2774
|
+
isExpanded: boolean;
|
|
2775
|
+
}> {
|
|
2776
|
+
private _uploadRef;
|
|
2777
|
+
constructor(props: ILineWithFileButtonComponentProps);
|
|
2778
|
+
onChange(evt: any): void;
|
|
2779
|
+
switchExpandedState(): void;
|
|
2780
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2781
|
+
}
|
|
2782
|
+
|
|
2783
|
+
|
|
2784
|
+
|
|
2785
|
+
}
|
|
2786
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2787
|
+
|
|
2788
|
+
|
|
2789
|
+
}
|
|
2790
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2791
|
+
interface ILineContainerComponentProps {
|
|
2792
|
+
selection?: BABYLON.NodeParticleEditor.SharedUIComponents.ISelectedLineContainer;
|
|
2793
|
+
title: string;
|
|
2794
|
+
children: any[] | any;
|
|
2795
|
+
closed?: boolean;
|
|
2796
|
+
}
|
|
2797
|
+
export class LineContainerComponent extends React.Component<ILineContainerComponentProps, {
|
|
2798
|
+
isExpanded: boolean;
|
|
2799
|
+
isHighlighted: boolean;
|
|
2800
|
+
}> {
|
|
2801
|
+
constructor(props: ILineContainerComponentProps);
|
|
2802
|
+
switchExpandedState(): void;
|
|
2803
|
+
renderHeader(): import("react/jsx-runtime").JSX.Element;
|
|
2804
|
+
componentDidMount(): void;
|
|
2805
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2806
|
+
}
|
|
2807
|
+
|
|
2808
|
+
|
|
2809
|
+
|
|
2810
|
+
}
|
|
2811
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2812
|
+
|
|
2813
|
+
|
|
2814
|
+
}
|
|
2815
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2816
|
+
interface IInputArrowsComponentProps {
|
|
2817
|
+
incrementValue: (amount: number) => void;
|
|
2818
|
+
setDragging: (dragging: boolean) => void;
|
|
2819
|
+
}
|
|
2820
|
+
export class InputArrowsComponent extends React.Component<IInputArrowsComponentProps> {
|
|
2821
|
+
private _arrowsRef;
|
|
2822
|
+
private _drag;
|
|
2823
|
+
private _releaseListener;
|
|
2824
|
+
private _lockChangeListener;
|
|
2825
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2826
|
+
}
|
|
2827
|
+
|
|
2828
|
+
|
|
2829
|
+
|
|
2830
|
+
}
|
|
2831
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2832
|
+
|
|
2833
|
+
|
|
2834
|
+
}
|
|
2835
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2836
|
+
interface IIndentedTextLineComponentProps {
|
|
2837
|
+
value?: string;
|
|
2838
|
+
color?: string;
|
|
2839
|
+
underline?: boolean;
|
|
2840
|
+
onLink?: () => void;
|
|
2841
|
+
url?: string;
|
|
2842
|
+
additionalClass?: string;
|
|
2843
|
+
}
|
|
2844
|
+
export class IndentedTextLineComponent extends React.Component<IIndentedTextLineComponentProps> {
|
|
2845
|
+
constructor(props: IIndentedTextLineComponentProps);
|
|
2846
|
+
onLink(): void;
|
|
2847
|
+
renderContent(): import("react/jsx-runtime").JSX.Element;
|
|
2848
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2849
|
+
}
|
|
2850
|
+
|
|
2851
|
+
|
|
2852
|
+
|
|
2853
|
+
}
|
|
2854
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2855
|
+
|
|
2856
|
+
|
|
2857
|
+
}
|
|
2858
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2859
|
+
interface IIconComponentProps {
|
|
2860
|
+
icon: string;
|
|
2861
|
+
label?: string;
|
|
2862
|
+
}
|
|
2863
|
+
export class IconComponent extends React.Component<IIconComponentProps> {
|
|
2864
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2865
|
+
}
|
|
2866
|
+
|
|
2867
|
+
|
|
2868
|
+
|
|
2869
|
+
}
|
|
2870
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2871
|
+
|
|
2872
|
+
|
|
2873
|
+
}
|
|
2874
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2875
|
+
export interface IIconButtonLineComponentProps {
|
|
2876
|
+
icon: string;
|
|
2877
|
+
onClick: () => void;
|
|
2878
|
+
tooltip: string;
|
|
2879
|
+
active?: boolean;
|
|
2880
|
+
}
|
|
2881
|
+
export class IconButtonLineComponent extends React.Component<IIconButtonLineComponentProps> {
|
|
2882
|
+
constructor(props: IIconButtonLineComponentProps);
|
|
2883
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2884
|
+
}
|
|
2885
|
+
|
|
2886
|
+
|
|
2887
|
+
|
|
2888
|
+
}
|
|
2889
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2890
|
+
|
|
2891
|
+
|
|
2892
|
+
}
|
|
2893
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2894
|
+
export interface ISelectedLineContainer {
|
|
2895
|
+
selectedLineContainerTitles: Array<string>;
|
|
2896
|
+
selectedLineContainerTitlesNoFocus: Array<string>;
|
|
2897
|
+
}
|
|
2898
|
+
|
|
2899
|
+
|
|
2900
|
+
|
|
2901
|
+
}
|
|
2902
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2903
|
+
|
|
2904
|
+
|
|
2905
|
+
}
|
|
2906
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2907
|
+
interface IHexLineComponentProps {
|
|
2908
|
+
label: string;
|
|
2909
|
+
target: any;
|
|
2910
|
+
propertyName: string;
|
|
2911
|
+
lockObject?: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
2912
|
+
onChange?: (newValue: number) => void;
|
|
2913
|
+
isInteger?: boolean;
|
|
2914
|
+
replaySourceReplacement?: string;
|
|
2915
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
2916
|
+
additionalClass?: string;
|
|
2917
|
+
step?: string;
|
|
2918
|
+
digits?: number;
|
|
2919
|
+
useEuler?: boolean;
|
|
2920
|
+
min?: number;
|
|
2921
|
+
icon?: string;
|
|
2922
|
+
iconLabel?: string;
|
|
2923
|
+
}
|
|
2924
|
+
export class HexLineComponent extends React.Component<IHexLineComponentProps, {
|
|
2925
|
+
value: string;
|
|
2926
|
+
}> {
|
|
2927
|
+
private _localChange;
|
|
2928
|
+
private _store;
|
|
2929
|
+
private _propertyChange;
|
|
2930
|
+
constructor(props: IHexLineComponentProps);
|
|
2931
|
+
componentWillUnmount(): void;
|
|
2932
|
+
shouldComponentUpdate(nextProps: IHexLineComponentProps, nextState: {
|
|
2933
|
+
value: string;
|
|
2934
|
+
}): boolean;
|
|
2935
|
+
raiseOnPropertyChanged(newValue: number, previousValue: number): void;
|
|
2936
|
+
convertToHexString(valueString: string): string;
|
|
2937
|
+
updateValue(valueString: string, raisePropertyChanged: boolean): void;
|
|
2938
|
+
lock(): void;
|
|
2939
|
+
unlock(): void;
|
|
2940
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2941
|
+
}
|
|
2942
|
+
|
|
2943
|
+
|
|
2944
|
+
|
|
2945
|
+
}
|
|
2946
|
+
declare module BABYLON.NodeParticleEditor {
|
|
2947
|
+
|
|
2948
|
+
|
|
2949
|
+
}
|
|
2950
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
2951
|
+
interface IFloatLineComponentProps {
|
|
2952
|
+
label: string;
|
|
2953
|
+
target: any;
|
|
2954
|
+
propertyName: string;
|
|
2955
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
2956
|
+
onChange?: (newValue: number) => void;
|
|
2957
|
+
isInteger?: boolean;
|
|
2958
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
2959
|
+
additionalClass?: string;
|
|
2960
|
+
step?: string;
|
|
2961
|
+
digits?: number;
|
|
2962
|
+
useEuler?: boolean;
|
|
2963
|
+
min?: number;
|
|
2964
|
+
max?: number;
|
|
2965
|
+
smallUI?: boolean;
|
|
2966
|
+
onEnter?: (newValue: number) => void;
|
|
2967
|
+
icon?: string;
|
|
2968
|
+
iconLabel?: string;
|
|
2969
|
+
defaultValue?: number;
|
|
2970
|
+
arrows?: boolean;
|
|
2971
|
+
unit?: React.ReactNode;
|
|
2972
|
+
onDragStart?: (newValue: number) => void;
|
|
2973
|
+
onDragStop?: (newValue: number) => void;
|
|
2974
|
+
disabled?: boolean;
|
|
2975
|
+
}
|
|
2976
|
+
export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
|
|
2977
|
+
value: string;
|
|
2978
|
+
dragging: boolean;
|
|
2979
|
+
}> {
|
|
2980
|
+
private _localChange;
|
|
2981
|
+
private _store;
|
|
2982
|
+
constructor(props: IFloatLineComponentProps);
|
|
2983
|
+
componentWillUnmount(): void;
|
|
2984
|
+
getValueString(value: any, props: IFloatLineComponentProps): string;
|
|
2985
|
+
shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
|
|
2986
|
+
value: string;
|
|
2987
|
+
dragging: boolean;
|
|
2988
|
+
}): boolean;
|
|
2989
|
+
raiseOnPropertyChanged(newValue: number, previousValue: number): void;
|
|
2990
|
+
updateValue(valueString: string): void;
|
|
2991
|
+
lock(): void;
|
|
2992
|
+
unlock(): void;
|
|
2993
|
+
incrementValue(amount: number, processStep?: boolean): void;
|
|
2994
|
+
onKeyDown(event: React.KeyboardEvent<HTMLInputElement>): void;
|
|
2995
|
+
onCopyClick(): void;
|
|
2996
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
2997
|
+
}
|
|
2998
|
+
|
|
2999
|
+
|
|
3000
|
+
|
|
3001
|
+
}
|
|
3002
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3003
|
+
|
|
3004
|
+
|
|
3005
|
+
}
|
|
3006
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3007
|
+
interface IFileMultipleButtonLineComponentProps {
|
|
3008
|
+
label: string;
|
|
3009
|
+
onClick: (event: any) => void;
|
|
3010
|
+
accept: string;
|
|
3011
|
+
icon?: string;
|
|
3012
|
+
iconLabel?: string;
|
|
3013
|
+
}
|
|
3014
|
+
export class FileMultipleButtonLineComponent extends React.Component<IFileMultipleButtonLineComponentProps> {
|
|
3015
|
+
private static _IdGenerator;
|
|
3016
|
+
private _id;
|
|
3017
|
+
private _uploadInputRef;
|
|
3018
|
+
constructor(props: IFileMultipleButtonLineComponentProps);
|
|
3019
|
+
onChange(evt: any): void;
|
|
3020
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
3021
|
+
}
|
|
3022
|
+
|
|
3023
|
+
|
|
3024
|
+
|
|
3025
|
+
}
|
|
3026
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3027
|
+
|
|
3028
|
+
|
|
3029
|
+
}
|
|
3030
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3031
|
+
interface IFileButtonLineProps {
|
|
3032
|
+
label: string;
|
|
3033
|
+
onClick: (file: File) => void;
|
|
3034
|
+
accept: string;
|
|
3035
|
+
icon?: string;
|
|
3036
|
+
iconLabel?: string;
|
|
3037
|
+
}
|
|
3038
|
+
export class FileButtonLine extends React.Component<IFileButtonLineProps> {
|
|
3039
|
+
private static _IdGenerator;
|
|
3040
|
+
private _id;
|
|
3041
|
+
private _uploadInputRef;
|
|
3042
|
+
constructor(props: IFileButtonLineProps);
|
|
3043
|
+
onChange(evt: any): void;
|
|
3044
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
3045
|
+
}
|
|
3046
|
+
|
|
3047
|
+
|
|
3048
|
+
|
|
3049
|
+
}
|
|
3050
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3051
|
+
|
|
3052
|
+
|
|
3053
|
+
}
|
|
3054
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3055
|
+
export interface IDraggableLineWithButtonComponent {
|
|
3056
|
+
format: string;
|
|
3057
|
+
data: string;
|
|
3058
|
+
tooltip: string;
|
|
3059
|
+
iconImage: any;
|
|
3060
|
+
onIconClick: (value: string) => void;
|
|
3061
|
+
iconTitle: string;
|
|
3062
|
+
lenSuffixToRemove?: number;
|
|
3063
|
+
}
|
|
3064
|
+
export class DraggableLineWithButtonComponent extends React.Component<IDraggableLineWithButtonComponent> {
|
|
3065
|
+
constructor(props: IDraggableLineWithButtonComponent);
|
|
3066
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
3067
|
+
}
|
|
3068
|
+
|
|
3069
|
+
|
|
3070
|
+
|
|
3071
|
+
}
|
|
3072
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3073
|
+
|
|
3074
|
+
|
|
3075
|
+
}
|
|
3076
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3077
|
+
export interface IButtonLineComponentProps {
|
|
3078
|
+
format: string;
|
|
3079
|
+
data: string;
|
|
3080
|
+
tooltip: string;
|
|
3081
|
+
}
|
|
3082
|
+
export class DraggableLineComponent extends React.Component<IButtonLineComponentProps> {
|
|
3083
|
+
constructor(props: IButtonLineComponentProps);
|
|
3084
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
3085
|
+
}
|
|
3086
|
+
|
|
3087
|
+
|
|
3088
|
+
|
|
3089
|
+
}
|
|
3090
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3091
|
+
|
|
3092
|
+
|
|
3093
|
+
}
|
|
3094
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3095
|
+
export interface IColorPickerLineProps {
|
|
3096
|
+
value: BABYLON.Color4 | BABYLON.Color3;
|
|
3097
|
+
linearHint?: boolean;
|
|
3098
|
+
onColorChanged: (newOne: string) => void;
|
|
3099
|
+
icon?: string;
|
|
3100
|
+
iconLabel?: string;
|
|
3101
|
+
shouldPopRight?: boolean;
|
|
3102
|
+
lockObject?: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
3103
|
+
}
|
|
3104
|
+
interface IColorPickerComponentState {
|
|
3105
|
+
pickerEnabled: boolean;
|
|
3106
|
+
color: BABYLON.Color3 | BABYLON.Color4;
|
|
3107
|
+
hex: string;
|
|
3108
|
+
}
|
|
3109
|
+
export class ColorPickerLine extends React.Component<IColorPickerLineProps, IColorPickerComponentState> {
|
|
3110
|
+
private _floatRef;
|
|
3111
|
+
private _floatHostRef;
|
|
3112
|
+
constructor(props: IColorPickerLineProps);
|
|
3113
|
+
syncPositions(): void;
|
|
3114
|
+
shouldComponentUpdate(nextProps: IColorPickerLineProps, nextState: IColorPickerComponentState): boolean;
|
|
3115
|
+
getHexString(props?: Readonly<IColorPickerLineProps>): string;
|
|
3116
|
+
componentDidUpdate(): void;
|
|
3117
|
+
componentDidMount(): void;
|
|
3118
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
3119
|
+
}
|
|
3120
|
+
|
|
3121
|
+
|
|
3122
|
+
|
|
3123
|
+
}
|
|
3124
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3125
|
+
|
|
3126
|
+
|
|
3127
|
+
}
|
|
3128
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3129
|
+
export interface IColorLineProps {
|
|
3130
|
+
label: string;
|
|
3131
|
+
target?: any;
|
|
3132
|
+
propertyName: string;
|
|
3133
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
3134
|
+
onChange?: () => void;
|
|
3135
|
+
isLinear?: boolean;
|
|
3136
|
+
icon?: string;
|
|
3137
|
+
iconLabel?: string;
|
|
3138
|
+
disableAlpha?: boolean;
|
|
3139
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
3140
|
+
}
|
|
3141
|
+
interface IColorLineComponentState {
|
|
3142
|
+
isExpanded: boolean;
|
|
3143
|
+
color: BABYLON.Color4;
|
|
3144
|
+
}
|
|
3145
|
+
export class ColorLine extends React.Component<IColorLineProps, IColorLineComponentState> {
|
|
3146
|
+
constructor(props: IColorLineProps);
|
|
3147
|
+
shouldComponentUpdate(nextProps: IColorLineProps, nextState: IColorLineComponentState): boolean;
|
|
3148
|
+
getValue(props?: Readonly<IColorLineProps>): BABYLON.Color4;
|
|
3149
|
+
setColorFromString(colorString: string): void;
|
|
3150
|
+
setColor(newColor: BABYLON.Color4): void;
|
|
3151
|
+
switchExpandState(): void;
|
|
3152
|
+
updateStateR(value: number): void;
|
|
3153
|
+
updateStateG(value: number): void;
|
|
3154
|
+
updateStateB(value: number): void;
|
|
3155
|
+
updateStateA(value: number): void;
|
|
3156
|
+
private _convertToColor;
|
|
3157
|
+
private _toColor3;
|
|
3158
|
+
onCopyClick(): void;
|
|
3159
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
3160
|
+
}
|
|
3161
|
+
|
|
3162
|
+
|
|
3163
|
+
|
|
3164
|
+
}
|
|
3165
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3166
|
+
|
|
3167
|
+
|
|
3168
|
+
}
|
|
3169
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3170
|
+
export interface IColor4LineComponentProps {
|
|
3171
|
+
label: string;
|
|
3172
|
+
target?: any;
|
|
3173
|
+
propertyName: string;
|
|
3174
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
3175
|
+
onChange?: () => void;
|
|
3176
|
+
isLinear?: boolean;
|
|
3177
|
+
icon?: string;
|
|
3178
|
+
iconLabel?: string;
|
|
3179
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
3180
|
+
}
|
|
3181
|
+
export class Color4LineComponent extends React.Component<IColor4LineComponentProps> {
|
|
3182
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
3183
|
+
}
|
|
3184
|
+
|
|
3185
|
+
|
|
3186
|
+
|
|
3187
|
+
}
|
|
3188
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3189
|
+
|
|
3190
|
+
|
|
3191
|
+
}
|
|
3192
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3193
|
+
export interface IColor3LineComponentProps {
|
|
3194
|
+
label: string;
|
|
3195
|
+
target: any;
|
|
3196
|
+
propertyName: string;
|
|
3197
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
3198
|
+
isLinear?: boolean;
|
|
3199
|
+
icon?: string;
|
|
3200
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
3201
|
+
iconLabel?: string;
|
|
3202
|
+
onChange?: () => void;
|
|
3203
|
+
}
|
|
3204
|
+
export class Color3LineComponent extends React.Component<IColor3LineComponentProps> {
|
|
3205
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
3206
|
+
}
|
|
3207
|
+
|
|
3208
|
+
|
|
3209
|
+
|
|
3210
|
+
}
|
|
3211
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3212
|
+
|
|
3213
|
+
|
|
3214
|
+
}
|
|
3215
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3216
|
+
export interface ICheckBoxLineComponentProps {
|
|
3217
|
+
label?: string;
|
|
3218
|
+
target?: any;
|
|
3219
|
+
propertyName?: string;
|
|
3220
|
+
isSelected?: boolean | (() => boolean);
|
|
3221
|
+
onSelect?: (value: boolean) => void;
|
|
3222
|
+
onValueChanged?: () => void;
|
|
3223
|
+
onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
3224
|
+
disabled?: boolean;
|
|
3225
|
+
icon?: string;
|
|
3226
|
+
iconLabel?: string;
|
|
3227
|
+
faIcons?: {
|
|
3228
|
+
enabled: any;
|
|
3229
|
+
disabled: any;
|
|
3230
|
+
};
|
|
3231
|
+
large?: boolean;
|
|
3232
|
+
}
|
|
3233
|
+
export class CheckBoxLineComponent extends React.Component<ICheckBoxLineComponentProps, {
|
|
3234
|
+
isSelected: boolean;
|
|
3235
|
+
isDisabled?: boolean;
|
|
3236
|
+
isConflict: boolean;
|
|
3237
|
+
}> {
|
|
3238
|
+
private _localChange;
|
|
3239
|
+
constructor(props: ICheckBoxLineComponentProps);
|
|
3240
|
+
shouldComponentUpdate(nextProps: ICheckBoxLineComponentProps, nextState: {
|
|
3241
|
+
isSelected: boolean;
|
|
3242
|
+
isDisabled: boolean;
|
|
3243
|
+
isConflict: boolean;
|
|
3244
|
+
}): boolean;
|
|
3245
|
+
onChange(): void;
|
|
3246
|
+
onCopyClick(): void;
|
|
3247
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
3248
|
+
}
|
|
3249
|
+
|
|
3250
|
+
|
|
3251
|
+
|
|
3252
|
+
}
|
|
3253
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3254
|
+
|
|
3255
|
+
|
|
3256
|
+
}
|
|
3257
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3258
|
+
export interface IButtonLineComponentProps {
|
|
3259
|
+
label: string;
|
|
3260
|
+
onClick: () => void;
|
|
3261
|
+
icon?: string;
|
|
3262
|
+
iconLabel?: string;
|
|
3263
|
+
isDisabled?: boolean;
|
|
3264
|
+
}
|
|
3265
|
+
export class ButtonLineComponent extends React.Component<IButtonLineComponentProps> {
|
|
3266
|
+
constructor(props: IButtonLineComponentProps);
|
|
3267
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
3268
|
+
}
|
|
3269
|
+
|
|
3270
|
+
|
|
3271
|
+
|
|
3272
|
+
}
|
|
3273
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3274
|
+
|
|
3275
|
+
|
|
3276
|
+
}
|
|
3277
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3278
|
+
export interface IBooleanLineComponentProps {
|
|
3279
|
+
label: string;
|
|
3280
|
+
value: boolean;
|
|
3281
|
+
icon?: string;
|
|
3282
|
+
iconLabel?: string;
|
|
3283
|
+
}
|
|
3284
|
+
export class BooleanLineComponent extends React.Component<IBooleanLineComponentProps> {
|
|
3285
|
+
constructor(props: IBooleanLineComponentProps);
|
|
3286
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
3287
|
+
}
|
|
3288
|
+
|
|
3289
|
+
|
|
3290
|
+
|
|
3291
|
+
}
|
|
3292
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3293
|
+
|
|
3294
|
+
|
|
3295
|
+
}
|
|
3296
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3297
|
+
export function ClassNames(names: any, styleObject: any): string;
|
|
3298
|
+
export function JoinClassNames(styleObject: any, ...names: string[]): string;
|
|
3299
|
+
|
|
3300
|
+
|
|
3301
|
+
|
|
3302
|
+
}
|
|
3303
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3304
|
+
|
|
3305
|
+
|
|
3306
|
+
}
|
|
3307
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3308
|
+
export type ToggleProps = {
|
|
3309
|
+
toggled: "on" | "mixed" | "off";
|
|
3310
|
+
onToggle?: () => void;
|
|
3311
|
+
padded?: boolean;
|
|
3312
|
+
color?: "dark" | "light";
|
|
3313
|
+
};
|
|
3314
|
+
export var Toggle: React.FC<ToggleProps>;
|
|
3315
|
+
|
|
3316
|
+
|
|
3317
|
+
|
|
3318
|
+
}
|
|
3319
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3320
|
+
|
|
3321
|
+
|
|
3322
|
+
}
|
|
3323
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3324
|
+
export interface ITextInputProps {
|
|
3325
|
+
label?: string;
|
|
3326
|
+
placeholder?: string;
|
|
3327
|
+
submitValue: (newValue: string) => void;
|
|
3328
|
+
validateValue?: (value: string) => boolean;
|
|
3329
|
+
cancelSubmit?: () => void;
|
|
3330
|
+
}
|
|
3331
|
+
/**
|
|
3332
|
+
* This component represents a text input that can be submitted or cancelled on buttons
|
|
3333
|
+
* @param props properties
|
|
3334
|
+
* @returns TextInputWithSubmit element
|
|
3335
|
+
*/
|
|
3336
|
+
export const TextInputWithSubmit: (props: ITextInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
3337
|
+
|
|
3338
|
+
|
|
3339
|
+
|
|
3340
|
+
}
|
|
3341
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3342
|
+
|
|
3343
|
+
|
|
3344
|
+
}
|
|
3345
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3346
|
+
export interface MessageDialogProps {
|
|
3347
|
+
message: string;
|
|
3348
|
+
isError: boolean;
|
|
3349
|
+
onClose?: () => void;
|
|
3350
|
+
}
|
|
3351
|
+
export var MessageDialog: React.FC<MessageDialogProps>;
|
|
3352
|
+
|
|
3353
|
+
|
|
3354
|
+
|
|
3355
|
+
}
|
|
3356
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3357
|
+
|
|
3358
|
+
|
|
3359
|
+
}
|
|
3360
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3361
|
+
export type LabelProps = {
|
|
3362
|
+
text: string;
|
|
3363
|
+
children?: React.ReactChild;
|
|
3364
|
+
color?: "dark" | "light";
|
|
3365
|
+
};
|
|
3366
|
+
export var Label: React.FC<LabelProps>;
|
|
3367
|
+
|
|
3368
|
+
|
|
3369
|
+
|
|
3370
|
+
}
|
|
3371
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3372
|
+
|
|
3373
|
+
|
|
3374
|
+
}
|
|
3375
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3376
|
+
export type IconProps = {
|
|
3377
|
+
color?: "dark" | "light";
|
|
3378
|
+
icon: string;
|
|
3379
|
+
};
|
|
3380
|
+
export var Icon: React.FC<IconProps>;
|
|
3381
|
+
|
|
3382
|
+
|
|
3383
|
+
|
|
3384
|
+
}
|
|
3385
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3386
|
+
|
|
3387
|
+
|
|
3388
|
+
}
|
|
3389
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3390
|
+
export type ButtonProps = {
|
|
3391
|
+
disabled?: boolean;
|
|
3392
|
+
active?: boolean;
|
|
3393
|
+
onClick?: () => void;
|
|
3394
|
+
color: "light" | "dark";
|
|
3395
|
+
size: "default" | "small" | "wide" | "smaller";
|
|
3396
|
+
title?: string;
|
|
3397
|
+
backgroundColor?: string;
|
|
3398
|
+
};
|
|
3399
|
+
export var Button: React.FC<React.PropsWithChildren<ButtonProps>>;
|
|
3400
|
+
|
|
3401
|
+
|
|
3402
|
+
|
|
3403
|
+
}
|
|
3404
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3405
|
+
|
|
3406
|
+
|
|
3407
|
+
}
|
|
3408
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3409
|
+
/**
|
|
3410
|
+
* utility hook to assist using the graph context
|
|
3411
|
+
* @returns
|
|
3412
|
+
*/
|
|
3413
|
+
export const useGraphContext: () => IGraphContext;
|
|
3414
|
+
|
|
3415
|
+
|
|
3416
|
+
|
|
3417
|
+
}
|
|
3418
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3419
|
+
|
|
3420
|
+
|
|
3421
|
+
}
|
|
3422
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3423
|
+
export type IVisualRecordsType = Record<string, {
|
|
3424
|
+
x: number;
|
|
3425
|
+
y: number;
|
|
3426
|
+
}>;
|
|
3427
|
+
export type IConnectionType = {
|
|
3428
|
+
id: string;
|
|
3429
|
+
sourceId: string;
|
|
3430
|
+
targetId: string;
|
|
3431
|
+
};
|
|
3432
|
+
export type ICustomDataType = {
|
|
3433
|
+
type: string;
|
|
3434
|
+
value: any;
|
|
3435
|
+
};
|
|
3436
|
+
export type INodeType = {
|
|
3437
|
+
id: string;
|
|
3438
|
+
label: string;
|
|
3439
|
+
customData?: ICustomDataType;
|
|
3440
|
+
};
|
|
3441
|
+
/**
|
|
3442
|
+
* props for the node renderer
|
|
3443
|
+
*/
|
|
3444
|
+
export interface INodeRendererProps {
|
|
3445
|
+
/**
|
|
3446
|
+
* array of connections between nodes
|
|
3447
|
+
*/
|
|
3448
|
+
connections: IConnectionType[];
|
|
3449
|
+
/**
|
|
3450
|
+
* function called when a new connection is created
|
|
3451
|
+
*/
|
|
3452
|
+
updateConnections: (sourceId: string, targetId: string) => void;
|
|
3453
|
+
/**
|
|
3454
|
+
* function called when a connection is deleted
|
|
3455
|
+
*/
|
|
3456
|
+
deleteLine: (lineId: string) => void;
|
|
3457
|
+
/**
|
|
3458
|
+
* function called when a node is deleted
|
|
3459
|
+
*/
|
|
3460
|
+
deleteNode: (nodeId: string) => void;
|
|
3461
|
+
/**
|
|
3462
|
+
* array of all nodes
|
|
3463
|
+
*/
|
|
3464
|
+
nodes: INodeType[];
|
|
3465
|
+
/**
|
|
3466
|
+
* id of the node to highlight
|
|
3467
|
+
*/
|
|
3468
|
+
highlightedNode?: BABYLON.Nullable<string>;
|
|
3469
|
+
/**
|
|
3470
|
+
* function to be called if a node is selected
|
|
3471
|
+
*/
|
|
3472
|
+
selectNode?: (nodeId: BABYLON.Nullable<string>) => void;
|
|
3473
|
+
/**
|
|
3474
|
+
* id of this renderer
|
|
3475
|
+
*/
|
|
3476
|
+
id: string;
|
|
3477
|
+
/**
|
|
3478
|
+
* optional list of custom components to be rendered inside nodes of
|
|
3479
|
+
* a certain type
|
|
3480
|
+
*/
|
|
3481
|
+
customComponents?: Record<string, React.ComponentType<any>>;
|
|
3482
|
+
}
|
|
3483
|
+
/**
|
|
3484
|
+
* This component is a bridge between the app logic related to the graph, and the actual rendering
|
|
3485
|
+
* of it. It manages the nodes' positions and selection states.
|
|
3486
|
+
* @param props
|
|
3487
|
+
* @returns
|
|
3488
|
+
*/
|
|
3489
|
+
export const NodeRenderer: (props: React.PropsWithChildren<INodeRendererProps>) => import("react/jsx-runtime").JSX.Element;
|
|
3490
|
+
|
|
3491
|
+
|
|
3492
|
+
|
|
3493
|
+
}
|
|
3494
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3495
|
+
|
|
3496
|
+
|
|
3497
|
+
}
|
|
3498
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3499
|
+
export interface IGraphContainerProps {
|
|
3500
|
+
onNodeMoved: (id: string, x: number, y: number) => void;
|
|
3501
|
+
id: string;
|
|
3502
|
+
}
|
|
3503
|
+
/**
|
|
3504
|
+
* This component contains all the nodes and handles their dragging
|
|
3505
|
+
* @param props properties
|
|
3506
|
+
* @returns graph node container element
|
|
3507
|
+
*/
|
|
3508
|
+
export var GraphNodesContainer: React.FC<React.PropsWithChildren<IGraphContainerProps>>;
|
|
3509
|
+
|
|
3510
|
+
|
|
3511
|
+
|
|
3512
|
+
}
|
|
3513
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3514
|
+
|
|
3515
|
+
|
|
3516
|
+
}
|
|
3517
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3518
|
+
export interface IGraphNodeProps {
|
|
3519
|
+
id: string;
|
|
3520
|
+
name: string;
|
|
3521
|
+
x: number;
|
|
3522
|
+
y: number;
|
|
3523
|
+
selected?: boolean;
|
|
3524
|
+
width?: number;
|
|
3525
|
+
height?: number;
|
|
3526
|
+
highlighted?: boolean;
|
|
3527
|
+
parentContainerId: string;
|
|
3528
|
+
}
|
|
3529
|
+
export var SingleGraphNode: React.FC<React.PropsWithChildren<IGraphNodeProps>>;
|
|
3530
|
+
|
|
3531
|
+
|
|
3532
|
+
|
|
3533
|
+
}
|
|
3534
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3535
|
+
|
|
3536
|
+
|
|
3537
|
+
}
|
|
3538
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3539
|
+
/**
|
|
3540
|
+
* props for the GraphLineContainer
|
|
3541
|
+
*/
|
|
3542
|
+
export interface IGraphLinesContainerProps {
|
|
3543
|
+
/**
|
|
3544
|
+
* id of the container
|
|
3545
|
+
*/
|
|
3546
|
+
id: string;
|
|
3547
|
+
}
|
|
3548
|
+
/**
|
|
3549
|
+
* this component handles the dragging of new connections
|
|
3550
|
+
* @param props
|
|
3551
|
+
* @returns
|
|
3552
|
+
*/
|
|
3553
|
+
export var GraphLinesContainer: React.FC<React.PropsWithChildren<IGraphLinesContainerProps>>;
|
|
3554
|
+
|
|
3555
|
+
|
|
3556
|
+
|
|
3557
|
+
}
|
|
3558
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3559
|
+
|
|
3560
|
+
|
|
3561
|
+
}
|
|
3562
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3563
|
+
/**
|
|
3564
|
+
* props for the GraphLine component
|
|
3565
|
+
*/
|
|
3566
|
+
export interface IGraphLineProps {
|
|
3567
|
+
/**
|
|
3568
|
+
* id of the line. temporary lines can have no id
|
|
3569
|
+
*/
|
|
3570
|
+
id?: string;
|
|
3571
|
+
/**
|
|
3572
|
+
* starting x pos of the line
|
|
3573
|
+
*/
|
|
3574
|
+
x1: number;
|
|
3575
|
+
/**
|
|
3576
|
+
* ending x pos of the line
|
|
3577
|
+
*/
|
|
3578
|
+
x2: number;
|
|
3579
|
+
/**
|
|
3580
|
+
* starting y pos of the line
|
|
3581
|
+
*/
|
|
3582
|
+
y1: number;
|
|
3583
|
+
/**
|
|
3584
|
+
* ending y pos of the line
|
|
3585
|
+
*/
|
|
3586
|
+
y2: number;
|
|
3587
|
+
/**
|
|
3588
|
+
* is the line selected
|
|
3589
|
+
*/
|
|
3590
|
+
selected?: boolean;
|
|
3591
|
+
/**
|
|
3592
|
+
* does the line have a direction
|
|
3593
|
+
*/
|
|
3594
|
+
directional?: boolean;
|
|
3595
|
+
}
|
|
3596
|
+
export const MarkerArrowId = "arrow";
|
|
3597
|
+
/**
|
|
3598
|
+
* This component draws a SVG line between two points, with an optional marker
|
|
3599
|
+
* indicating direction
|
|
3600
|
+
* @param props properties
|
|
3601
|
+
* @returns graph line element
|
|
3602
|
+
*/
|
|
3603
|
+
export var GraphLine: React.FC<IGraphLineProps>;
|
|
3604
|
+
|
|
3605
|
+
|
|
3606
|
+
|
|
3607
|
+
}
|
|
3608
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3609
|
+
|
|
3610
|
+
|
|
3611
|
+
}
|
|
3612
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3613
|
+
/**
|
|
3614
|
+
* this context is used to pass callbacks to the graph nodes and connections
|
|
3615
|
+
*/
|
|
3616
|
+
export interface IGraphContext {
|
|
3617
|
+
onNodesConnected?: (sourceId: string, targetId: string) => void;
|
|
3618
|
+
onLineSelected?: (lineId: string) => void;
|
|
3619
|
+
onNodeSelected?: (nodeId: string) => void;
|
|
3620
|
+
}
|
|
3621
|
+
export var GraphContextManager: import("react").Context<IGraphContext>;
|
|
3622
|
+
|
|
3623
|
+
|
|
3624
|
+
|
|
3625
|
+
}
|
|
3626
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3627
|
+
|
|
3628
|
+
|
|
3629
|
+
}
|
|
3630
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3631
|
+
export interface IGraphContainerProps {
|
|
3632
|
+
}
|
|
3633
|
+
/**
|
|
3634
|
+
* This component is just a simple container to keep the nodes and lines containers
|
|
3635
|
+
* together
|
|
3636
|
+
* @param props
|
|
3637
|
+
* @returns
|
|
3638
|
+
*/
|
|
3639
|
+
export var GraphContainer: React.FC<React.PropsWithChildren<IGraphContainerProps>>;
|
|
3640
|
+
|
|
3641
|
+
|
|
3642
|
+
|
|
3643
|
+
}
|
|
3644
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3645
|
+
|
|
3646
|
+
|
|
3647
|
+
}
|
|
3648
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3649
|
+
/**
|
|
3650
|
+
* Props for the connector
|
|
3651
|
+
*/
|
|
3652
|
+
export interface IGraphConnectorHandlerProps {
|
|
3653
|
+
/**
|
|
3654
|
+
* id of the parent node
|
|
3655
|
+
*/
|
|
3656
|
+
parentId: string;
|
|
3657
|
+
/**
|
|
3658
|
+
* x position of the parent node
|
|
3659
|
+
*/
|
|
3660
|
+
parentX: number;
|
|
3661
|
+
/**
|
|
3662
|
+
* y position of the parent node
|
|
3663
|
+
*/
|
|
3664
|
+
parentY: number;
|
|
3665
|
+
/**
|
|
3666
|
+
* x position of the connector relative to the parent node
|
|
3667
|
+
*/
|
|
3668
|
+
offsetX?: number;
|
|
3669
|
+
/**
|
|
3670
|
+
* y position of the connector relative to the parent node
|
|
3671
|
+
*/
|
|
3672
|
+
offsetY?: number;
|
|
3673
|
+
/**
|
|
3674
|
+
* width of the parent node
|
|
3675
|
+
*/
|
|
3676
|
+
parentWidth: number;
|
|
3677
|
+
/**
|
|
3678
|
+
* height of the parent node
|
|
3679
|
+
*/
|
|
3680
|
+
parentHeight: number;
|
|
3681
|
+
/**
|
|
3682
|
+
* id of the container where its parent node is
|
|
3683
|
+
*/
|
|
3684
|
+
parentContainerId: string;
|
|
3685
|
+
}
|
|
3686
|
+
/**
|
|
3687
|
+
* This component is used to initiate a connection between two nodes. Simply
|
|
3688
|
+
* drag the handle in a node and drop it in another node to create a connection.
|
|
3689
|
+
* @returns connector element
|
|
3690
|
+
*/
|
|
3691
|
+
export var GraphConnectorHandler: React.FC<React.PropsWithChildren<IGraphConnectorHandlerProps>>;
|
|
3692
|
+
|
|
3693
|
+
|
|
3694
|
+
|
|
3695
|
+
}
|
|
3696
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3697
|
+
|
|
3698
|
+
|
|
3699
|
+
}
|
|
3700
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3701
|
+
/**
|
|
3702
|
+
* This components represents an options menu with optional
|
|
3703
|
+
* customizable properties. Option IDs should be unique.
|
|
3704
|
+
*/
|
|
3705
|
+
export interface IOption {
|
|
3706
|
+
label: string;
|
|
3707
|
+
value: string;
|
|
3708
|
+
id: string;
|
|
3709
|
+
}
|
|
3710
|
+
export interface IOptionsLineComponentProps {
|
|
3711
|
+
options: IOption[];
|
|
3712
|
+
addOptionPlaceholder?: string;
|
|
3713
|
+
onOptionAdded?: (newOption: IOption) => void;
|
|
3714
|
+
onOptionSelected: (selectedOptionValue: string) => void;
|
|
3715
|
+
selectedOptionValue: string;
|
|
3716
|
+
validateNewOptionValue?: (newOptionValue: string) => boolean;
|
|
3717
|
+
addOptionText?: string;
|
|
3718
|
+
}
|
|
3719
|
+
export const OptionsLineComponent: (props: IOptionsLineComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
3720
|
+
|
|
3721
|
+
|
|
3722
|
+
|
|
3723
|
+
}
|
|
3724
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3725
|
+
|
|
3726
|
+
|
|
3727
|
+
}
|
|
3728
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3729
|
+
interface INumericInputComponentProps {
|
|
3730
|
+
label: string;
|
|
3731
|
+
labelTooltip?: string;
|
|
3732
|
+
value: number;
|
|
3733
|
+
step?: number;
|
|
3734
|
+
onChange: (value: number) => void;
|
|
3735
|
+
precision?: number;
|
|
3736
|
+
icon?: string;
|
|
3737
|
+
iconLabel?: string;
|
|
3738
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
3739
|
+
}
|
|
3740
|
+
export class NumericInputComponent extends React.Component<INumericInputComponentProps, {
|
|
3741
|
+
value: string;
|
|
3742
|
+
}> {
|
|
3743
|
+
static defaultProps: {
|
|
3744
|
+
step: number;
|
|
3745
|
+
};
|
|
3746
|
+
private _localChange;
|
|
3747
|
+
constructor(props: INumericInputComponentProps);
|
|
3748
|
+
componentWillUnmount(): void;
|
|
3749
|
+
shouldComponentUpdate(nextProps: INumericInputComponentProps, nextState: {
|
|
3750
|
+
value: string;
|
|
3751
|
+
}): boolean;
|
|
3752
|
+
updateValue(valueString: string): void;
|
|
3753
|
+
onBlur(): void;
|
|
3754
|
+
incrementValue(amount: number): void;
|
|
3755
|
+
onKeyDown(evt: React.KeyboardEvent<HTMLInputElement>): void;
|
|
3756
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
3757
|
+
}
|
|
3758
|
+
|
|
3759
|
+
|
|
3760
|
+
|
|
3761
|
+
}
|
|
3762
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3763
|
+
|
|
3764
|
+
|
|
3765
|
+
}
|
|
3766
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3767
|
+
export interface IFileButtonLineComponentProps {
|
|
3768
|
+
label: string;
|
|
3769
|
+
onClick: (file: File) => void;
|
|
3770
|
+
accept: string;
|
|
3771
|
+
icon?: string;
|
|
3772
|
+
iconLabel?: string;
|
|
3773
|
+
}
|
|
3774
|
+
export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
|
|
3775
|
+
private static _IdGenerator;
|
|
3776
|
+
private _id;
|
|
3777
|
+
private _uploadInputRef;
|
|
3778
|
+
constructor(props: IFileButtonLineComponentProps);
|
|
3779
|
+
onChange(evt: any): void;
|
|
3780
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
3781
|
+
}
|
|
3782
|
+
|
|
3783
|
+
|
|
3784
|
+
|
|
3785
|
+
}
|
|
3786
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3787
|
+
|
|
3788
|
+
|
|
3789
|
+
}
|
|
3790
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3791
|
+
export interface IColorPickerLineComponentProps {
|
|
3792
|
+
value: BABYLON.Color4 | BABYLON.Color3;
|
|
3793
|
+
linearHint?: boolean;
|
|
3794
|
+
onColorChanged: (newOne: string) => void;
|
|
3795
|
+
icon?: string;
|
|
3796
|
+
iconLabel?: string;
|
|
3797
|
+
shouldPopRight?: boolean;
|
|
3798
|
+
lockObject?: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
3799
|
+
backgroundColor?: string;
|
|
3800
|
+
}
|
|
3801
|
+
interface IColorPickerComponentState {
|
|
3802
|
+
pickerEnabled: boolean;
|
|
3803
|
+
color: BABYLON.Color3 | BABYLON.Color4;
|
|
3804
|
+
hex: string;
|
|
3805
|
+
}
|
|
3806
|
+
export class ColorPickerLineComponent extends React.Component<IColorPickerLineComponentProps, IColorPickerComponentState> {
|
|
3807
|
+
private _floatRef;
|
|
3808
|
+
private _floatHostRef;
|
|
3809
|
+
private _coverRef;
|
|
3810
|
+
constructor(props: IColorPickerLineComponentProps);
|
|
3811
|
+
syncPositions(): void;
|
|
3812
|
+
shouldComponentUpdate(nextProps: IColorPickerLineComponentProps, nextState: IColorPickerComponentState): boolean;
|
|
3813
|
+
getHexString(props?: Readonly<IColorPickerLineComponentProps>): string;
|
|
3814
|
+
componentDidUpdate(): void;
|
|
3815
|
+
componentDidMount(): void;
|
|
3816
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
3817
|
+
}
|
|
3818
|
+
|
|
3819
|
+
|
|
3820
|
+
|
|
3821
|
+
}
|
|
3822
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3823
|
+
|
|
3824
|
+
|
|
3825
|
+
}
|
|
3826
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3827
|
+
export interface IColorLineComponentProps {
|
|
3828
|
+
label: string;
|
|
3829
|
+
target: any;
|
|
3830
|
+
propertyName: string;
|
|
3831
|
+
onPropertyChangedObservable: BABYLON.Observable<BABYLON.NodeParticleEditor.SharedUIComponents.PropertyChangedEvent>;
|
|
3832
|
+
onChange?: () => void;
|
|
3833
|
+
isLinear?: boolean;
|
|
3834
|
+
icon?: string;
|
|
3835
|
+
iconLabel?: string;
|
|
3836
|
+
disableAlpha?: boolean;
|
|
3837
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
3838
|
+
}
|
|
3839
|
+
interface IColorLineComponentState {
|
|
3840
|
+
isExpanded: boolean;
|
|
3841
|
+
color: BABYLON.Color4;
|
|
3842
|
+
}
|
|
3843
|
+
export class ColorLineComponent extends React.Component<IColorLineComponentProps, IColorLineComponentState> {
|
|
3844
|
+
constructor(props: IColorLineComponentProps);
|
|
3845
|
+
shouldComponentUpdate(nextProps: IColorLineComponentProps, nextState: IColorLineComponentState): boolean;
|
|
3846
|
+
getValue(props?: Readonly<IColorLineComponentProps>): BABYLON.Color4;
|
|
3847
|
+
setColorFromString(colorString: string): void;
|
|
3848
|
+
setColor(newColor: BABYLON.Color4): void;
|
|
3849
|
+
switchExpandState(): void;
|
|
3850
|
+
updateStateR(value: number): void;
|
|
3851
|
+
updateStateG(value: number): void;
|
|
3852
|
+
updateStateB(value: number): void;
|
|
3853
|
+
updateStateA(value: number): void;
|
|
3854
|
+
copyToClipboard(): void;
|
|
3855
|
+
private _convertToColor;
|
|
3856
|
+
private _toColor3;
|
|
3857
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
3858
|
+
}
|
|
3859
|
+
|
|
3860
|
+
|
|
3861
|
+
|
|
3862
|
+
}
|
|
3863
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3864
|
+
|
|
3865
|
+
|
|
3866
|
+
}
|
|
3867
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3868
|
+
/**
|
|
3869
|
+
* Given a column and row number in the layout, return the corresponding column/row
|
|
3870
|
+
* @param layout
|
|
3871
|
+
* @param column
|
|
3872
|
+
* @param row
|
|
3873
|
+
* @returns
|
|
3874
|
+
*/
|
|
3875
|
+
export const getPosInLayout: (layout: BABYLON.NodeParticleEditor.SharedUIComponents.Layout, column: number, row?: number) => BABYLON.NodeParticleEditor.SharedUIComponents.LayoutColumn | BABYLON.NodeParticleEditor.SharedUIComponents.LayoutTabsRow;
|
|
3876
|
+
/**
|
|
3877
|
+
* Remove a row in position row, column from the layout, and redistribute heights of remaining rows
|
|
3878
|
+
* @param layout
|
|
3879
|
+
* @param column
|
|
3880
|
+
* @param row
|
|
3881
|
+
*/
|
|
3882
|
+
export const removeLayoutRowAndRedistributePercentages: (layout: BABYLON.NodeParticleEditor.SharedUIComponents.Layout, column: number, row: number) => void;
|
|
3883
|
+
/**
|
|
3884
|
+
* Add a percentage string to a number
|
|
3885
|
+
* @param p1 the percentage string
|
|
3886
|
+
* @param p2 the number
|
|
3887
|
+
* @returns the sum of the percentage string and the number
|
|
3888
|
+
*/
|
|
3889
|
+
export const addPercentageStringToNumber: (p1: string, p2: number) => number;
|
|
3890
|
+
/**
|
|
3891
|
+
* Parses a percentage string into a number
|
|
3892
|
+
* @param p the percentage string
|
|
3893
|
+
* @returns the parsed number
|
|
3894
|
+
*/
|
|
3895
|
+
export const parsePercentage: (p: string) => number;
|
|
3896
|
+
|
|
3897
|
+
|
|
3898
|
+
|
|
3899
|
+
}
|
|
3900
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3901
|
+
|
|
3902
|
+
|
|
3903
|
+
}
|
|
3904
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3905
|
+
export type LayoutTab = {
|
|
3906
|
+
/**
|
|
3907
|
+
* Tab id
|
|
3908
|
+
*/
|
|
3909
|
+
id: string;
|
|
3910
|
+
/**
|
|
3911
|
+
* React component rendered by tab
|
|
3912
|
+
*/
|
|
3913
|
+
component: React.ReactElement;
|
|
3914
|
+
/**
|
|
3915
|
+
* Tab title
|
|
3916
|
+
*/
|
|
3917
|
+
title: string;
|
|
3918
|
+
};
|
|
3919
|
+
export type LayoutTabsRow = {
|
|
3920
|
+
/**
|
|
3921
|
+
* row id
|
|
3922
|
+
*/
|
|
3923
|
+
id: string;
|
|
3924
|
+
/**
|
|
3925
|
+
* row height in its containing column
|
|
3926
|
+
*/
|
|
3927
|
+
height: string;
|
|
3928
|
+
/**
|
|
3929
|
+
* selected tab in row
|
|
3930
|
+
*/
|
|
3931
|
+
selectedTab: string;
|
|
3932
|
+
/**
|
|
3933
|
+
* list of tabs contained in row
|
|
3934
|
+
*/
|
|
3935
|
+
tabs: LayoutTab[];
|
|
3936
|
+
};
|
|
3937
|
+
export type LayoutColumn = {
|
|
3938
|
+
/**
|
|
3939
|
+
* column id
|
|
3940
|
+
*/
|
|
3941
|
+
id: string;
|
|
3942
|
+
/**
|
|
3943
|
+
* column width in the grid
|
|
3944
|
+
*/
|
|
3945
|
+
width: string;
|
|
3946
|
+
/**
|
|
3947
|
+
* column rows
|
|
3948
|
+
*/
|
|
3949
|
+
rows: LayoutTabsRow[];
|
|
3950
|
+
};
|
|
3951
|
+
export type Layout = {
|
|
3952
|
+
/**
|
|
3953
|
+
* layout columns
|
|
3954
|
+
*/
|
|
3955
|
+
columns?: LayoutColumn[];
|
|
3956
|
+
};
|
|
3957
|
+
export type TabDrag = {
|
|
3958
|
+
/**
|
|
3959
|
+
* row number of the tab being dragged
|
|
3960
|
+
*/
|
|
3961
|
+
rowNumber: number;
|
|
3962
|
+
/**
|
|
3963
|
+
* column number of the tab being dragged
|
|
3964
|
+
*/
|
|
3965
|
+
columnNumber: number;
|
|
3966
|
+
/**
|
|
3967
|
+
* the tabs being dragged
|
|
3968
|
+
*/
|
|
3969
|
+
tabs: {
|
|
3970
|
+
/**
|
|
3971
|
+
* id of tab being dragged
|
|
3972
|
+
*/
|
|
3973
|
+
id: string;
|
|
3974
|
+
}[];
|
|
3975
|
+
};
|
|
3976
|
+
export enum ElementTypes {
|
|
3977
|
+
RESIZE_BAR = "0",
|
|
3978
|
+
TAB = "1",
|
|
3979
|
+
TAB_GROUP = "2",
|
|
3980
|
+
NONE = "2"
|
|
3981
|
+
}
|
|
3982
|
+
export enum ResizeDirections {
|
|
3983
|
+
ROW = "row",
|
|
3984
|
+
COLUMN = "column"
|
|
3985
|
+
}
|
|
3986
|
+
|
|
3987
|
+
|
|
3988
|
+
|
|
3989
|
+
}
|
|
3990
|
+
declare module BABYLON.NodeParticleEditor {
|
|
3991
|
+
|
|
3992
|
+
|
|
3993
|
+
}
|
|
3994
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
3995
|
+
export var LayoutContext: import("react").Context<{
|
|
3996
|
+
/**
|
|
3997
|
+
* The layout object
|
|
3998
|
+
*/
|
|
3999
|
+
layout: BABYLON.NodeParticleEditor.SharedUIComponents.Layout;
|
|
4000
|
+
/**
|
|
4001
|
+
* Function to set the layout object in the context
|
|
4002
|
+
*/
|
|
4003
|
+
setLayout: (layout: BABYLON.NodeParticleEditor.SharedUIComponents.Layout) => void;
|
|
4004
|
+
}>;
|
|
4005
|
+
|
|
4006
|
+
|
|
4007
|
+
|
|
4008
|
+
}
|
|
4009
|
+
declare module BABYLON.NodeParticleEditor {
|
|
4010
|
+
|
|
4011
|
+
|
|
4012
|
+
}
|
|
4013
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
4014
|
+
/**
|
|
4015
|
+
* Arguments for the TabsContainer component.
|
|
4016
|
+
*/
|
|
4017
|
+
export interface IFlexibleTabsContainerProps {
|
|
4018
|
+
/**
|
|
4019
|
+
* The tabs to display
|
|
4020
|
+
*/
|
|
4021
|
+
tabs: BABYLON.NodeParticleEditor.SharedUIComponents.LayoutTab[];
|
|
4022
|
+
/**
|
|
4023
|
+
* Row index of component in layout
|
|
4024
|
+
*/
|
|
4025
|
+
rowIndex: number;
|
|
4026
|
+
/**
|
|
4027
|
+
* Column index of component in layout
|
|
4028
|
+
*/
|
|
4029
|
+
columnIndex: number;
|
|
4030
|
+
/**
|
|
4031
|
+
* Which tab is selected in the layout
|
|
4032
|
+
*/
|
|
4033
|
+
selectedTab?: string;
|
|
4034
|
+
}
|
|
4035
|
+
/**
|
|
4036
|
+
* This component contains a set of tabs of which only one is visible at a time.
|
|
4037
|
+
* The tabs can also be dragged from and to different containers.
|
|
4038
|
+
* @param props properties
|
|
4039
|
+
* @returns tabs container element
|
|
4040
|
+
*/
|
|
4041
|
+
export var FlexibleTabsContainer: React.FC<IFlexibleTabsContainerProps>;
|
|
4042
|
+
|
|
4043
|
+
|
|
4044
|
+
|
|
4045
|
+
}
|
|
4046
|
+
declare module BABYLON.NodeParticleEditor {
|
|
4047
|
+
|
|
4048
|
+
|
|
4049
|
+
}
|
|
4050
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
4051
|
+
/**
|
|
4052
|
+
* Arguments for the FlexibleTab component.
|
|
4053
|
+
*/
|
|
4054
|
+
export interface IFlexibleTabProps {
|
|
4055
|
+
/**
|
|
4056
|
+
* The tab's title.
|
|
4057
|
+
*/
|
|
4058
|
+
title: string;
|
|
4059
|
+
/**
|
|
4060
|
+
* If the tab is currently selected or not
|
|
4061
|
+
*/
|
|
4062
|
+
selected: boolean;
|
|
4063
|
+
/**
|
|
4064
|
+
* What happens when the user clicks on the tab
|
|
4065
|
+
*/
|
|
4066
|
+
onClick: () => void;
|
|
4067
|
+
/**
|
|
4068
|
+
* The object that will be sent to the drag event
|
|
4069
|
+
*/
|
|
4070
|
+
item: BABYLON.NodeParticleEditor.SharedUIComponents.TabDrag;
|
|
4071
|
+
/**
|
|
4072
|
+
* What happens when the user drops another tab after this one
|
|
4073
|
+
*/
|
|
4074
|
+
onTabDroppedAction: (item: BABYLON.NodeParticleEditor.SharedUIComponents.TabDrag) => void;
|
|
4075
|
+
}
|
|
4076
|
+
/**
|
|
4077
|
+
* A component that renders a tab that the user can click
|
|
4078
|
+
* to activate or drag to reorder. It also listens for
|
|
4079
|
+
* drop events if the user wants to drop another tab
|
|
4080
|
+
* after it.
|
|
4081
|
+
* @param props properties
|
|
4082
|
+
* @returns FlexibleTab element
|
|
4083
|
+
*/
|
|
4084
|
+
export var FlexibleTab: React.FC<IFlexibleTabProps>;
|
|
4085
|
+
|
|
4086
|
+
|
|
4087
|
+
|
|
4088
|
+
}
|
|
4089
|
+
declare module BABYLON.NodeParticleEditor {
|
|
4090
|
+
|
|
4091
|
+
|
|
4092
|
+
}
|
|
4093
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
4094
|
+
/**
|
|
4095
|
+
* Arguments for the ResizeBar component.
|
|
4096
|
+
*/
|
|
4097
|
+
export interface IFlexibleRowResizerProps {
|
|
4098
|
+
/**
|
|
4099
|
+
* Row number of the component that is being resized
|
|
4100
|
+
*/
|
|
4101
|
+
rowNumber: number;
|
|
4102
|
+
/**
|
|
4103
|
+
* Column number of the component being resized
|
|
4104
|
+
*/
|
|
4105
|
+
columnNumber: number;
|
|
4106
|
+
/**
|
|
4107
|
+
* If the resizing happens in row or column direction
|
|
4108
|
+
*/
|
|
4109
|
+
direction: BABYLON.NodeParticleEditor.SharedUIComponents.ResizeDirections;
|
|
4110
|
+
}
|
|
4111
|
+
/**
|
|
4112
|
+
* The item that will be sent to the drag event
|
|
4113
|
+
*/
|
|
4114
|
+
export type ResizeItem = {
|
|
4115
|
+
/**
|
|
4116
|
+
* If the resizing happens in row or column direction
|
|
4117
|
+
*/
|
|
4118
|
+
direction: BABYLON.NodeParticleEditor.SharedUIComponents.ResizeDirections;
|
|
4119
|
+
/**
|
|
4120
|
+
* The row number of the component that is being resized
|
|
4121
|
+
*/
|
|
4122
|
+
rowNumber: number;
|
|
4123
|
+
/**
|
|
4124
|
+
* the column number of the component being resized
|
|
4125
|
+
*/
|
|
4126
|
+
columnNumber: number;
|
|
4127
|
+
};
|
|
4128
|
+
/**
|
|
4129
|
+
* A component that renders a bar that the user can drag to resize.
|
|
4130
|
+
* @param props properties
|
|
4131
|
+
* @returns resize bar element
|
|
4132
|
+
*/
|
|
4133
|
+
export var FlexibleResizeBar: React.FC<IFlexibleRowResizerProps>;
|
|
4134
|
+
|
|
4135
|
+
|
|
4136
|
+
|
|
4137
|
+
}
|
|
4138
|
+
declare module BABYLON.NodeParticleEditor {
|
|
4139
|
+
|
|
4140
|
+
|
|
4141
|
+
}
|
|
4142
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
4143
|
+
/**
|
|
4144
|
+
* Arguments for the BABYLON.NodeParticleEditor.SharedUIComponents.Layout component.
|
|
4145
|
+
*/
|
|
4146
|
+
export interface IFlexibleGridLayoutProps {
|
|
4147
|
+
/**
|
|
4148
|
+
* A definition of the layout which can be changed by the user
|
|
4149
|
+
*/
|
|
4150
|
+
layoutDefinition: BABYLON.NodeParticleEditor.SharedUIComponents.Layout;
|
|
4151
|
+
}
|
|
4152
|
+
/**
|
|
4153
|
+
* This component represents a grid layout that can be resized and rearranged
|
|
4154
|
+
* by the user.
|
|
4155
|
+
* @param props properties
|
|
4156
|
+
* @returns layout element
|
|
4157
|
+
*/
|
|
4158
|
+
export var FlexibleGridLayout: React.FC<IFlexibleGridLayoutProps>;
|
|
4159
|
+
|
|
4160
|
+
|
|
4161
|
+
|
|
4162
|
+
}
|
|
4163
|
+
declare module BABYLON.NodeParticleEditor {
|
|
4164
|
+
|
|
4165
|
+
|
|
4166
|
+
}
|
|
4167
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
4168
|
+
/**
|
|
4169
|
+
* Arguments for the GridContainer component.
|
|
4170
|
+
*/
|
|
4171
|
+
export interface IFlexibleGridContainerProps {
|
|
4172
|
+
}
|
|
4173
|
+
/**
|
|
4174
|
+
* Component responsible for mapping the layout to the actual components
|
|
4175
|
+
* @returns GridContainer element
|
|
4176
|
+
*/
|
|
4177
|
+
export var FlexibleGridContainer: React.FC<IFlexibleGridContainerProps>;
|
|
4178
|
+
|
|
4179
|
+
|
|
4180
|
+
|
|
4181
|
+
}
|
|
4182
|
+
declare module BABYLON.NodeParticleEditor {
|
|
4183
|
+
|
|
4184
|
+
|
|
4185
|
+
}
|
|
4186
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
4187
|
+
/**
|
|
4188
|
+
* Arguments for the FlexibleDropZone component.
|
|
4189
|
+
*/
|
|
4190
|
+
export interface IFlexibleDropZoneProps {
|
|
4191
|
+
/**
|
|
4192
|
+
* The row number of the component in the layout
|
|
4193
|
+
*/
|
|
4194
|
+
rowNumber: number;
|
|
4195
|
+
/**
|
|
4196
|
+
* The column number of the component in the layout
|
|
4197
|
+
*/
|
|
4198
|
+
columnNumber: number;
|
|
4199
|
+
}
|
|
4200
|
+
/**
|
|
4201
|
+
* This component contains the drag and drop zone for the resize bars that
|
|
4202
|
+
* allow redefining width and height of layout elements
|
|
4203
|
+
* @param props properties
|
|
4204
|
+
* @returns drop zone element
|
|
4205
|
+
*/
|
|
4206
|
+
export var FlexibleDropZone: React.FC<React.PropsWithChildren<IFlexibleDropZoneProps>>;
|
|
4207
|
+
|
|
4208
|
+
|
|
4209
|
+
|
|
4210
|
+
}
|
|
4211
|
+
declare module BABYLON.NodeParticleEditor {
|
|
4212
|
+
|
|
4213
|
+
|
|
4214
|
+
}
|
|
4215
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
4216
|
+
/**
|
|
4217
|
+
* Arguments for the DragHandler component.
|
|
4218
|
+
*/
|
|
4219
|
+
export interface IFlexibleDragHandlerProps {
|
|
4220
|
+
/**
|
|
4221
|
+
* The size of the containing element. Used to calculate the percentage of
|
|
4222
|
+
* space occupied by the component
|
|
4223
|
+
*/
|
|
4224
|
+
containerSize: {
|
|
4225
|
+
width: number;
|
|
4226
|
+
height: number;
|
|
4227
|
+
};
|
|
4228
|
+
}
|
|
4229
|
+
/**
|
|
4230
|
+
* This component receives the drop events and updates the layout accordingly
|
|
4231
|
+
* @param props properties
|
|
4232
|
+
* @returns DragHandler element
|
|
4233
|
+
*/
|
|
4234
|
+
export var FlexibleDragHandler: React.FC<React.PropsWithChildren<IFlexibleDragHandlerProps>>;
|
|
4235
|
+
|
|
4236
|
+
|
|
4237
|
+
|
|
4238
|
+
}
|
|
4239
|
+
declare module BABYLON.NodeParticleEditor {
|
|
4240
|
+
|
|
4241
|
+
|
|
4242
|
+
}
|
|
4243
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
4244
|
+
/**
|
|
4245
|
+
* Arguments for the Column component.
|
|
4246
|
+
*/
|
|
4247
|
+
export interface IFlexibleColumnProps {
|
|
4248
|
+
/**
|
|
4249
|
+
* Width of column
|
|
4250
|
+
*/
|
|
4251
|
+
width: string;
|
|
4252
|
+
}
|
|
4253
|
+
/**
|
|
4254
|
+
* This component represents a single column in the layout. It receives a width
|
|
4255
|
+
* that it occupies and the content to display
|
|
4256
|
+
* @param props
|
|
4257
|
+
* @returns
|
|
4258
|
+
*/
|
|
4259
|
+
export var FlexibleColumn: React.FC<React.PropsWithChildren<IFlexibleColumnProps>>;
|
|
4260
|
+
|
|
4261
|
+
|
|
4262
|
+
|
|
4263
|
+
}
|
|
4264
|
+
declare module BABYLON.NodeParticleEditor {
|
|
4265
|
+
|
|
4266
|
+
|
|
4267
|
+
}
|
|
4268
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
4269
|
+
/**
|
|
4270
|
+
* Arguments for the DraggableIcon component.
|
|
4271
|
+
*/
|
|
4272
|
+
export interface IDraggableIconProps {
|
|
4273
|
+
/**
|
|
4274
|
+
* Icon source
|
|
4275
|
+
*/
|
|
4276
|
+
src: string;
|
|
4277
|
+
/**
|
|
4278
|
+
* Object that will be passed to the drag event
|
|
4279
|
+
*/
|
|
4280
|
+
item: BABYLON.NodeParticleEditor.SharedUIComponents.TabDrag;
|
|
4281
|
+
/**
|
|
4282
|
+
* Type of drag event
|
|
4283
|
+
*/
|
|
4284
|
+
type: BABYLON.NodeParticleEditor.SharedUIComponents.ElementTypes;
|
|
4285
|
+
}
|
|
4286
|
+
/**
|
|
4287
|
+
* An icon that can be dragged by the user
|
|
4288
|
+
* @param props properties
|
|
4289
|
+
* @returns draggable icon element
|
|
4290
|
+
*/
|
|
4291
|
+
export var DraggableIcon: React.FC<IDraggableIconProps>;
|
|
4292
|
+
|
|
4293
|
+
|
|
4294
|
+
|
|
4295
|
+
}
|
|
4296
|
+
declare module BABYLON.NodeParticleEditor {
|
|
4297
|
+
|
|
4298
|
+
|
|
4299
|
+
}
|
|
4300
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
4301
|
+
export interface IHexColorProps {
|
|
4302
|
+
value: string;
|
|
4303
|
+
expectedLength: number;
|
|
4304
|
+
onChange: (value: string) => void;
|
|
4305
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
4306
|
+
}
|
|
4307
|
+
export class HexColorComponent extends React.Component<IHexColorProps, {
|
|
4308
|
+
hex: string;
|
|
4309
|
+
}> {
|
|
4310
|
+
constructor(props: IHexColorProps);
|
|
4311
|
+
shouldComponentUpdate(nextProps: IHexColorProps, nextState: {
|
|
4312
|
+
hex: string;
|
|
4313
|
+
}): boolean;
|
|
4314
|
+
lock(): void;
|
|
4315
|
+
unlock(): void;
|
|
4316
|
+
updateHexValue(valueString: string): void;
|
|
4317
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
4318
|
+
}
|
|
4319
|
+
|
|
4320
|
+
|
|
4321
|
+
|
|
4322
|
+
}
|
|
4323
|
+
declare module BABYLON.NodeParticleEditor {
|
|
4324
|
+
|
|
4325
|
+
|
|
4326
|
+
}
|
|
4327
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
4328
|
+
/**
|
|
4329
|
+
* Interface used to specify creation options for color picker
|
|
4330
|
+
*/
|
|
4331
|
+
export interface IColorPickerComponentProps {
|
|
4332
|
+
color: BABYLON.Color3 | BABYLON.Color4;
|
|
4333
|
+
linearhint?: boolean;
|
|
4334
|
+
debugMode?: boolean;
|
|
4335
|
+
onColorChanged?: (color: BABYLON.Color3 | BABYLON.Color4) => void;
|
|
4336
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
4337
|
+
backgroundColor?: string;
|
|
4338
|
+
}
|
|
4339
|
+
/**
|
|
4340
|
+
* Interface used to specify creation options for color picker
|
|
4341
|
+
*/
|
|
4342
|
+
export interface IColorPickerState {
|
|
4343
|
+
color: BABYLON.Color3;
|
|
4344
|
+
alpha: number;
|
|
4345
|
+
}
|
|
4346
|
+
/**
|
|
4347
|
+
* Class used to create a color picker
|
|
4348
|
+
*/
|
|
4349
|
+
export class ColorPickerComponent extends React.Component<IColorPickerComponentProps, IColorPickerState> {
|
|
4350
|
+
private _saturationRef;
|
|
4351
|
+
private _hueRef;
|
|
4352
|
+
private _isSaturationPointerDown;
|
|
4353
|
+
private _isHuePointerDown;
|
|
4354
|
+
constructor(props: IColorPickerComponentProps);
|
|
4355
|
+
shouldComponentUpdate(nextProps: IColorPickerComponentProps, nextState: IColorPickerState): boolean;
|
|
4356
|
+
onSaturationPointerDown(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
4357
|
+
onSaturationPointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
4358
|
+
onSaturationPointerMove(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
4359
|
+
onHuePointerDown(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
4360
|
+
onHuePointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
4361
|
+
onHuePointerMove(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
4362
|
+
private _evaluateSaturation;
|
|
4363
|
+
private _evaluateHue;
|
|
4364
|
+
componentDidUpdate(): void;
|
|
4365
|
+
raiseOnColorChanged(): void;
|
|
4366
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
4367
|
+
}
|
|
4368
|
+
|
|
4369
|
+
|
|
4370
|
+
|
|
4371
|
+
}
|
|
4372
|
+
declare module BABYLON.NodeParticleEditor {
|
|
4373
|
+
|
|
4374
|
+
|
|
4375
|
+
}
|
|
4376
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
4377
|
+
export interface IColorComponentEntryProps {
|
|
4378
|
+
value: number;
|
|
4379
|
+
label: string;
|
|
4380
|
+
max?: number;
|
|
4381
|
+
min?: number;
|
|
4382
|
+
onChange: (value: number) => void;
|
|
4383
|
+
disabled?: boolean;
|
|
4384
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
4385
|
+
}
|
|
4386
|
+
export class ColorComponentComponentEntry extends React.Component<IColorComponentEntryProps> {
|
|
4387
|
+
constructor(props: IColorComponentEntryProps);
|
|
4388
|
+
updateValue(valueString: string): void;
|
|
4389
|
+
lock(): void;
|
|
4390
|
+
unlock(): void;
|
|
4391
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
4392
|
+
}
|
|
4393
|
+
|
|
4394
|
+
|
|
4395
|
+
|
|
4396
|
+
}
|
|
4397
|
+
declare module BABYLON.NodeParticleEditor {
|
|
4398
|
+
|
|
4399
|
+
|
|
4400
|
+
}
|
|
4401
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
4402
|
+
interface ICommandDropdownComponentProps {
|
|
4403
|
+
icon?: string;
|
|
4404
|
+
tooltip: string;
|
|
4405
|
+
defaultValue?: string;
|
|
4406
|
+
items: {
|
|
4407
|
+
label: string;
|
|
4408
|
+
icon?: string;
|
|
4409
|
+
fileButton?: boolean;
|
|
4410
|
+
onClick?: () => void;
|
|
4411
|
+
onCheck?: (value: boolean) => void;
|
|
4412
|
+
storeKey?: string;
|
|
4413
|
+
isActive?: boolean;
|
|
4414
|
+
defaultValue?: boolean | string;
|
|
4415
|
+
subItems?: string[];
|
|
4416
|
+
}[];
|
|
4417
|
+
toRight?: boolean;
|
|
4418
|
+
}
|
|
4419
|
+
export class CommandDropdownComponent extends React.Component<ICommandDropdownComponentProps, {
|
|
4420
|
+
isExpanded: boolean;
|
|
4421
|
+
activeState: string;
|
|
4422
|
+
}> {
|
|
4423
|
+
constructor(props: ICommandDropdownComponentProps);
|
|
4424
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
4425
|
+
}
|
|
4426
|
+
|
|
4427
|
+
|
|
4428
|
+
|
|
4429
|
+
}
|
|
4430
|
+
declare module BABYLON.NodeParticleEditor {
|
|
4431
|
+
|
|
4432
|
+
|
|
4433
|
+
}
|
|
4434
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
4435
|
+
export interface ICommandButtonComponentProps {
|
|
4436
|
+
tooltip: string;
|
|
4437
|
+
shortcut?: string;
|
|
4438
|
+
icon: string;
|
|
4439
|
+
iconLabel?: string;
|
|
4440
|
+
isActive: boolean;
|
|
4441
|
+
onClick: () => void;
|
|
4442
|
+
disabled?: boolean;
|
|
4443
|
+
}
|
|
4444
|
+
export var CommandButtonComponent: React.FC<ICommandButtonComponentProps>;
|
|
4445
|
+
|
|
4446
|
+
|
|
4447
|
+
|
|
4448
|
+
}
|
|
4449
|
+
declare module BABYLON.NodeParticleEditor {
|
|
4450
|
+
|
|
4451
|
+
|
|
4452
|
+
}
|
|
4453
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
4454
|
+
export interface ICommandBarComponentProps {
|
|
4455
|
+
onSaveButtonClicked?: () => void;
|
|
4456
|
+
onSaveToSnippetButtonClicked?: () => void;
|
|
4457
|
+
onLoadFromSnippetButtonClicked?: () => void;
|
|
4458
|
+
onHelpButtonClicked?: () => void;
|
|
4459
|
+
onGiveFeedbackButtonClicked?: () => void;
|
|
4460
|
+
onSelectButtonClicked?: () => void;
|
|
4461
|
+
onPanButtonClicked?: () => void;
|
|
4462
|
+
onZoomButtonClicked?: () => void;
|
|
4463
|
+
onFitButtonClicked?: () => void;
|
|
4464
|
+
onArtboardColorChanged?: (newColor: string) => void;
|
|
4465
|
+
artboardColor?: string;
|
|
4466
|
+
artboardColorPickerColor?: string;
|
|
4467
|
+
}
|
|
4468
|
+
export var CommandBarComponent: React.FC<React.PropsWithChildren<ICommandBarComponentProps>>;
|
|
4469
|
+
|
|
4470
|
+
|
|
4471
|
+
|
|
4472
|
+
}
|
|
4473
|
+
declare module BABYLON.NodeParticleEditor {
|
|
4474
|
+
|
|
4475
|
+
|
|
4476
|
+
}
|
|
4477
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
4478
|
+
export interface IHexColorProps {
|
|
4479
|
+
value: string;
|
|
4480
|
+
expectedLength: number;
|
|
4481
|
+
onChange: (value: string) => void;
|
|
4482
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
4483
|
+
}
|
|
4484
|
+
export class HexColor extends React.Component<IHexColorProps, {
|
|
4485
|
+
hex: string;
|
|
4486
|
+
}> {
|
|
4487
|
+
constructor(props: IHexColorProps);
|
|
4488
|
+
shouldComponentUpdate(nextProps: IHexColorProps, nextState: {
|
|
4489
|
+
hex: string;
|
|
4490
|
+
}): boolean;
|
|
4491
|
+
lock(): void;
|
|
4492
|
+
unlock(): void;
|
|
4493
|
+
updateHexValue(valueString: string): void;
|
|
4494
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
4495
|
+
}
|
|
4496
|
+
|
|
4497
|
+
|
|
4498
|
+
|
|
4499
|
+
}
|
|
4500
|
+
declare module BABYLON.NodeParticleEditor {
|
|
4501
|
+
|
|
4502
|
+
|
|
4503
|
+
}
|
|
4504
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
4505
|
+
/**
|
|
4506
|
+
* Interface used to specify creation options for color picker
|
|
4507
|
+
*/
|
|
4508
|
+
export interface IColorPickerProps {
|
|
4509
|
+
color: BABYLON.Color3 | BABYLON.Color4;
|
|
4510
|
+
linearhint?: boolean;
|
|
4511
|
+
debugMode?: boolean;
|
|
4512
|
+
onColorChanged?: (color: BABYLON.Color3 | BABYLON.Color4) => void;
|
|
4513
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
4514
|
+
}
|
|
4515
|
+
/**
|
|
4516
|
+
* Interface used to specify creation options for color picker
|
|
4517
|
+
*/
|
|
4518
|
+
export interface IColorPickerState {
|
|
4519
|
+
color: BABYLON.Color3;
|
|
4520
|
+
alpha: number;
|
|
4521
|
+
}
|
|
4522
|
+
/**
|
|
4523
|
+
* Class used to create a color picker
|
|
4524
|
+
*/
|
|
4525
|
+
export class ColorPicker extends React.Component<IColorPickerProps, IColorPickerState> {
|
|
4526
|
+
private _saturationRef;
|
|
4527
|
+
private _hueRef;
|
|
4528
|
+
private _isSaturationPointerDown;
|
|
4529
|
+
private _isHuePointerDown;
|
|
4530
|
+
constructor(props: IColorPickerProps);
|
|
4531
|
+
shouldComponentUpdate(nextProps: IColorPickerProps, nextState: IColorPickerState): boolean;
|
|
4532
|
+
onSaturationPointerDown(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
4533
|
+
onSaturationPointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
4534
|
+
onSaturationPointerMove(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
4535
|
+
onHuePointerDown(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
4536
|
+
onHuePointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
4537
|
+
onHuePointerMove(evt: React.PointerEvent<HTMLDivElement>): void;
|
|
4538
|
+
private _evaluateSaturation;
|
|
4539
|
+
private _evaluateHue;
|
|
4540
|
+
componentDidUpdate(): void;
|
|
4541
|
+
raiseOnColorChanged(): void;
|
|
4542
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
4543
|
+
}
|
|
4544
|
+
|
|
4545
|
+
|
|
4546
|
+
|
|
4547
|
+
}
|
|
4548
|
+
declare module BABYLON.NodeParticleEditor {
|
|
4549
|
+
|
|
4550
|
+
|
|
4551
|
+
}
|
|
4552
|
+
declare module BABYLON.NodeParticleEditor.SharedUIComponents {
|
|
4553
|
+
export interface IColorComponentEntryProps {
|
|
4554
|
+
value: number;
|
|
4555
|
+
label: string;
|
|
4556
|
+
max?: number;
|
|
4557
|
+
min?: number;
|
|
4558
|
+
onChange: (value: number) => void;
|
|
4559
|
+
disabled?: boolean;
|
|
4560
|
+
lockObject: BABYLON.NodeParticleEditor.SharedUIComponents.LockObject;
|
|
4561
|
+
}
|
|
4562
|
+
export class ColorComponentEntry extends React.Component<IColorComponentEntryProps> {
|
|
4563
|
+
constructor(props: IColorComponentEntryProps);
|
|
4564
|
+
updateValue(valueString: string): void;
|
|
4565
|
+
lock(): void;
|
|
4566
|
+
unlock(): void;
|
|
4567
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
4568
|
+
}
|
|
4569
|
+
|
|
4570
|
+
|
|
4571
|
+
|
|
4572
|
+
}
|
|
4573
|
+
declare module BABYLON.NodeParticleEditor {
|
|
4574
|
+
|
|
4575
|
+
|
|
4576
|
+
}
|
|
4577
|
+
|
|
4578
|
+
|
|
4579
|
+
|