babylonjs-node-editor 5.13.2 → 5.14.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.
@@ -252,9 +252,11 @@ import * as React from "react";
252
252
  import { GlobalState } from "babylonjs-node-editor/globalState";
253
253
  import { InputBlock } from "babylonjs/Materials/Node/Blocks/Input/inputBlock";
254
254
  import "babylonjs-node-editor/components/propertyTab/propertyTab.scss";
255
+ import { LockObject } from "babylonjs-node-editor/tabs/propertyGrids/lockObject";
255
256
  interface IInputsPropertyTabComponentProps {
256
257
  globalState: GlobalState;
257
258
  inputs: InputBlock[];
259
+ lockObject: LockObject;
258
260
  }
259
261
  export class InputsPropertyTabComponent extends React.Component<IInputsPropertyTabComponentProps> {
260
262
  constructor(props: IInputsPropertyTabComponentProps);
@@ -269,9 +271,11 @@ declare module "babylonjs-node-editor/components/propertyTab/properties/color3Pr
269
271
  import * as React from "react";
270
272
  import { GlobalState } from "babylonjs-node-editor/globalState";
271
273
  import { InputBlock } from "babylonjs/Materials/Node/Blocks/Input/inputBlock";
274
+ import { LockObject } from "babylonjs-node-editor/tabs/propertyGrids/lockObject";
272
275
  interface IColor3PropertyTabComponentProps {
273
276
  globalState: GlobalState;
274
277
  inputBlock: InputBlock;
278
+ lockObject: LockObject;
275
279
  }
276
280
  export class Color3PropertyTabComponent extends React.Component<IColor3PropertyTabComponentProps> {
277
281
  render(): JSX.Element;
@@ -283,9 +287,11 @@ declare module "babylonjs-node-editor/components/propertyTab/properties/color4Pr
283
287
  import * as React from "react";
284
288
  import { GlobalState } from "babylonjs-node-editor/globalState";
285
289
  import { InputBlock } from "babylonjs/Materials/Node/Blocks/Input/inputBlock";
290
+ import { LockObject } from "babylonjs-node-editor/tabs/propertyGrids/lockObject";
286
291
  interface IColor4PropertyTabComponentProps {
287
292
  globalState: GlobalState;
288
293
  inputBlock: InputBlock;
294
+ lockObject: LockObject;
289
295
  }
290
296
  export class Color4PropertyTabComponent extends React.Component<IColor4PropertyTabComponentProps> {
291
297
  render(): JSX.Element;
@@ -311,9 +317,11 @@ declare module "babylonjs-node-editor/components/propertyTab/properties/matrixPr
311
317
  import * as React from "react";
312
318
  import { GlobalState } from "babylonjs-node-editor/globalState";
313
319
  import { InputBlock } from "babylonjs/Materials/Node/Blocks/Input/inputBlock";
320
+ import { LockObject } from "babylonjs-node-editor/tabs/propertyGrids/lockObject";
314
321
  interface IMatrixPropertyTabComponentProps {
315
322
  globalState: GlobalState;
316
323
  inputBlock: InputBlock;
324
+ lockObject: LockObject;
317
325
  }
318
326
  export class MatrixPropertyTabComponent extends React.Component<IMatrixPropertyTabComponentProps> {
319
327
  render(): JSX.Element;
@@ -325,9 +333,11 @@ declare module "babylonjs-node-editor/components/propertyTab/properties/vector2P
325
333
  import * as React from "react";
326
334
  import { GlobalState } from "babylonjs-node-editor/globalState";
327
335
  import { InputBlock } from "babylonjs/Materials/Node/Blocks/Input/inputBlock";
336
+ import { LockObject } from "babylonjs-node-editor/tabs/propertyGrids/lockObject";
328
337
  interface IVector2PropertyTabComponentProps {
329
338
  globalState: GlobalState;
330
339
  inputBlock: InputBlock;
340
+ lockObject: LockObject;
331
341
  }
332
342
  export class Vector2PropertyTabComponent extends React.Component<IVector2PropertyTabComponentProps> {
333
343
  render(): JSX.Element;
@@ -339,9 +349,11 @@ declare module "babylonjs-node-editor/components/propertyTab/properties/vector3P
339
349
  import * as React from "react";
340
350
  import { GlobalState } from "babylonjs-node-editor/globalState";
341
351
  import { InputBlock } from "babylonjs/Materials/Node/Blocks/Input/inputBlock";
352
+ import { LockObject } from "babylonjs-node-editor/tabs/propertyGrids/lockObject";
342
353
  interface IVector3PropertyTabComponentProps {
343
354
  globalState: GlobalState;
344
355
  inputBlock: InputBlock;
356
+ lockObject: LockObject;
345
357
  }
346
358
  export class Vector3PropertyTabComponent extends React.Component<IVector3PropertyTabComponentProps> {
347
359
  render(): JSX.Element;
@@ -353,9 +365,11 @@ declare module "babylonjs-node-editor/components/propertyTab/properties/vector4P
353
365
  import * as React from "react";
354
366
  import { GlobalState } from "babylonjs-node-editor/globalState";
355
367
  import { InputBlock } from "babylonjs/Materials/Node/Blocks/Input/inputBlock";
368
+ import { LockObject } from "babylonjs-node-editor/tabs/propertyGrids/lockObject";
356
369
  interface IVector4PropertyTabComponentProps {
357
370
  globalState: GlobalState;
358
371
  inputBlock: InputBlock;
372
+ lockObject: LockObject;
359
373
  }
360
374
  export class Vector4PropertyTabComponent extends React.Component<IVector4PropertyTabComponentProps> {
361
375
  render(): JSX.Element;
@@ -373,8 +387,10 @@ import { GraphNode } from "babylonjs-node-editor/nodeGraphSystem/graphNode";
373
387
  import { GraphFrame } from "babylonjs-node-editor/nodeGraphSystem/graphFrame";
374
388
  import { NodePort } from "babylonjs-node-editor/nodeGraphSystem/nodePort";
375
389
  import { FrameNodePort } from "babylonjs-node-editor/nodeGraphSystem/frameNodePort";
390
+ import { LockObject } from "babylonjs-node-editor/tabs/propertyGrids/lockObject";
376
391
  interface IPropertyTabComponentProps {
377
392
  globalState: GlobalState;
393
+ lockObject: LockObject;
378
394
  }
379
395
  interface IPropertyTabComponentState {
380
396
  currentNode: Nullable<GraphNode>;
@@ -488,7 +504,6 @@ interface IInternalPreviewAreaOptions extends IInspectorOptions {
488
504
  embedHostWidth?: string;
489
505
  }
490
506
  export class GraphEditor extends React.Component<IGraphEditorProps, IGraphEditorState> {
491
- static readonly NodeWidth: number;
492
507
  private _graphCanvasRef;
493
508
  private _diagramContainerRef;
494
509
  private _graphCanvas;
@@ -498,8 +513,6 @@ export class GraphEditor extends React.Component<IGraphEditorProps, IGraphEditor
498
513
  private _leftWidth;
499
514
  private _rightWidth;
500
515
  private _previewManager;
501
- private _copiedNodes;
502
- private _copiedFrames;
503
516
  private _mouseLocationX;
504
517
  private _mouseLocationY;
505
518
  private _onWidgetKeyUpPointer;
@@ -510,8 +523,6 @@ export class GraphEditor extends React.Component<IGraphEditorProps, IGraphEditor
510
523
  componentDidMount(): void;
511
524
  componentWillUnmount(): void;
512
525
  constructor(props: IGraphEditorProps);
513
- reconnectNewNodes(nodeIndex: number, newNodes: GraphNode[], sourceNodes: GraphNode[], done: boolean[]): void;
514
- pasteSelection(copiedNodes: GraphNode[], currentX: number, currentY: number, selectNew?: boolean): GraphNode[] | undefined;
515
526
  zoomToFit(): void;
516
527
  buildMaterial(autoConfigure?: boolean): void;
517
528
  build(ignoreEditorData?: boolean): void;
@@ -1109,7 +1120,7 @@ export class SerializationTools {
1109
1120
  declare module "babylonjs-node-editor/sharedComponents/checkBoxLineComponent" {
1110
1121
  import * as React from "react";
1111
1122
  import { Observable } from "babylonjs/Misc/observable";
1112
- import { PropertyChangedEvent } from "babylonjs-node-editor/sharedComponents/propertyChangedEvent";
1123
+ import { PropertyChangedEvent } from "babylonjs-node-editor/propertyChangedEvent";
1113
1124
  export interface ICheckBoxLineComponentProps {
1114
1125
  label: string;
1115
1126
  target?: any;
@@ -1136,34 +1147,6 @@ export class CheckBoxLineComponent extends React.Component<ICheckBoxLineComponen
1136
1147
  render(): JSX.Element;
1137
1148
  }
1138
1149
 
1139
- }
1140
- declare module "babylonjs-node-editor/sharedComponents/colorPickerComponent" {
1141
- import * as React from "react";
1142
- import { Color4, Color3 } from "babylonjs/Maths/math.color";
1143
- import { GlobalState } from "babylonjs-node-editor/globalState";
1144
- export interface IColorPickerComponentProps {
1145
- value: Color4 | Color3;
1146
- onColorChanged: (newOne: string) => void;
1147
- globalState: GlobalState;
1148
- }
1149
- interface IColorPickerComponentState {
1150
- pickerEnabled: boolean;
1151
- color: Color3 | Color4;
1152
- hex: string;
1153
- }
1154
- export class ColorPickerLineComponent extends React.Component<IColorPickerComponentProps, IColorPickerComponentState> {
1155
- private _floatRef;
1156
- private _floatHostRef;
1157
- constructor(props: IColorPickerComponentProps);
1158
- syncPositions(): void;
1159
- shouldComponentUpdate(nextProps: IColorPickerComponentProps, nextState: IColorPickerComponentState): boolean;
1160
- componentDidUpdate(): void;
1161
- componentDidMount(): void;
1162
- setPickerState(enabled: boolean): void;
1163
- render(): JSX.Element;
1164
- }
1165
- export {};
1166
-
1167
1150
  }
1168
1151
  declare module "babylonjs-node-editor/sharedComponents/draggableLineComponent" {
1169
1152
  import * as React from "react";
@@ -1209,46 +1192,6 @@ export class FileButtonLineComponent extends React.Component<IFileButtonLineComp
1209
1192
  }
1210
1193
  export {};
1211
1194
 
1212
- }
1213
- declare module "babylonjs-node-editor/sharedComponents/floatLineComponent" {
1214
- import * as React from "react";
1215
- import { Observable } from "babylonjs/Misc/observable";
1216
- import { PropertyChangedEvent } from "babylonjs-node-editor/sharedComponents/propertyChangedEvent";
1217
- import { GlobalState } from "babylonjs-node-editor/globalState";
1218
- interface IFloatLineComponentProps {
1219
- label: string;
1220
- target: any;
1221
- propertyName: string;
1222
- onChange?: (newValue: number) => void;
1223
- isInteger?: boolean;
1224
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1225
- additionalClass?: string;
1226
- step?: string;
1227
- digits?: number;
1228
- globalState: GlobalState;
1229
- min?: number;
1230
- max?: number;
1231
- smallUI?: boolean;
1232
- onEnter?: (newValue: number) => void;
1233
- }
1234
- export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
1235
- value: string;
1236
- }> {
1237
- private _localChange;
1238
- private _store;
1239
- private _regExp;
1240
- private _onFocus;
1241
- constructor(props: IFloatLineComponentProps);
1242
- shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
1243
- value: string;
1244
- }): boolean;
1245
- componentWillUnmount(): void;
1246
- raiseOnPropertyChanged(newValue: number, previousValue: number): void;
1247
- updateValue(valueString: string): void;
1248
- render(): JSX.Element;
1249
- }
1250
- export {};
1251
-
1252
1195
  }
1253
1196
  declare module "babylonjs-node-editor/sharedComponents/lineContainerComponent" {
1254
1197
  import * as React from "react";
@@ -1306,33 +1249,6 @@ export class MessageDialogComponent extends React.Component<IMessageDialogCompon
1306
1249
  }
1307
1250
  export {};
1308
1251
 
1309
- }
1310
- declare module "babylonjs-node-editor/sharedComponents/numericInputComponent" {
1311
- import * as React from "react";
1312
- import { GlobalState } from "babylonjs-node-editor/globalState";
1313
- interface INumericInputComponentProps {
1314
- label: string;
1315
- value: number;
1316
- step?: number;
1317
- onChange: (value: number) => void;
1318
- globalState: GlobalState;
1319
- }
1320
- export class NumericInputComponent extends React.Component<INumericInputComponentProps, {
1321
- value: string;
1322
- }> {
1323
- static defaultProps: {
1324
- step: number;
1325
- };
1326
- private _localChange;
1327
- constructor(props: INumericInputComponentProps);
1328
- shouldComponentUpdate(nextProps: INumericInputComponentProps, nextState: {
1329
- value: string;
1330
- }): boolean;
1331
- updateValue(evt: any): void;
1332
- render(): JSX.Element;
1333
- }
1334
- export {};
1335
-
1336
1252
  }
1337
1253
  declare module "babylonjs-node-editor/sharedComponents/popup" {
1338
1254
  export class Popup {
@@ -1340,69 +1256,6 @@ export class Popup {
1340
1256
  static _CopyStyles(sourceDoc: HTMLDocument, targetDoc: HTMLDocument): void;
1341
1257
  }
1342
1258
 
1343
- }
1344
- declare module "babylonjs-node-editor/sharedComponents/propertyChangedEvent" {
1345
- export class PropertyChangedEvent {
1346
- object: any;
1347
- property: string;
1348
- value: any;
1349
- initialValue: any;
1350
- }
1351
-
1352
- }
1353
- declare module "babylonjs-node-editor/sharedComponents/sliderLineComponent" {
1354
- import * as React from "react";
1355
- import { Observable } from "babylonjs/Misc/observable";
1356
- import { PropertyChangedEvent } from "babylonjs-node-editor/sharedComponents/propertyChangedEvent";
1357
- import { GlobalState } from "babylonjs-node-editor/globalState";
1358
- interface ISliderLineComponentProps {
1359
- label: string;
1360
- target?: any;
1361
- propertyName?: string;
1362
- minimum: number;
1363
- maximum: number;
1364
- step: number;
1365
- directValue?: number;
1366
- useEuler?: boolean;
1367
- onChange?: (value: number) => void;
1368
- onInput?: (value: number) => void;
1369
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1370
- decimalCount?: number;
1371
- globalState: GlobalState;
1372
- }
1373
- export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
1374
- value: number;
1375
- }> {
1376
- private _localChange;
1377
- constructor(props: ISliderLineComponentProps);
1378
- shouldComponentUpdate(nextProps: ISliderLineComponentProps, nextState: {
1379
- value: number;
1380
- }): boolean;
1381
- onChange(newValueString: any): void;
1382
- onInput(newValueString: any): void;
1383
- prepareDataToRead(value: number): number;
1384
- render(): JSX.Element;
1385
- }
1386
- export {};
1387
-
1388
- }
1389
- declare module "babylonjs-node-editor/sharedComponents/textLineComponent" {
1390
- import * as React from "react";
1391
- interface ITextLineComponentProps {
1392
- label: string;
1393
- value: string;
1394
- color?: string;
1395
- underline?: boolean;
1396
- onLink?: () => void;
1397
- }
1398
- export class TextLineComponent extends React.Component<ITextLineComponentProps> {
1399
- constructor(props: ITextLineComponentProps);
1400
- onLink(): void;
1401
- renderContent(): JSX.Element;
1402
- render(): JSX.Element;
1403
- }
1404
- export {};
1405
-
1406
1259
  }
1407
1260
  declare module "babylonjs-node-editor/sharedComponents/textureLineComponent" {
1408
1261
  import * as React from "react";
@@ -1436,6 +1289,7 @@ export {};
1436
1289
  }
1437
1290
  declare module "babylonjs-node-editor/colorPicker/colorComponentEntry" {
1438
1291
  import * as React from "react";
1292
+ import { LockObject } from "babylonjs-node-editor/tabs/propertyGrids/lockObject";
1439
1293
  export interface IColorComponentEntryProps {
1440
1294
  value: number;
1441
1295
  label: string;
@@ -1443,10 +1297,13 @@ export interface IColorComponentEntryProps {
1443
1297
  min?: number;
1444
1298
  onChange: (value: number) => void;
1445
1299
  disabled?: boolean;
1300
+ lockObject: LockObject;
1446
1301
  }
1447
1302
  export class ColorComponentEntry extends React.Component<IColorComponentEntryProps> {
1448
1303
  constructor(props: IColorComponentEntryProps);
1449
1304
  updateValue(valueString: string): void;
1305
+ lock(): void;
1306
+ unlock(): void;
1450
1307
  render(): JSX.Element;
1451
1308
  }
1452
1309
 
@@ -1454,6 +1311,7 @@ export class ColorComponentEntry extends React.Component<IColorComponentEntryPro
1454
1311
  declare module "babylonjs-node-editor/colorPicker/colorPicker" {
1455
1312
  import * as React from "react";
1456
1313
  import { Color3, Color4 } from "babylonjs/Maths/math.color";
1314
+ import { LockObject } from "babylonjs-node-editor/tabs/propertyGrids/lockObject";
1457
1315
  import "babylonjs-node-editor/colorPicker/colorPicker.scss";
1458
1316
  /**
1459
1317
  * Interface used to specify creation options for color picker
@@ -1463,6 +1321,7 @@ export interface IColorPickerProps {
1463
1321
  linearhint?: boolean;
1464
1322
  debugMode?: boolean;
1465
1323
  onColorChanged?: (color: Color3 | Color4) => void;
1324
+ lockObject: LockObject;
1466
1325
  }
1467
1326
  /**
1468
1327
  * Interface used to specify creation options for color picker
@@ -1497,10 +1356,12 @@ export class ColorPicker extends React.Component<IColorPickerProps, IColorPicker
1497
1356
  }
1498
1357
  declare module "babylonjs-node-editor/colorPicker/hexColor" {
1499
1358
  import * as React from "react";
1359
+ import { LockObject } from "babylonjs-node-editor/tabs/propertyGrids/lockObject";
1500
1360
  export interface IHexColorProps {
1501
1361
  value: string;
1502
1362
  expectedLength: number;
1503
1363
  onChange: (value: string) => void;
1364
+ lockObject: LockObject;
1504
1365
  }
1505
1366
  export class HexColor extends React.Component<IHexColorProps, {
1506
1367
  hex: string;
@@ -1509,6 +1370,8 @@ export class HexColor extends React.Component<IHexColorProps, {
1509
1370
  shouldComponentUpdate(nextProps: IHexColorProps, nextState: {
1510
1371
  hex: string;
1511
1372
  }): boolean;
1373
+ lock(): void;
1374
+ unlock(): void;
1512
1375
  updateHexValue(valueString: string): void;
1513
1376
  render(): JSX.Element;
1514
1377
  }
@@ -1641,7 +1504,7 @@ export interface IColor3LineComponentProps {
1641
1504
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1642
1505
  isLinear?: boolean;
1643
1506
  icon?: string;
1644
- lockObject?: LockObject;
1507
+ lockObject: LockObject;
1645
1508
  iconLabel?: string;
1646
1509
  onChange?: () => void;
1647
1510
  }
@@ -1664,7 +1527,7 @@ export interface IColor4LineComponentProps {
1664
1527
  isLinear?: boolean;
1665
1528
  icon?: string;
1666
1529
  iconLabel?: string;
1667
- lockObject?: LockObject;
1530
+ lockObject: LockObject;
1668
1531
  }
1669
1532
  export class Color4LineComponent extends React.Component<IColor4LineComponentProps> {
1670
1533
  render(): JSX.Element;
@@ -1686,8 +1549,8 @@ export interface IColorLineComponentProps {
1686
1549
  isLinear?: boolean;
1687
1550
  icon?: string;
1688
1551
  iconLabel?: string;
1689
- lockObject?: LockObject;
1690
1552
  disableAlpha?: boolean;
1553
+ lockObject: LockObject;
1691
1554
  }
1692
1555
  interface IColorLineComponentState {
1693
1556
  isExpanded: boolean;
@@ -1717,6 +1580,7 @@ export {};
1717
1580
  declare module "babylonjs-node-editor/lines/colorPickerComponent" {
1718
1581
  import * as React from "react";
1719
1582
  import { Color4, Color3 } from "babylonjs/Maths/math.color";
1583
+ import { LockObject } from "babylonjs-node-editor/tabs/propertyGrids/lockObject";
1720
1584
  export interface IColorPickerComponentProps {
1721
1585
  value: Color4 | Color3;
1722
1586
  linearHint?: boolean;
@@ -1724,6 +1588,7 @@ export interface IColorPickerComponentProps {
1724
1588
  icon?: string;
1725
1589
  iconLabel?: string;
1726
1590
  shouldPopRight?: boolean;
1591
+ lockObject?: LockObject;
1727
1592
  }
1728
1593
  interface IColorPickerComponentState {
1729
1594
  pickerEnabled: boolean;
@@ -2009,6 +1874,7 @@ import { Vector3, Vector4 } from "babylonjs/Maths/math.vector";
2009
1874
  import { Matrix } from "babylonjs/Maths/math.vector";
2010
1875
  import { Observable } from "babylonjs/Misc/observable";
2011
1876
  import { PropertyChangedEvent } from "babylonjs-node-editor/propertyChangedEvent";
1877
+ import { LockObject } from "babylonjs-node-editor/tabs/propertyGrids/lockObject";
2012
1878
  interface IMatrixLineComponentProps {
2013
1879
  label: string;
2014
1880
  target: any;
@@ -2018,6 +1884,7 @@ interface IMatrixLineComponentProps {
2018
1884
  onModeChange?: (mode: number) => void;
2019
1885
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2020
1886
  mode?: number;
1887
+ lockObject: LockObject;
2021
1888
  }
2022
1889
  export class MatrixLineComponent extends React.Component<IMatrixLineComponentProps, {
2023
1890
  value: Matrix;
@@ -2057,6 +1924,7 @@ export {};
2057
1924
  }
2058
1925
  declare module "babylonjs-node-editor/lines/numericInputComponent" {
2059
1926
  import * as React from "react";
1927
+ import { LockObject } from "babylonjs-node-editor/tabs/propertyGrids/lockObject";
2060
1928
  interface INumericInputComponentProps {
2061
1929
  label: string;
2062
1930
  value: number;
@@ -2065,6 +1933,7 @@ interface INumericInputComponentProps {
2065
1933
  precision?: number;
2066
1934
  icon?: string;
2067
1935
  iconLabel?: string;
1936
+ lockObject: LockObject;
2068
1937
  }
2069
1938
  export class NumericInputComponent extends React.Component<INumericInputComponentProps, {
2070
1939
  value: string;
@@ -2074,6 +1943,7 @@ export class NumericInputComponent extends React.Component<INumericInputComponen
2074
1943
  };
2075
1944
  private _localChange;
2076
1945
  constructor(props: INumericInputComponentProps);
1946
+ componentWillUnmount(): void;
2077
1947
  shouldComponentUpdate(nextProps: INumericInputComponentProps, nextState: {
2078
1948
  value: string;
2079
1949
  }): boolean;
@@ -2252,7 +2122,7 @@ export class TextInputLineComponent extends React.Component<ITextInputLineCompon
2252
2122
  }): boolean;
2253
2123
  raiseOnPropertyChanged(newValue: string, previousValue: string): void;
2254
2124
  getCurrentNumericValue(value: string): number;
2255
- updateValue(value: string): void;
2125
+ updateValue(value: string, valueToValidate?: string): void;
2256
2126
  incrementValue(amount: number): void;
2257
2127
  onKeyDown(event: React.KeyboardEvent): void;
2258
2128
  render(): JSX.Element;
@@ -2317,6 +2187,7 @@ import * as React from "react";
2317
2187
  import { Vector2 } from "babylonjs/Maths/math.vector";
2318
2188
  import { Observable } from "babylonjs/Misc/observable";
2319
2189
  import { PropertyChangedEvent } from "babylonjs-node-editor/propertyChangedEvent";
2190
+ import { LockObject } from "babylonjs-node-editor/tabs/propertyGrids/lockObject";
2320
2191
  interface IVector2LineComponentProps {
2321
2192
  label: string;
2322
2193
  target: any;
@@ -2326,6 +2197,7 @@ interface IVector2LineComponentProps {
2326
2197
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2327
2198
  icon?: string;
2328
2199
  iconLabel?: string;
2200
+ lockObject: LockObject;
2329
2201
  }
2330
2202
  export class Vector2LineComponent extends React.Component<IVector2LineComponentProps, {
2331
2203
  isExpanded: boolean;
@@ -2354,6 +2226,7 @@ import * as React from "react";
2354
2226
  import { Vector3 } from "babylonjs/Maths/math.vector";
2355
2227
  import { Observable } from "babylonjs/Misc/observable";
2356
2228
  import { PropertyChangedEvent } from "babylonjs-node-editor/propertyChangedEvent";
2229
+ import { LockObject } from "babylonjs-node-editor/tabs/propertyGrids/lockObject";
2357
2230
  interface IVector3LineComponentProps {
2358
2231
  label: string;
2359
2232
  target: any;
@@ -2365,6 +2238,7 @@ interface IVector3LineComponentProps {
2365
2238
  noSlider?: boolean;
2366
2239
  icon?: string;
2367
2240
  iconLabel?: string;
2241
+ lockObject: LockObject;
2368
2242
  }
2369
2243
  export class Vector3LineComponent extends React.Component<IVector3LineComponentProps, {
2370
2244
  isExpanded: boolean;
@@ -2396,6 +2270,7 @@ import * as React from "react";
2396
2270
  import { Vector4 } from "babylonjs/Maths/math.vector";
2397
2271
  import { Observable } from "babylonjs/Misc/observable";
2398
2272
  import { PropertyChangedEvent } from "babylonjs-node-editor/propertyChangedEvent";
2273
+ import { LockObject } from "babylonjs-node-editor/tabs/propertyGrids/lockObject";
2399
2274
  interface IVector4LineComponentProps {
2400
2275
  label: string;
2401
2276
  target?: any;
@@ -2407,6 +2282,7 @@ interface IVector4LineComponentProps {
2407
2282
  icon?: string;
2408
2283
  iconLabel?: string;
2409
2284
  value?: Vector4;
2285
+ lockObject: LockObject;
2410
2286
  }
2411
2287
  export class Vector4LineComponent extends React.Component<IVector4LineComponentProps, {
2412
2288
  isExpanded: boolean;
@@ -2488,6 +2364,7 @@ export interface IGraphCanvasComponentProps {
2488
2364
  onEmitNewNode: (nodeData: INodeData) => GraphNode;
2489
2365
  }
2490
2366
  export class GraphCanvasComponent extends React.Component<IGraphCanvasComponentProps> implements INodeContainer {
2367
+ static readonly NodeWidth: number;
2491
2368
  private readonly _minZoom;
2492
2369
  private readonly _maxZoom;
2493
2370
  private _hostCanvas;
@@ -2524,6 +2401,8 @@ export class GraphCanvasComponent extends React.Component<IGraphCanvasComponentP
2524
2401
  private _oldY;
2525
2402
  _frameIsMoving: boolean;
2526
2403
  _isLoading: boolean;
2404
+ private _copiedNodes;
2405
+ private _copiedFrames;
2527
2406
  get gridSize(): number;
2528
2407
  set gridSize(value: number);
2529
2408
  get stateManager(): StateManager;
@@ -2547,6 +2426,9 @@ export class GraphCanvasComponent extends React.Component<IGraphCanvasComponentP
2547
2426
  get frameContainer(): HTMLDivElement;
2548
2427
  private _selectedFrameAndNodesConflict;
2549
2428
  constructor(props: IGraphCanvasComponentProps);
2429
+ handleKeyDown(evt: KeyboardEvent, onRemove: (nodeData: INodeData) => void, mouseLocationX: number, mouseLocationY: number, dataGenerator: (nodeData: INodeData) => any, rootElement: HTMLDivElement): void;
2430
+ pasteSelection(copiedNodes: GraphNode[], currentX: number, currentY: number, dataGenerator: (nodeData: INodeData) => any, selectNew?: boolean): GraphNode[];
2431
+ reconnectNewNodes(nodeIndex: number, newNodes: GraphNode[], sourceNodes: GraphNode[], done: boolean[]): void;
2550
2432
  getCachedData(): any[];
2551
2433
  removeDataFromCache(data: any): void;
2552
2434
  createNodeFromObject(nodeData: INodeData, onNodeCreated: (data: any) => void, recursion?: boolean): GraphNode;
@@ -2568,6 +2450,7 @@ export class GraphCanvasComponent extends React.Component<IGraphCanvasComponentP
2568
2450
  zoomToFit(): void;
2569
2451
  processCandidatePort(): void;
2570
2452
  connectNodes(nodeA: GraphNode, pointA: IPortData, nodeB: GraphNode, pointB: IPortData): void;
2453
+ drop(newNode: GraphNode, targetX: number, targetY: number, offsetX: number, offsetY: number): void;
2571
2454
  processEditorData(editorData: IEditorData): void;
2572
2455
  reOrganize(editorData?: Nullable<IEditorData>, isImportingAFrame?: boolean): void;
2573
2456
  addFrame(frameData: IFrameData): void;
@@ -3612,6 +3495,7 @@ declare module BABYLON.NodeEditor {
3612
3495
  interface IInputsPropertyTabComponentProps {
3613
3496
  globalState: GlobalState;
3614
3497
  inputs: BABYLON.InputBlock[];
3498
+ lockObject: BABYLON.NodeEditor.SharedUIComponents.LockObject;
3615
3499
  }
3616
3500
  export class InputsPropertyTabComponent extends React.Component<IInputsPropertyTabComponentProps> {
3617
3501
  constructor(props: IInputsPropertyTabComponentProps);
@@ -3624,6 +3508,7 @@ declare module BABYLON.NodeEditor {
3624
3508
  interface IColor3PropertyTabComponentProps {
3625
3509
  globalState: GlobalState;
3626
3510
  inputBlock: BABYLON.InputBlock;
3511
+ lockObject: BABYLON.NodeEditor.SharedUIComponents.LockObject;
3627
3512
  }
3628
3513
  export class Color3PropertyTabComponent extends React.Component<IColor3PropertyTabComponentProps> {
3629
3514
  render(): JSX.Element;
@@ -3633,6 +3518,7 @@ declare module BABYLON.NodeEditor {
3633
3518
  interface IColor4PropertyTabComponentProps {
3634
3519
  globalState: GlobalState;
3635
3520
  inputBlock: BABYLON.InputBlock;
3521
+ lockObject: BABYLON.NodeEditor.SharedUIComponents.LockObject;
3636
3522
  }
3637
3523
  export class Color4PropertyTabComponent extends React.Component<IColor4PropertyTabComponentProps> {
3638
3524
  render(): JSX.Element;
@@ -3651,6 +3537,7 @@ declare module BABYLON.NodeEditor {
3651
3537
  interface IMatrixPropertyTabComponentProps {
3652
3538
  globalState: GlobalState;
3653
3539
  inputBlock: BABYLON.InputBlock;
3540
+ lockObject: BABYLON.NodeEditor.SharedUIComponents.LockObject;
3654
3541
  }
3655
3542
  export class MatrixPropertyTabComponent extends React.Component<IMatrixPropertyTabComponentProps> {
3656
3543
  render(): JSX.Element;
@@ -3660,6 +3547,7 @@ declare module BABYLON.NodeEditor {
3660
3547
  interface IVector2PropertyTabComponentProps {
3661
3548
  globalState: GlobalState;
3662
3549
  inputBlock: BABYLON.InputBlock;
3550
+ lockObject: BABYLON.NodeEditor.SharedUIComponents.LockObject;
3663
3551
  }
3664
3552
  export class Vector2PropertyTabComponent extends React.Component<IVector2PropertyTabComponentProps> {
3665
3553
  render(): JSX.Element;
@@ -3669,6 +3557,7 @@ declare module BABYLON.NodeEditor {
3669
3557
  interface IVector3PropertyTabComponentProps {
3670
3558
  globalState: GlobalState;
3671
3559
  inputBlock: BABYLON.InputBlock;
3560
+ lockObject: BABYLON.NodeEditor.SharedUIComponents.LockObject;
3672
3561
  }
3673
3562
  export class Vector3PropertyTabComponent extends React.Component<IVector3PropertyTabComponentProps> {
3674
3563
  render(): JSX.Element;
@@ -3678,6 +3567,7 @@ declare module BABYLON.NodeEditor {
3678
3567
  interface IVector4PropertyTabComponentProps {
3679
3568
  globalState: GlobalState;
3680
3569
  inputBlock: BABYLON.InputBlock;
3570
+ lockObject: BABYLON.NodeEditor.SharedUIComponents.LockObject;
3681
3571
  }
3682
3572
  export class Vector4PropertyTabComponent extends React.Component<IVector4PropertyTabComponentProps> {
3683
3573
  render(): JSX.Element;
@@ -3686,6 +3576,7 @@ declare module BABYLON.NodeEditor {
3686
3576
 
3687
3577
  interface IPropertyTabComponentProps {
3688
3578
  globalState: GlobalState;
3579
+ lockObject: BABYLON.NodeEditor.SharedUIComponents.LockObject;
3689
3580
  }
3690
3581
  interface IPropertyTabComponentState {
3691
3582
  currentNode: BABYLON.Nullable<BABYLON.NodeEditor.SharedUIComponents.GraphNode>;
@@ -3775,7 +3666,6 @@ declare module BABYLON.NodeEditor {
3775
3666
  embedHostWidth?: string;
3776
3667
  }
3777
3668
  export class GraphEditor extends React.Component<IGraphEditorProps, IGraphEditorState> {
3778
- static readonly NodeWidth = 100;
3779
3669
  private _graphCanvasRef;
3780
3670
  private _diagramContainerRef;
3781
3671
  private _graphCanvas;
@@ -3785,8 +3675,6 @@ declare module BABYLON.NodeEditor {
3785
3675
  private _leftWidth;
3786
3676
  private _rightWidth;
3787
3677
  private _previewManager;
3788
- private _copiedNodes;
3789
- private _copiedFrames;
3790
3678
  private _mouseLocationX;
3791
3679
  private _mouseLocationY;
3792
3680
  private _onWidgetKeyUpPointer;
@@ -3797,8 +3685,6 @@ declare module BABYLON.NodeEditor {
3797
3685
  componentDidMount(): void;
3798
3686
  componentWillUnmount(): void;
3799
3687
  constructor(props: IGraphEditorProps);
3800
- reconnectNewNodes(nodeIndex: number, newNodes: BABYLON.NodeEditor.SharedUIComponents.GraphNode[], sourceNodes: BABYLON.NodeEditor.SharedUIComponents.GraphNode[], done: boolean[]): void;
3801
- pasteSelection(copiedNodes: BABYLON.NodeEditor.SharedUIComponents.GraphNode[], currentX: number, currentY: number, selectNew?: boolean): BABYLON.NodeEditor.SharedUIComponents.GraphNode[] | undefined;
3802
3688
  zoomToFit(): void;
3803
3689
  buildMaterial(autoConfigure?: boolean): void;
3804
3690
  build(ignoreEditorData?: boolean): void;
@@ -4254,7 +4140,7 @@ declare module BABYLON.NodeEditor {
4254
4140
  isSelected?: () => boolean;
4255
4141
  onSelect?: (value: boolean) => void;
4256
4142
  onValueChanged?: () => void;
4257
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
4143
+ onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeEditor.SharedUIComponents.PropertyChangedEvent>;
4258
4144
  disabled?: boolean;
4259
4145
  }
4260
4146
  export class CheckBoxLineComponent extends React.Component<ICheckBoxLineComponentProps, {
@@ -4274,29 +4160,6 @@ declare module BABYLON.NodeEditor {
4274
4160
  }
4275
4161
 
4276
4162
 
4277
- export interface IColorPickerComponentProps {
4278
- value: BABYLON.Color4 | BABYLON.Color3;
4279
- onColorChanged: (newOne: string) => void;
4280
- globalState: GlobalState;
4281
- }
4282
- interface IColorPickerComponentState {
4283
- pickerEnabled: boolean;
4284
- color: BABYLON.Color3 | BABYLON.Color4;
4285
- hex: string;
4286
- }
4287
- export class ColorPickerLineComponent extends React.Component<IColorPickerComponentProps, IColorPickerComponentState> {
4288
- private _floatRef;
4289
- private _floatHostRef;
4290
- constructor(props: IColorPickerComponentProps);
4291
- syncPositions(): void;
4292
- shouldComponentUpdate(nextProps: IColorPickerComponentProps, nextState: IColorPickerComponentState): boolean;
4293
- componentDidUpdate(): void;
4294
- componentDidMount(): void;
4295
- setPickerState(enabled: boolean): void;
4296
- render(): JSX.Element;
4297
- }
4298
-
4299
-
4300
4163
  export interface IButtonLineComponentProps {
4301
4164
  data: string;
4302
4165
  tooltip: string;
@@ -4335,40 +4198,6 @@ declare module BABYLON.NodeEditor {
4335
4198
  }
4336
4199
 
4337
4200
 
4338
- interface IFloatLineComponentProps {
4339
- label: string;
4340
- target: any;
4341
- propertyName: string;
4342
- onChange?: (newValue: number) => void;
4343
- isInteger?: boolean;
4344
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
4345
- additionalClass?: string;
4346
- step?: string;
4347
- digits?: number;
4348
- globalState: GlobalState;
4349
- min?: number;
4350
- max?: number;
4351
- smallUI?: boolean;
4352
- onEnter?: (newValue: number) => void;
4353
- }
4354
- export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
4355
- value: string;
4356
- }> {
4357
- private _localChange;
4358
- private _store;
4359
- private _regExp;
4360
- private _onFocus;
4361
- constructor(props: IFloatLineComponentProps);
4362
- shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
4363
- value: string;
4364
- }): boolean;
4365
- componentWillUnmount(): void;
4366
- raiseOnPropertyChanged(newValue: number, previousValue: number): void;
4367
- updateValue(valueString: string): void;
4368
- render(): JSX.Element;
4369
- }
4370
-
4371
-
4372
4201
  interface ILineContainerComponentProps {
4373
4202
  title: string;
4374
4203
  children: any[] | any;
@@ -4416,88 +4245,12 @@ declare module BABYLON.NodeEditor {
4416
4245
  }
4417
4246
 
4418
4247
 
4419
- interface INumericInputComponentProps {
4420
- label: string;
4421
- value: number;
4422
- step?: number;
4423
- onChange: (value: number) => void;
4424
- globalState: GlobalState;
4425
- }
4426
- export class NumericInputComponent extends React.Component<INumericInputComponentProps, {
4427
- value: string;
4428
- }> {
4429
- static defaultProps: {
4430
- step: number;
4431
- };
4432
- private _localChange;
4433
- constructor(props: INumericInputComponentProps);
4434
- shouldComponentUpdate(nextProps: INumericInputComponentProps, nextState: {
4435
- value: string;
4436
- }): boolean;
4437
- updateValue(evt: any): void;
4438
- render(): JSX.Element;
4439
- }
4440
-
4441
-
4442
4248
  export class Popup {
4443
4249
  static CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): HTMLDivElement | null;
4444
4250
  static _CopyStyles(sourceDoc: HTMLDocument, targetDoc: HTMLDocument): void;
4445
4251
  }
4446
4252
 
4447
4253
 
4448
- export class PropertyChangedEvent {
4449
- object: any;
4450
- property: string;
4451
- value: any;
4452
- initialValue: any;
4453
- }
4454
-
4455
-
4456
- interface ISliderLineComponentProps {
4457
- label: string;
4458
- target?: any;
4459
- propertyName?: string;
4460
- minimum: number;
4461
- maximum: number;
4462
- step: number;
4463
- directValue?: number;
4464
- useEuler?: boolean;
4465
- onChange?: (value: number) => void;
4466
- onInput?: (value: number) => void;
4467
- onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
4468
- decimalCount?: number;
4469
- globalState: GlobalState;
4470
- }
4471
- export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
4472
- value: number;
4473
- }> {
4474
- private _localChange;
4475
- constructor(props: ISliderLineComponentProps);
4476
- shouldComponentUpdate(nextProps: ISliderLineComponentProps, nextState: {
4477
- value: number;
4478
- }): boolean;
4479
- onChange(newValueString: any): void;
4480
- onInput(newValueString: any): void;
4481
- prepareDataToRead(value: number): number;
4482
- render(): JSX.Element;
4483
- }
4484
-
4485
-
4486
- interface ITextLineComponentProps {
4487
- label: string;
4488
- value: string;
4489
- color?: string;
4490
- underline?: boolean;
4491
- onLink?: () => void;
4492
- }
4493
- export class TextLineComponent extends React.Component<ITextLineComponentProps> {
4494
- constructor(props: ITextLineComponentProps);
4495
- onLink(): void;
4496
- renderContent(): JSX.Element;
4497
- render(): JSX.Element;
4498
- }
4499
-
4500
-
4501
4254
  interface ITextureLineComponentProps {
4502
4255
  texture: BABYLON.BaseTexture;
4503
4256
  width: number;
@@ -4534,10 +4287,13 @@ declare module BABYLON.NodeEditor.SharedUIComponents {
4534
4287
  min?: number;
4535
4288
  onChange: (value: number) => void;
4536
4289
  disabled?: boolean;
4290
+ lockObject: BABYLON.NodeEditor.SharedUIComponents.LockObject;
4537
4291
  }
4538
4292
  export class ColorComponentEntry extends React.Component<IColorComponentEntryProps> {
4539
4293
  constructor(props: IColorComponentEntryProps);
4540
4294
  updateValue(valueString: string): void;
4295
+ lock(): void;
4296
+ unlock(): void;
4541
4297
  render(): JSX.Element;
4542
4298
  }
4543
4299
 
@@ -4556,6 +4312,7 @@ declare module BABYLON.NodeEditor.SharedUIComponents {
4556
4312
  linearhint?: boolean;
4557
4313
  debugMode?: boolean;
4558
4314
  onColorChanged?: (color: BABYLON.Color3 | BABYLON.Color4) => void;
4315
+ lockObject: BABYLON.NodeEditor.SharedUIComponents.LockObject;
4559
4316
  }
4560
4317
  /**
4561
4318
  * Interface used to specify creation options for color picker
@@ -4598,6 +4355,7 @@ declare module BABYLON.NodeEditor.SharedUIComponents {
4598
4355
  value: string;
4599
4356
  expectedLength: number;
4600
4357
  onChange: (value: string) => void;
4358
+ lockObject: BABYLON.NodeEditor.SharedUIComponents.LockObject;
4601
4359
  }
4602
4360
  export class HexColor extends React.Component<IHexColorProps, {
4603
4361
  hex: string;
@@ -4606,6 +4364,8 @@ declare module BABYLON.NodeEditor.SharedUIComponents {
4606
4364
  shouldComponentUpdate(nextProps: IHexColorProps, nextState: {
4607
4365
  hex: string;
4608
4366
  }): boolean;
4367
+ lock(): void;
4368
+ unlock(): void;
4609
4369
  updateHexValue(valueString: string): void;
4610
4370
  render(): JSX.Element;
4611
4371
  }
@@ -4772,7 +4532,7 @@ declare module BABYLON.NodeEditor.SharedUIComponents {
4772
4532
  onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeEditor.SharedUIComponents.PropertyChangedEvent>;
4773
4533
  isLinear?: boolean;
4774
4534
  icon?: string;
4775
- lockObject?: BABYLON.NodeEditor.SharedUIComponents.LockObject;
4535
+ lockObject: BABYLON.NodeEditor.SharedUIComponents.LockObject;
4776
4536
  iconLabel?: string;
4777
4537
  onChange?: () => void;
4778
4538
  }
@@ -4796,7 +4556,7 @@ declare module BABYLON.NodeEditor.SharedUIComponents {
4796
4556
  isLinear?: boolean;
4797
4557
  icon?: string;
4798
4558
  iconLabel?: string;
4799
- lockObject?: BABYLON.NodeEditor.SharedUIComponents.LockObject;
4559
+ lockObject: BABYLON.NodeEditor.SharedUIComponents.LockObject;
4800
4560
  }
4801
4561
  export class Color4LineComponent extends React.Component<IColor4LineComponentProps> {
4802
4562
  render(): JSX.Element;
@@ -4818,8 +4578,8 @@ declare module BABYLON.NodeEditor.SharedUIComponents {
4818
4578
  isLinear?: boolean;
4819
4579
  icon?: string;
4820
4580
  iconLabel?: string;
4821
- lockObject?: BABYLON.NodeEditor.SharedUIComponents.LockObject;
4822
4581
  disableAlpha?: boolean;
4582
+ lockObject: BABYLON.NodeEditor.SharedUIComponents.LockObject;
4823
4583
  }
4824
4584
  interface IColorLineComponentState {
4825
4585
  isExpanded: boolean;
@@ -4858,6 +4618,7 @@ declare module BABYLON.NodeEditor.SharedUIComponents {
4858
4618
  icon?: string;
4859
4619
  iconLabel?: string;
4860
4620
  shouldPopRight?: boolean;
4621
+ lockObject?: BABYLON.NodeEditor.SharedUIComponents.LockObject;
4861
4622
  }
4862
4623
  interface IColorPickerComponentState {
4863
4624
  pickerEnabled: boolean;
@@ -5183,6 +4944,7 @@ declare module BABYLON.NodeEditor.SharedUIComponents {
5183
4944
  onModeChange?: (mode: number) => void;
5184
4945
  onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeEditor.SharedUIComponents.PropertyChangedEvent>;
5185
4946
  mode?: number;
4947
+ lockObject: BABYLON.NodeEditor.SharedUIComponents.LockObject;
5186
4948
  }
5187
4949
  export class MatrixLineComponent extends React.Component<IMatrixLineComponentProps, {
5188
4950
  value: BABYLON.Matrix;
@@ -5235,6 +4997,7 @@ declare module BABYLON.NodeEditor.SharedUIComponents {
5235
4997
  precision?: number;
5236
4998
  icon?: string;
5237
4999
  iconLabel?: string;
5000
+ lockObject: BABYLON.NodeEditor.SharedUIComponents.LockObject;
5238
5001
  }
5239
5002
  export class NumericInputComponent extends React.Component<INumericInputComponentProps, {
5240
5003
  value: string;
@@ -5244,6 +5007,7 @@ declare module BABYLON.NodeEditor.SharedUIComponents {
5244
5007
  };
5245
5008
  private _localChange;
5246
5009
  constructor(props: INumericInputComponentProps);
5010
+ componentWillUnmount(): void;
5247
5011
  shouldComponentUpdate(nextProps: INumericInputComponentProps, nextState: {
5248
5012
  value: string;
5249
5013
  }): boolean;
@@ -5433,7 +5197,7 @@ declare module BABYLON.NodeEditor.SharedUIComponents {
5433
5197
  }): boolean;
5434
5198
  raiseOnPropertyChanged(newValue: string, previousValue: string): void;
5435
5199
  getCurrentNumericValue(value: string): number;
5436
- updateValue(value: string): void;
5200
+ updateValue(value: string, valueToValidate?: string): void;
5437
5201
  incrementValue(amount: number): void;
5438
5202
  onKeyDown(event: React.KeyboardEvent): void;
5439
5203
  render(): JSX.Element;
@@ -5518,6 +5282,7 @@ declare module BABYLON.NodeEditor.SharedUIComponents {
5518
5282
  onPropertyChangedObservable?: BABYLON.Observable<BABYLON.NodeEditor.SharedUIComponents.PropertyChangedEvent>;
5519
5283
  icon?: string;
5520
5284
  iconLabel?: string;
5285
+ lockObject: BABYLON.NodeEditor.SharedUIComponents.LockObject;
5521
5286
  }
5522
5287
  export class Vector2LineComponent extends React.Component<IVector2LineComponentProps, {
5523
5288
  isExpanded: boolean;
@@ -5557,6 +5322,7 @@ declare module BABYLON.NodeEditor.SharedUIComponents {
5557
5322
  noSlider?: boolean;
5558
5323
  icon?: string;
5559
5324
  iconLabel?: string;
5325
+ lockObject: BABYLON.NodeEditor.SharedUIComponents.LockObject;
5560
5326
  }
5561
5327
  export class Vector3LineComponent extends React.Component<IVector3LineComponentProps, {
5562
5328
  isExpanded: boolean;
@@ -5599,6 +5365,7 @@ declare module BABYLON.NodeEditor.SharedUIComponents {
5599
5365
  icon?: string;
5600
5366
  iconLabel?: string;
5601
5367
  value?: BABYLON.Vector4;
5368
+ lockObject: BABYLON.NodeEditor.SharedUIComponents.LockObject;
5602
5369
  }
5603
5370
  export class Vector4LineComponent extends React.Component<IVector4LineComponentProps, {
5604
5371
  isExpanded: boolean;
@@ -5674,6 +5441,7 @@ declare module BABYLON.NodeEditor.SharedUIComponents {
5674
5441
  onEmitNewNode: (nodeData: BABYLON.NodeEditor.SharedUIComponents.INodeData) => BABYLON.NodeEditor.SharedUIComponents.GraphNode;
5675
5442
  }
5676
5443
  export class GraphCanvasComponent extends React.Component<IGraphCanvasComponentProps> implements BABYLON.NodeEditor.SharedUIComponents.INodeContainer {
5444
+ static readonly NodeWidth = 100;
5677
5445
  private readonly _minZoom;
5678
5446
  private readonly _maxZoom;
5679
5447
  private _hostCanvas;
@@ -5710,6 +5478,8 @@ declare module BABYLON.NodeEditor.SharedUIComponents {
5710
5478
  private _oldY;
5711
5479
  _frameIsMoving: boolean;
5712
5480
  _isLoading: boolean;
5481
+ private _copiedNodes;
5482
+ private _copiedFrames;
5713
5483
  get gridSize(): number;
5714
5484
  set gridSize(value: number);
5715
5485
  get stateManager(): BABYLON.NodeEditor.SharedUIComponents.StateManager;
@@ -5733,6 +5503,9 @@ declare module BABYLON.NodeEditor.SharedUIComponents {
5733
5503
  get frameContainer(): HTMLDivElement;
5734
5504
  private _selectedFrameAndNodesConflict;
5735
5505
  constructor(props: IGraphCanvasComponentProps);
5506
+ handleKeyDown(evt: KeyboardEvent, onRemove: (nodeData: BABYLON.NodeEditor.SharedUIComponents.INodeData) => void, mouseLocationX: number, mouseLocationY: number, dataGenerator: (nodeData: BABYLON.NodeEditor.SharedUIComponents.INodeData) => any, rootElement: HTMLDivElement): void;
5507
+ pasteSelection(copiedNodes: BABYLON.NodeEditor.SharedUIComponents.GraphNode[], currentX: number, currentY: number, dataGenerator: (nodeData: BABYLON.NodeEditor.SharedUIComponents.INodeData) => any, selectNew?: boolean): BABYLON.NodeEditor.SharedUIComponents.GraphNode[];
5508
+ reconnectNewNodes(nodeIndex: number, newNodes: BABYLON.NodeEditor.SharedUIComponents.GraphNode[], sourceNodes: BABYLON.NodeEditor.SharedUIComponents.GraphNode[], done: boolean[]): void;
5736
5509
  getCachedData(): any[];
5737
5510
  removeDataFromCache(data: any): void;
5738
5511
  createNodeFromObject(nodeData: BABYLON.NodeEditor.SharedUIComponents.INodeData, onNodeCreated: (data: any) => void, recursion?: boolean): BABYLON.NodeEditor.SharedUIComponents.GraphNode;
@@ -5754,6 +5527,7 @@ declare module BABYLON.NodeEditor.SharedUIComponents {
5754
5527
  zoomToFit(): void;
5755
5528
  processCandidatePort(): void;
5756
5529
  connectNodes(nodeA: BABYLON.NodeEditor.SharedUIComponents.GraphNode, pointA: BABYLON.NodeEditor.SharedUIComponents.IPortData, nodeB: BABYLON.NodeEditor.SharedUIComponents.GraphNode, pointB: BABYLON.NodeEditor.SharedUIComponents.IPortData): void;
5530
+ drop(newNode: BABYLON.NodeEditor.SharedUIComponents.GraphNode, targetX: number, targetY: number, offsetX: number, offsetY: number): void;
5757
5531
  processEditorData(editorData: BABYLON.NodeEditor.SharedUIComponents.IEditorData): void;
5758
5532
  reOrganize(editorData?: BABYLON.Nullable<BABYLON.NodeEditor.SharedUIComponents.IEditorData>, isImportingAFrame?: boolean): void;
5759
5533
  addFrame(frameData: BABYLON.NodeEditor.SharedUIComponents.IFrameData): void;