@babylonjs/gui 5.0.0-rc.7 → 5.0.0-rc.9
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/2D/adtInstrumentation.d.ts +52 -52
- package/2D/adtInstrumentation.js +126 -126
- package/2D/advancedDynamicTexture.d.ts +448 -448
- package/2D/advancedDynamicTexture.js +1318 -1318
- package/2D/controls/button.d.ts +135 -135
- package/2D/controls/button.js +276 -276
- package/2D/controls/checkbox.d.ts +59 -59
- package/2D/controls/checkbox.js +188 -188
- package/2D/controls/colorpicker.d.ts +103 -103
- package/2D/controls/colorpicker.js +1417 -1417
- package/2D/controls/container.d.ts +175 -175
- package/2D/controls/container.js +570 -570
- package/2D/controls/control.d.ts +866 -866
- package/2D/controls/control.js +2433 -2433
- package/2D/controls/displayGrid.d.ts +53 -53
- package/2D/controls/displayGrid.js +245 -245
- package/2D/controls/ellipse.d.ts +21 -21
- package/2D/controls/ellipse.js +85 -85
- package/2D/controls/focusableButton.d.ts +59 -59
- package/2D/controls/focusableButton.js +99 -99
- package/2D/controls/focusableControl.d.ts +34 -34
- package/2D/controls/focusableControl.js +1 -1
- package/2D/controls/grid.d.ts +139 -139
- package/2D/controls/grid.js +529 -529
- package/2D/controls/image.d.ts +204 -204
- package/2D/controls/image.js +887 -887
- package/2D/controls/index.d.ts +29 -29
- package/2D/controls/index.js +29 -29
- package/2D/controls/inputPassword.d.ts +8 -8
- package/2D/controls/inputPassword.js +25 -25
- package/2D/controls/inputText.d.ts +201 -201
- package/2D/controls/inputText.js +1119 -1119
- package/2D/controls/line.d.ts +66 -66
- package/2D/controls/line.js +271 -271
- package/2D/controls/multiLine.d.ts +75 -75
- package/2D/controls/multiLine.js +262 -262
- package/2D/controls/radioButton.d.ts +49 -49
- package/2D/controls/radioButton.js +205 -205
- package/2D/controls/rectangle.d.ts +29 -29
- package/2D/controls/rectangle.js +150 -150
- package/2D/controls/scrollViewers/scrollViewer.d.ts +182 -182
- package/2D/controls/scrollViewers/scrollViewer.js +677 -677
- package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +57 -57
- package/2D/controls/scrollViewers/scrollViewerWindow.js +278 -278
- package/2D/controls/selector.d.ts +263 -263
- package/2D/controls/selector.js +692 -692
- package/2D/controls/sliders/baseSlider.d.ts +82 -82
- package/2D/controls/sliders/baseSlider.js +347 -347
- package/2D/controls/sliders/imageBasedSlider.d.ts +49 -49
- package/2D/controls/sliders/imageBasedSlider.js +192 -192
- package/2D/controls/sliders/imageScrollBar.d.ts +65 -65
- package/2D/controls/sliders/imageScrollBar.js +263 -263
- package/2D/controls/sliders/scrollBar.d.ts +38 -38
- package/2D/controls/sliders/scrollBar.js +143 -143
- package/2D/controls/sliders/slider.d.ts +35 -35
- package/2D/controls/sliders/slider.js +271 -271
- package/2D/controls/stackPanel.d.ts +64 -64
- package/2D/controls/stackPanel.js +246 -246
- package/2D/controls/statics.d.ts +6 -6
- package/2D/controls/statics.js +49 -49
- package/2D/controls/textBlock.d.ts +175 -175
- package/2D/controls/textBlock.js +603 -603
- package/2D/controls/textWrapper.d.ts +13 -13
- package/2D/controls/textWrapper.js +101 -101
- package/2D/controls/toggleButton.d.ts +117 -117
- package/2D/controls/toggleButton.js +268 -268
- package/2D/controls/virtualKeyboard.d.ts +96 -96
- package/2D/controls/virtualKeyboard.js +256 -256
- package/2D/index.d.ts +9 -9
- package/2D/index.js +9 -9
- package/2D/math2D.d.ts +117 -117
- package/2D/math2D.js +221 -221
- package/2D/measure.d.ts +77 -77
- package/2D/measure.js +139 -139
- package/2D/multiLinePoint.d.ts +47 -47
- package/2D/multiLinePoint.js +127 -127
- package/2D/style.d.ts +46 -46
- package/2D/style.js +97 -97
- package/2D/valueAndUnit.d.ts +89 -89
- package/2D/valueAndUnit.js +226 -226
- package/2D/xmlLoader.d.ts +60 -60
- package/2D/xmlLoader.js +348 -348
- package/3D/behaviors/defaultBehavior.d.ts +73 -73
- package/3D/behaviors/defaultBehavior.js +121 -121
- package/3D/controls/abstractButton3D.d.ts +15 -15
- package/3D/controls/abstractButton3D.js +25 -25
- package/3D/controls/button3D.d.ts +30 -30
- package/3D/controls/button3D.js +93 -93
- package/3D/controls/container3D.d.ts +72 -72
- package/3D/controls/container3D.js +139 -139
- package/3D/controls/contentDisplay3D.d.ts +30 -30
- package/3D/controls/contentDisplay3D.js +79 -79
- package/3D/controls/control3D.d.ts +201 -201
- package/3D/controls/control3D.js +445 -445
- package/3D/controls/cylinderPanel.d.ts +17 -17
- package/3D/controls/cylinderPanel.js +66 -66
- package/3D/controls/handMenu.d.ts +28 -28
- package/3D/controls/handMenu.js +47 -47
- package/3D/controls/holographicBackplate.d.ts +49 -49
- package/3D/controls/holographicBackplate.js +120 -120
- package/3D/controls/holographicButton.d.ts +84 -84
- package/3D/controls/holographicButton.js +339 -339
- package/3D/controls/holographicSlate.d.ts +131 -131
- package/3D/controls/holographicSlate.js +431 -431
- package/3D/controls/index.d.ts +21 -21
- package/3D/controls/index.js +21 -21
- package/3D/controls/meshButton3D.d.ts +21 -21
- package/3D/controls/meshButton3D.js +62 -62
- package/3D/controls/nearMenu.d.ts +44 -44
- package/3D/controls/nearMenu.js +114 -114
- package/3D/controls/planePanel.d.ts +9 -9
- package/3D/controls/planePanel.js +36 -36
- package/3D/controls/scatterPanel.d.ts +18 -18
- package/3D/controls/scatterPanel.js +108 -108
- package/3D/controls/slider3D.d.ts +81 -81
- package/3D/controls/slider3D.js +268 -268
- package/3D/controls/spherePanel.d.ts +17 -17
- package/3D/controls/spherePanel.js +67 -67
- package/3D/controls/stackPanel3D.d.ts +22 -22
- package/3D/controls/stackPanel3D.js +107 -107
- package/3D/controls/touchButton3D.d.ts +80 -80
- package/3D/controls/touchButton3D.js +233 -233
- package/3D/controls/touchHolographicButton.d.ts +110 -110
- package/3D/controls/touchHolographicButton.js +445 -445
- package/3D/controls/touchHolographicMenu.d.ts +61 -61
- package/3D/controls/touchHolographicMenu.js +149 -149
- package/3D/controls/touchMeshButton3D.d.ts +21 -21
- package/3D/controls/touchMeshButton3D.js +62 -62
- package/3D/controls/volumeBasedPanel.d.ts +53 -53
- package/3D/controls/volumeBasedPanel.js +174 -174
- package/3D/gizmos/gizmoHandle.d.ts +108 -108
- package/3D/gizmos/gizmoHandle.js +209 -209
- package/3D/gizmos/index.d.ts +2 -2
- package/3D/gizmos/index.js +2 -2
- package/3D/gizmos/slateGizmo.d.ts +57 -57
- package/3D/gizmos/slateGizmo.js +369 -369
- package/3D/gui3DManager.d.ts +94 -94
- package/3D/gui3DManager.js +257 -257
- package/3D/index.d.ts +5 -5
- package/3D/index.js +5 -5
- package/3D/materials/fluent/fluentMaterial.d.ts +90 -90
- package/3D/materials/fluent/fluentMaterial.js +292 -292
- package/3D/materials/fluent/index.d.ts +1 -1
- package/3D/materials/fluent/index.js +1 -1
- package/3D/materials/fluent/shaders/fluent.fragment.d.ts +5 -5
- package/3D/materials/fluent/shaders/fluent.fragment.js +8 -8
- package/3D/materials/fluent/shaders/fluent.vertex.d.ts +5 -5
- package/3D/materials/fluent/shaders/fluent.vertex.js +8 -8
- package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +154 -154
- package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +469 -469
- package/3D/materials/fluentBackplate/index.d.ts +1 -1
- package/3D/materials/fluentBackplate/index.js +1 -1
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -5
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +8 -8
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -5
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +8 -8
- package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +189 -189
- package/3D/materials/fluentButton/fluentButtonMaterial.js +539 -539
- package/3D/materials/fluentButton/index.d.ts +1 -1
- package/3D/materials/fluentButton/index.js +1 -1
- package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -5
- package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +8 -8
- package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -5
- package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +8 -8
- package/3D/materials/fluentMaterial.d.ts +4 -4
- package/3D/materials/fluentMaterial.js +4 -4
- package/3D/materials/handle/handleMaterial.d.ts +68 -68
- package/3D/materials/handle/handleMaterial.js +126 -126
- package/3D/materials/handle/index.d.ts +1 -1
- package/3D/materials/handle/index.js +1 -1
- package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -5
- package/3D/materials/handle/shaders/handle.fragment.js +8 -8
- package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -5
- package/3D/materials/handle/shaders/handle.vertex.js +8 -8
- package/3D/materials/index.d.ts +5 -5
- package/3D/materials/index.js +5 -5
- package/3D/materials/mrdl/index.d.ts +3 -3
- package/3D/materials/mrdl/index.js +3 -3
- package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +147 -147
- package/3D/materials/mrdl/mrdlBackplateMaterial.js +436 -436
- package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +333 -333
- package/3D/materials/mrdl/mrdlSliderBarMaterial.js +851 -851
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +333 -333
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +851 -851
- package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -5
- package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +8 -8
- package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -5
- package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +8 -8
- package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -5
- package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +8 -8
- package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -5
- package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +8 -8
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -5
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +8 -8
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -5
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +8 -8
- package/3D/vector3WithInfo.d.ts +16 -16
- package/3D/vector3WithInfo.js +23 -23
- package/index.d.ts +2 -2
- package/index.js +2 -2
- package/legacy/legacy.d.ts +1 -1
- package/legacy/legacy.js +13 -13
- package/package.json +2 -2
|
@@ -1,108 +1,108 @@
|
|
|
1
|
-
import { Scene } from "@babylonjs/core/scene.js";
|
|
2
|
-
import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
|
|
3
|
-
import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
|
4
|
-
import { HandleMaterial } from "../materials/handle/handleMaterial";
|
|
5
|
-
import { SlateGizmo } from "./slateGizmo";
|
|
6
|
-
import { BaseSixDofDragBehavior } from "@babylonjs/core/Behaviors/Meshes/baseSixDofDragBehavior.js";
|
|
7
|
-
/**
|
|
8
|
-
* State of the handle regarding user interaction
|
|
9
|
-
*/
|
|
10
|
-
export declare enum HandleState {
|
|
11
|
-
/**
|
|
12
|
-
* Handle is idle
|
|
13
|
-
*/
|
|
14
|
-
IDLE = 0,
|
|
15
|
-
/**
|
|
16
|
-
* Handle is hovered
|
|
17
|
-
*/
|
|
18
|
-
HOVER = 1,
|
|
19
|
-
/**
|
|
20
|
-
* Handle is dragged
|
|
21
|
-
*/
|
|
22
|
-
DRAG = 2
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Base class for SlateGizmo handles
|
|
26
|
-
*/
|
|
27
|
-
export declare abstract class GizmoHandle {
|
|
28
|
-
protected _scene: Scene;
|
|
29
|
-
protected _state: HandleState;
|
|
30
|
-
protected _materials: HandleMaterial[];
|
|
31
|
-
private _dragStartObserver;
|
|
32
|
-
private _draggingObserver;
|
|
33
|
-
private _dragEndObserver;
|
|
34
|
-
/**
|
|
35
|
-
* @hidden
|
|
36
|
-
*/
|
|
37
|
-
_dragBehavior: BaseSixDofDragBehavior;
|
|
38
|
-
/**
|
|
39
|
-
* The current state of the handle
|
|
40
|
-
*/
|
|
41
|
-
get state(): HandleState;
|
|
42
|
-
private _gizmo;
|
|
43
|
-
/**
|
|
44
|
-
* Returns the gizmo carrying this handle
|
|
45
|
-
*/
|
|
46
|
-
get gizmo(): SlateGizmo;
|
|
47
|
-
/**
|
|
48
|
-
* Sets hover state
|
|
49
|
-
*/
|
|
50
|
-
set hover(value: boolean);
|
|
51
|
-
/**
|
|
52
|
-
* Sets drag state
|
|
53
|
-
*/
|
|
54
|
-
set drag(value: boolean);
|
|
55
|
-
/**
|
|
56
|
-
* Node of this handle
|
|
57
|
-
*/
|
|
58
|
-
node: TransformNode;
|
|
59
|
-
/**
|
|
60
|
-
* Creates a handle for a SlateGizmo
|
|
61
|
-
* @param gizmo associated SlateGizmo
|
|
62
|
-
* @param scene scene
|
|
63
|
-
*/
|
|
64
|
-
constructor(gizmo: SlateGizmo, scene: Scene);
|
|
65
|
-
protected _createMaterial(positionOffset?: Vector3): HandleMaterial;
|
|
66
|
-
private _updateMaterial;
|
|
67
|
-
/**
|
|
68
|
-
* Binds callbacks from dragging interaction
|
|
69
|
-
* @param dragStartFn Function to call on drag start
|
|
70
|
-
* @param dragFn Function to call on drag
|
|
71
|
-
* @param dragEndFn Function to call on drag end
|
|
72
|
-
*/
|
|
73
|
-
setDragBehavior(dragStartFn: (event: {
|
|
74
|
-
position: Vector3;
|
|
75
|
-
}) => void, dragFn: (event: {
|
|
76
|
-
position: Vector3;
|
|
77
|
-
}) => void, dragEndFn: () => void): void;
|
|
78
|
-
/**
|
|
79
|
-
* Creates the meshes and parent node of the handle
|
|
80
|
-
* Should be overridden by child classes
|
|
81
|
-
* @returns created node
|
|
82
|
-
*/
|
|
83
|
-
abstract createNode(): TransformNode;
|
|
84
|
-
/**
|
|
85
|
-
* Disposes the handle
|
|
86
|
-
*/
|
|
87
|
-
dispose(): void;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Side handle class that rotates the slate
|
|
91
|
-
*/
|
|
92
|
-
export declare class SideHandle extends GizmoHandle {
|
|
93
|
-
/**
|
|
94
|
-
* Creates the meshes and parent node of the handle
|
|
95
|
-
* @returns created node
|
|
96
|
-
*/
|
|
97
|
-
createNode(): TransformNode;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Corner handle that resizes the slate
|
|
101
|
-
*/
|
|
102
|
-
export declare class CornerHandle extends GizmoHandle {
|
|
103
|
-
/**
|
|
104
|
-
* Creates the meshes and parent node of the handle
|
|
105
|
-
* @returns created node
|
|
106
|
-
*/
|
|
107
|
-
createNode(): TransformNode;
|
|
108
|
-
}
|
|
1
|
+
import { Scene } from "@babylonjs/core/scene.js";
|
|
2
|
+
import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
|
|
3
|
+
import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
|
4
|
+
import { HandleMaterial } from "../materials/handle/handleMaterial";
|
|
5
|
+
import { SlateGizmo } from "./slateGizmo";
|
|
6
|
+
import { BaseSixDofDragBehavior } from "@babylonjs/core/Behaviors/Meshes/baseSixDofDragBehavior.js";
|
|
7
|
+
/**
|
|
8
|
+
* State of the handle regarding user interaction
|
|
9
|
+
*/
|
|
10
|
+
export declare enum HandleState {
|
|
11
|
+
/**
|
|
12
|
+
* Handle is idle
|
|
13
|
+
*/
|
|
14
|
+
IDLE = 0,
|
|
15
|
+
/**
|
|
16
|
+
* Handle is hovered
|
|
17
|
+
*/
|
|
18
|
+
HOVER = 1,
|
|
19
|
+
/**
|
|
20
|
+
* Handle is dragged
|
|
21
|
+
*/
|
|
22
|
+
DRAG = 2
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Base class for SlateGizmo handles
|
|
26
|
+
*/
|
|
27
|
+
export declare abstract class GizmoHandle {
|
|
28
|
+
protected _scene: Scene;
|
|
29
|
+
protected _state: HandleState;
|
|
30
|
+
protected _materials: HandleMaterial[];
|
|
31
|
+
private _dragStartObserver;
|
|
32
|
+
private _draggingObserver;
|
|
33
|
+
private _dragEndObserver;
|
|
34
|
+
/**
|
|
35
|
+
* @hidden
|
|
36
|
+
*/
|
|
37
|
+
_dragBehavior: BaseSixDofDragBehavior;
|
|
38
|
+
/**
|
|
39
|
+
* The current state of the handle
|
|
40
|
+
*/
|
|
41
|
+
get state(): HandleState;
|
|
42
|
+
private _gizmo;
|
|
43
|
+
/**
|
|
44
|
+
* Returns the gizmo carrying this handle
|
|
45
|
+
*/
|
|
46
|
+
get gizmo(): SlateGizmo;
|
|
47
|
+
/**
|
|
48
|
+
* Sets hover state
|
|
49
|
+
*/
|
|
50
|
+
set hover(value: boolean);
|
|
51
|
+
/**
|
|
52
|
+
* Sets drag state
|
|
53
|
+
*/
|
|
54
|
+
set drag(value: boolean);
|
|
55
|
+
/**
|
|
56
|
+
* Node of this handle
|
|
57
|
+
*/
|
|
58
|
+
node: TransformNode;
|
|
59
|
+
/**
|
|
60
|
+
* Creates a handle for a SlateGizmo
|
|
61
|
+
* @param gizmo associated SlateGizmo
|
|
62
|
+
* @param scene scene
|
|
63
|
+
*/
|
|
64
|
+
constructor(gizmo: SlateGizmo, scene: Scene);
|
|
65
|
+
protected _createMaterial(positionOffset?: Vector3): HandleMaterial;
|
|
66
|
+
private _updateMaterial;
|
|
67
|
+
/**
|
|
68
|
+
* Binds callbacks from dragging interaction
|
|
69
|
+
* @param dragStartFn Function to call on drag start
|
|
70
|
+
* @param dragFn Function to call on drag
|
|
71
|
+
* @param dragEndFn Function to call on drag end
|
|
72
|
+
*/
|
|
73
|
+
setDragBehavior(dragStartFn: (event: {
|
|
74
|
+
position: Vector3;
|
|
75
|
+
}) => void, dragFn: (event: {
|
|
76
|
+
position: Vector3;
|
|
77
|
+
}) => void, dragEndFn: () => void): void;
|
|
78
|
+
/**
|
|
79
|
+
* Creates the meshes and parent node of the handle
|
|
80
|
+
* Should be overridden by child classes
|
|
81
|
+
* @returns created node
|
|
82
|
+
*/
|
|
83
|
+
abstract createNode(): TransformNode;
|
|
84
|
+
/**
|
|
85
|
+
* Disposes the handle
|
|
86
|
+
*/
|
|
87
|
+
dispose(): void;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Side handle class that rotates the slate
|
|
91
|
+
*/
|
|
92
|
+
export declare class SideHandle extends GizmoHandle {
|
|
93
|
+
/**
|
|
94
|
+
* Creates the meshes and parent node of the handle
|
|
95
|
+
* @returns created node
|
|
96
|
+
*/
|
|
97
|
+
createNode(): TransformNode;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Corner handle that resizes the slate
|
|
101
|
+
*/
|
|
102
|
+
export declare class CornerHandle extends GizmoHandle {
|
|
103
|
+
/**
|
|
104
|
+
* Creates the meshes and parent node of the handle
|
|
105
|
+
* @returns created node
|
|
106
|
+
*/
|
|
107
|
+
createNode(): TransformNode;
|
|
108
|
+
}
|
package/3D/gizmos/gizmoHandle.js
CHANGED
|
@@ -1,210 +1,210 @@
|
|
|
1
|
-
import { __extends } from "tslib";
|
|
2
|
-
import { CreateBox } from "@babylonjs/core/Meshes/Builders/boxBuilder.js";
|
|
3
|
-
import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
|
|
4
|
-
import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
|
5
|
-
import { HandleMaterial } from "../materials/handle/handleMaterial
|
|
6
|
-
import { BaseSixDofDragBehavior } from "@babylonjs/core/Behaviors/Meshes/baseSixDofDragBehavior.js";
|
|
7
|
-
/**
|
|
8
|
-
* State of the handle regarding user interaction
|
|
9
|
-
*/
|
|
10
|
-
export var HandleState;
|
|
11
|
-
(function (HandleState) {
|
|
12
|
-
/**
|
|
13
|
-
* Handle is idle
|
|
14
|
-
*/
|
|
15
|
-
HandleState[HandleState["IDLE"] = 0] = "IDLE";
|
|
16
|
-
/**
|
|
17
|
-
* Handle is hovered
|
|
18
|
-
*/
|
|
19
|
-
HandleState[HandleState["HOVER"] = 1] = "HOVER";
|
|
20
|
-
/**
|
|
21
|
-
* Handle is dragged
|
|
22
|
-
*/
|
|
23
|
-
HandleState[HandleState["DRAG"] = 2] = "DRAG";
|
|
24
|
-
})(HandleState || (HandleState = {}));
|
|
25
|
-
/**
|
|
26
|
-
* Base class for SlateGizmo handles
|
|
27
|
-
*/
|
|
28
|
-
var GizmoHandle = /** @class */ (function () {
|
|
29
|
-
/**
|
|
30
|
-
* Creates a handle for a SlateGizmo
|
|
31
|
-
* @param gizmo associated SlateGizmo
|
|
32
|
-
* @param scene scene
|
|
33
|
-
*/
|
|
34
|
-
function GizmoHandle(gizmo, scene) {
|
|
35
|
-
this._state = HandleState.IDLE;
|
|
36
|
-
this._materials = [];
|
|
37
|
-
this._scene = scene;
|
|
38
|
-
this._gizmo = gizmo;
|
|
39
|
-
this.node = this.createNode();
|
|
40
|
-
this.node.reservedDataStore = {
|
|
41
|
-
handle: this,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
Object.defineProperty(GizmoHandle.prototype, "state", {
|
|
45
|
-
/**
|
|
46
|
-
* The current state of the handle
|
|
47
|
-
*/
|
|
48
|
-
get: function () {
|
|
49
|
-
return this._state;
|
|
50
|
-
},
|
|
51
|
-
enumerable: false,
|
|
52
|
-
configurable: true
|
|
53
|
-
});
|
|
54
|
-
Object.defineProperty(GizmoHandle.prototype, "gizmo", {
|
|
55
|
-
/**
|
|
56
|
-
* Returns the gizmo carrying this handle
|
|
57
|
-
*/
|
|
58
|
-
get: function () {
|
|
59
|
-
return this._gizmo;
|
|
60
|
-
},
|
|
61
|
-
enumerable: false,
|
|
62
|
-
configurable: true
|
|
63
|
-
});
|
|
64
|
-
Object.defineProperty(GizmoHandle.prototype, "hover", {
|
|
65
|
-
/**
|
|
66
|
-
* Sets hover state
|
|
67
|
-
*/
|
|
68
|
-
set: function (value) {
|
|
69
|
-
if (value) {
|
|
70
|
-
this._state |= HandleState.HOVER;
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
this._state &= ~HandleState.HOVER;
|
|
74
|
-
}
|
|
75
|
-
this._updateMaterial();
|
|
76
|
-
},
|
|
77
|
-
enumerable: false,
|
|
78
|
-
configurable: true
|
|
79
|
-
});
|
|
80
|
-
Object.defineProperty(GizmoHandle.prototype, "drag", {
|
|
81
|
-
/**
|
|
82
|
-
* Sets drag state
|
|
83
|
-
*/
|
|
84
|
-
set: function (value) {
|
|
85
|
-
if (value) {
|
|
86
|
-
this._state |= HandleState.DRAG;
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
this._state &= ~HandleState.DRAG;
|
|
90
|
-
}
|
|
91
|
-
this._updateMaterial();
|
|
92
|
-
},
|
|
93
|
-
enumerable: false,
|
|
94
|
-
configurable: true
|
|
95
|
-
});
|
|
96
|
-
GizmoHandle.prototype._createMaterial = function (positionOffset) {
|
|
97
|
-
var mat = new HandleMaterial("handle", this._scene);
|
|
98
|
-
if (positionOffset) {
|
|
99
|
-
mat._positionOffset = positionOffset;
|
|
100
|
-
}
|
|
101
|
-
return mat;
|
|
102
|
-
};
|
|
103
|
-
GizmoHandle.prototype._updateMaterial = function () {
|
|
104
|
-
var state = this._state;
|
|
105
|
-
for (var _i = 0, _a = this._materials; _i < _a.length; _i++) {
|
|
106
|
-
var mat = _a[_i];
|
|
107
|
-
mat.hover = false;
|
|
108
|
-
mat.drag = false;
|
|
109
|
-
}
|
|
110
|
-
if (state & HandleState.DRAG) {
|
|
111
|
-
for (var _b = 0, _c = this._materials; _b < _c.length; _b++) {
|
|
112
|
-
var mat = _c[_b];
|
|
113
|
-
mat.drag = true;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
else if (state & HandleState.HOVER) {
|
|
117
|
-
for (var _d = 0, _e = this._materials; _d < _e.length; _d++) {
|
|
118
|
-
var mat = _e[_d];
|
|
119
|
-
mat.hover = true;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
};
|
|
123
|
-
/**
|
|
124
|
-
* Binds callbacks from dragging interaction
|
|
125
|
-
* @param dragStartFn Function to call on drag start
|
|
126
|
-
* @param dragFn Function to call on drag
|
|
127
|
-
* @param dragEndFn Function to call on drag end
|
|
128
|
-
*/
|
|
129
|
-
GizmoHandle.prototype.setDragBehavior = function (dragStartFn, dragFn, dragEndFn) {
|
|
130
|
-
var dragBehavior = new BaseSixDofDragBehavior();
|
|
131
|
-
this._dragBehavior = dragBehavior;
|
|
132
|
-
this._dragStartObserver = dragBehavior.onDragStartObservable.add(dragStartFn);
|
|
133
|
-
this._draggingObserver = dragBehavior.onDragObservable.add(dragFn);
|
|
134
|
-
this._dragEndObserver = dragBehavior.onDragEndObservable.add(dragEndFn);
|
|
135
|
-
this._dragBehavior.attach(this.node);
|
|
136
|
-
};
|
|
137
|
-
/**
|
|
138
|
-
* Disposes the handle
|
|
139
|
-
*/
|
|
140
|
-
GizmoHandle.prototype.dispose = function () {
|
|
141
|
-
this._dragBehavior.onDragStartObservable.remove(this._dragStartObserver);
|
|
142
|
-
this._dragBehavior.onDragObservable.remove(this._draggingObserver);
|
|
143
|
-
this._dragBehavior.onDragEndObservable.remove(this._dragEndObserver);
|
|
144
|
-
this._dragBehavior.detach();
|
|
145
|
-
for (var _i = 0, _a = this._materials; _i < _a.length; _i++) {
|
|
146
|
-
var material = _a[_i];
|
|
147
|
-
material.dispose();
|
|
148
|
-
}
|
|
149
|
-
this.node.dispose();
|
|
150
|
-
};
|
|
151
|
-
return GizmoHandle;
|
|
152
|
-
}());
|
|
153
|
-
export { GizmoHandle };
|
|
154
|
-
/**
|
|
155
|
-
* Side handle class that rotates the slate
|
|
156
|
-
*/
|
|
157
|
-
var SideHandle = /** @class */ (function (_super) {
|
|
158
|
-
__extends(SideHandle, _super);
|
|
159
|
-
function SideHandle() {
|
|
160
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Creates the meshes and parent node of the handle
|
|
164
|
-
* @returns created node
|
|
165
|
-
*/
|
|
166
|
-
SideHandle.prototype.createNode = function () {
|
|
167
|
-
// Create a simple vertical rectangle
|
|
168
|
-
var verticalBox = CreateBox("sideVert", { width: 1, height: 10, depth: 0.1 }, this._scene);
|
|
169
|
-
var sideNode = new TransformNode("side", this._scene);
|
|
170
|
-
verticalBox.parent = sideNode;
|
|
171
|
-
var mat = this._createMaterial();
|
|
172
|
-
verticalBox.material = mat;
|
|
173
|
-
verticalBox.isNearGrabbable = true;
|
|
174
|
-
this._materials.push(mat);
|
|
175
|
-
return sideNode;
|
|
176
|
-
};
|
|
177
|
-
return SideHandle;
|
|
178
|
-
}(GizmoHandle));
|
|
179
|
-
export { SideHandle };
|
|
180
|
-
/**
|
|
181
|
-
* Corner handle that resizes the slate
|
|
182
|
-
*/
|
|
183
|
-
var CornerHandle = /** @class */ (function (_super) {
|
|
184
|
-
__extends(CornerHandle, _super);
|
|
185
|
-
function CornerHandle() {
|
|
186
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Creates the meshes and parent node of the handle
|
|
190
|
-
* @returns created node
|
|
191
|
-
*/
|
|
192
|
-
CornerHandle.prototype.createNode = function () {
|
|
193
|
-
// Create 2 boxes making a bottom left corner
|
|
194
|
-
var horizontalBox = CreateBox("angleHor", { width: 3, height: 1, depth: 0.1 }, this._scene);
|
|
195
|
-
var verticalBox = CreateBox("angleVert", { width: 1, height: 3, depth: 0.1 }, this._scene);
|
|
196
|
-
var angleNode = new TransformNode("angle", this._scene);
|
|
197
|
-
horizontalBox.parent = angleNode;
|
|
198
|
-
verticalBox.parent = angleNode;
|
|
199
|
-
horizontalBox.material = this._createMaterial(new Vector3(1, 0, 0));
|
|
200
|
-
verticalBox.material = this._createMaterial(new Vector3(0, 1, 0));
|
|
201
|
-
verticalBox.isNearGrabbable = true;
|
|
202
|
-
horizontalBox.isNearGrabbable = true;
|
|
203
|
-
this._materials.push(horizontalBox.material);
|
|
204
|
-
this._materials.push(verticalBox.material);
|
|
205
|
-
return angleNode;
|
|
206
|
-
};
|
|
207
|
-
return CornerHandle;
|
|
208
|
-
}(GizmoHandle));
|
|
209
|
-
export { CornerHandle };
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import { CreateBox } from "@babylonjs/core/Meshes/Builders/boxBuilder.js";
|
|
3
|
+
import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
|
|
4
|
+
import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
|
5
|
+
import { HandleMaterial } from "../materials/handle/handleMaterial";
|
|
6
|
+
import { BaseSixDofDragBehavior } from "@babylonjs/core/Behaviors/Meshes/baseSixDofDragBehavior.js";
|
|
7
|
+
/**
|
|
8
|
+
* State of the handle regarding user interaction
|
|
9
|
+
*/
|
|
10
|
+
export var HandleState;
|
|
11
|
+
(function (HandleState) {
|
|
12
|
+
/**
|
|
13
|
+
* Handle is idle
|
|
14
|
+
*/
|
|
15
|
+
HandleState[HandleState["IDLE"] = 0] = "IDLE";
|
|
16
|
+
/**
|
|
17
|
+
* Handle is hovered
|
|
18
|
+
*/
|
|
19
|
+
HandleState[HandleState["HOVER"] = 1] = "HOVER";
|
|
20
|
+
/**
|
|
21
|
+
* Handle is dragged
|
|
22
|
+
*/
|
|
23
|
+
HandleState[HandleState["DRAG"] = 2] = "DRAG";
|
|
24
|
+
})(HandleState || (HandleState = {}));
|
|
25
|
+
/**
|
|
26
|
+
* Base class for SlateGizmo handles
|
|
27
|
+
*/
|
|
28
|
+
var GizmoHandle = /** @class */ (function () {
|
|
29
|
+
/**
|
|
30
|
+
* Creates a handle for a SlateGizmo
|
|
31
|
+
* @param gizmo associated SlateGizmo
|
|
32
|
+
* @param scene scene
|
|
33
|
+
*/
|
|
34
|
+
function GizmoHandle(gizmo, scene) {
|
|
35
|
+
this._state = HandleState.IDLE;
|
|
36
|
+
this._materials = [];
|
|
37
|
+
this._scene = scene;
|
|
38
|
+
this._gizmo = gizmo;
|
|
39
|
+
this.node = this.createNode();
|
|
40
|
+
this.node.reservedDataStore = {
|
|
41
|
+
handle: this,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
Object.defineProperty(GizmoHandle.prototype, "state", {
|
|
45
|
+
/**
|
|
46
|
+
* The current state of the handle
|
|
47
|
+
*/
|
|
48
|
+
get: function () {
|
|
49
|
+
return this._state;
|
|
50
|
+
},
|
|
51
|
+
enumerable: false,
|
|
52
|
+
configurable: true
|
|
53
|
+
});
|
|
54
|
+
Object.defineProperty(GizmoHandle.prototype, "gizmo", {
|
|
55
|
+
/**
|
|
56
|
+
* Returns the gizmo carrying this handle
|
|
57
|
+
*/
|
|
58
|
+
get: function () {
|
|
59
|
+
return this._gizmo;
|
|
60
|
+
},
|
|
61
|
+
enumerable: false,
|
|
62
|
+
configurable: true
|
|
63
|
+
});
|
|
64
|
+
Object.defineProperty(GizmoHandle.prototype, "hover", {
|
|
65
|
+
/**
|
|
66
|
+
* Sets hover state
|
|
67
|
+
*/
|
|
68
|
+
set: function (value) {
|
|
69
|
+
if (value) {
|
|
70
|
+
this._state |= HandleState.HOVER;
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
this._state &= ~HandleState.HOVER;
|
|
74
|
+
}
|
|
75
|
+
this._updateMaterial();
|
|
76
|
+
},
|
|
77
|
+
enumerable: false,
|
|
78
|
+
configurable: true
|
|
79
|
+
});
|
|
80
|
+
Object.defineProperty(GizmoHandle.prototype, "drag", {
|
|
81
|
+
/**
|
|
82
|
+
* Sets drag state
|
|
83
|
+
*/
|
|
84
|
+
set: function (value) {
|
|
85
|
+
if (value) {
|
|
86
|
+
this._state |= HandleState.DRAG;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
this._state &= ~HandleState.DRAG;
|
|
90
|
+
}
|
|
91
|
+
this._updateMaterial();
|
|
92
|
+
},
|
|
93
|
+
enumerable: false,
|
|
94
|
+
configurable: true
|
|
95
|
+
});
|
|
96
|
+
GizmoHandle.prototype._createMaterial = function (positionOffset) {
|
|
97
|
+
var mat = new HandleMaterial("handle", this._scene);
|
|
98
|
+
if (positionOffset) {
|
|
99
|
+
mat._positionOffset = positionOffset;
|
|
100
|
+
}
|
|
101
|
+
return mat;
|
|
102
|
+
};
|
|
103
|
+
GizmoHandle.prototype._updateMaterial = function () {
|
|
104
|
+
var state = this._state;
|
|
105
|
+
for (var _i = 0, _a = this._materials; _i < _a.length; _i++) {
|
|
106
|
+
var mat = _a[_i];
|
|
107
|
+
mat.hover = false;
|
|
108
|
+
mat.drag = false;
|
|
109
|
+
}
|
|
110
|
+
if (state & HandleState.DRAG) {
|
|
111
|
+
for (var _b = 0, _c = this._materials; _b < _c.length; _b++) {
|
|
112
|
+
var mat = _c[_b];
|
|
113
|
+
mat.drag = true;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
else if (state & HandleState.HOVER) {
|
|
117
|
+
for (var _d = 0, _e = this._materials; _d < _e.length; _d++) {
|
|
118
|
+
var mat = _e[_d];
|
|
119
|
+
mat.hover = true;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Binds callbacks from dragging interaction
|
|
125
|
+
* @param dragStartFn Function to call on drag start
|
|
126
|
+
* @param dragFn Function to call on drag
|
|
127
|
+
* @param dragEndFn Function to call on drag end
|
|
128
|
+
*/
|
|
129
|
+
GizmoHandle.prototype.setDragBehavior = function (dragStartFn, dragFn, dragEndFn) {
|
|
130
|
+
var dragBehavior = new BaseSixDofDragBehavior();
|
|
131
|
+
this._dragBehavior = dragBehavior;
|
|
132
|
+
this._dragStartObserver = dragBehavior.onDragStartObservable.add(dragStartFn);
|
|
133
|
+
this._draggingObserver = dragBehavior.onDragObservable.add(dragFn);
|
|
134
|
+
this._dragEndObserver = dragBehavior.onDragEndObservable.add(dragEndFn);
|
|
135
|
+
this._dragBehavior.attach(this.node);
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* Disposes the handle
|
|
139
|
+
*/
|
|
140
|
+
GizmoHandle.prototype.dispose = function () {
|
|
141
|
+
this._dragBehavior.onDragStartObservable.remove(this._dragStartObserver);
|
|
142
|
+
this._dragBehavior.onDragObservable.remove(this._draggingObserver);
|
|
143
|
+
this._dragBehavior.onDragEndObservable.remove(this._dragEndObserver);
|
|
144
|
+
this._dragBehavior.detach();
|
|
145
|
+
for (var _i = 0, _a = this._materials; _i < _a.length; _i++) {
|
|
146
|
+
var material = _a[_i];
|
|
147
|
+
material.dispose();
|
|
148
|
+
}
|
|
149
|
+
this.node.dispose();
|
|
150
|
+
};
|
|
151
|
+
return GizmoHandle;
|
|
152
|
+
}());
|
|
153
|
+
export { GizmoHandle };
|
|
154
|
+
/**
|
|
155
|
+
* Side handle class that rotates the slate
|
|
156
|
+
*/
|
|
157
|
+
var SideHandle = /** @class */ (function (_super) {
|
|
158
|
+
__extends(SideHandle, _super);
|
|
159
|
+
function SideHandle() {
|
|
160
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Creates the meshes and parent node of the handle
|
|
164
|
+
* @returns created node
|
|
165
|
+
*/
|
|
166
|
+
SideHandle.prototype.createNode = function () {
|
|
167
|
+
// Create a simple vertical rectangle
|
|
168
|
+
var verticalBox = CreateBox("sideVert", { width: 1, height: 10, depth: 0.1 }, this._scene);
|
|
169
|
+
var sideNode = new TransformNode("side", this._scene);
|
|
170
|
+
verticalBox.parent = sideNode;
|
|
171
|
+
var mat = this._createMaterial();
|
|
172
|
+
verticalBox.material = mat;
|
|
173
|
+
verticalBox.isNearGrabbable = true;
|
|
174
|
+
this._materials.push(mat);
|
|
175
|
+
return sideNode;
|
|
176
|
+
};
|
|
177
|
+
return SideHandle;
|
|
178
|
+
}(GizmoHandle));
|
|
179
|
+
export { SideHandle };
|
|
180
|
+
/**
|
|
181
|
+
* Corner handle that resizes the slate
|
|
182
|
+
*/
|
|
183
|
+
var CornerHandle = /** @class */ (function (_super) {
|
|
184
|
+
__extends(CornerHandle, _super);
|
|
185
|
+
function CornerHandle() {
|
|
186
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Creates the meshes and parent node of the handle
|
|
190
|
+
* @returns created node
|
|
191
|
+
*/
|
|
192
|
+
CornerHandle.prototype.createNode = function () {
|
|
193
|
+
// Create 2 boxes making a bottom left corner
|
|
194
|
+
var horizontalBox = CreateBox("angleHor", { width: 3, height: 1, depth: 0.1 }, this._scene);
|
|
195
|
+
var verticalBox = CreateBox("angleVert", { width: 1, height: 3, depth: 0.1 }, this._scene);
|
|
196
|
+
var angleNode = new TransformNode("angle", this._scene);
|
|
197
|
+
horizontalBox.parent = angleNode;
|
|
198
|
+
verticalBox.parent = angleNode;
|
|
199
|
+
horizontalBox.material = this._createMaterial(new Vector3(1, 0, 0));
|
|
200
|
+
verticalBox.material = this._createMaterial(new Vector3(0, 1, 0));
|
|
201
|
+
verticalBox.isNearGrabbable = true;
|
|
202
|
+
horizontalBox.isNearGrabbable = true;
|
|
203
|
+
this._materials.push(horizontalBox.material);
|
|
204
|
+
this._materials.push(verticalBox.material);
|
|
205
|
+
return angleNode;
|
|
206
|
+
};
|
|
207
|
+
return CornerHandle;
|
|
208
|
+
}(GizmoHandle));
|
|
209
|
+
export { CornerHandle };
|
|
210
210
|
//# sourceMappingURL=gizmoHandle.js.map
|
package/3D/gizmos/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./slateGizmo";
|
|
2
|
-
export * from "./gizmoHandle";
|
|
1
|
+
export * from "./slateGizmo";
|
|
2
|
+
export * from "./gizmoHandle";
|
package/3D/gizmos/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./slateGizmo
|
|
2
|
-
export * from "./gizmoHandle
|
|
1
|
+
export * from "./slateGizmo";
|
|
2
|
+
export * from "./gizmoHandle";
|
|
3
3
|
//# sourceMappingURL=index.js.map
|