sunrize 1.7.43 → 1.7.45
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/package.json +3 -3
- package/src/Application/Application.js +17 -5
- package/src/Application/Dashboard.js +5 -2
- package/src/Application/Document.js +1 -9
- package/src/Application/Tabs.js +2 -1
- package/src/Components/Geometry2D/Arc2D.js +16 -0
- package/src/Components/Geometry2D/ArcClose2D.js +14 -0
- package/src/Components/Geometry2D/Circle2D.js +23 -0
- package/src/Components/Geometry2D/Disk2D.js +53 -0
- package/src/Components/Geometry2D/Polyline2D.js +16 -0
- package/src/Components/Geometry2D/Polypoint2D.js +20 -0
- package/src/Components/Geometry2D/Rectangle2D.js +27 -0
- package/src/Components/Geometry2D/TriangleSet2D.js +33 -0
- package/src/Components/Geometry3D/Box.js +27 -0
- package/src/Components/Geometry3D/Cone.js +79 -0
- package/src/Components/Geometry3D/Cylinder.js +81 -0
- package/src/Components/Geometry3D/ElevationGrid.js +23 -0
- package/src/Components/Geometry3D/Extrusion.js +194 -0
- package/src/Components/Geometry3D/IndexedFaceSet.js +112 -0
- package/src/Components/Geometry3D/Sphere.js +27 -0
- package/src/Components/NURBS/NurbsCurve.js +17 -0
- package/src/Components/NURBS/NurbsSweptSurface.js +24 -0
- package/src/Components/NURBS/NurbsSwungSurface.js +24 -0
- package/src/Components/NURBS/X3DNurbsSurfaceGeometryNode.js +19 -0
- package/src/Components/Rendering/IndexedLineSet.js +24 -0
- package/src/Components/Rendering/LineSet.js +34 -0
- package/src/Components/Rendering/X3DComposedGeometryNode.js +44 -0
- package/src/Components/Rendering/X3DGeometryNode.js +183 -0
- package/src/Components/Text/Text.js +17 -0
- package/src/Components.js +33 -0
- package/src/Editors/Library.js +2 -0
- package/src/Editors/LibraryPane.js +6 -1
- package/src/Editors/NodesLibrary.js +41 -1
- package/src/Editors/OutlineEditor.js +118 -25
- package/src/Editors/OutlineView.js +53 -22
- package/src/Editors/PrimitivesLibrary.js +58 -2
- package/src/Tools/Geometry2D/Disk2DTool.js +16 -18
- package/src/Undo/Editor.js +207 -153
|
@@ -1092,6 +1092,9 @@ module .exports = class OutlineView extends Interface
|
|
|
1092
1092
|
{
|
|
1093
1093
|
case X3D .X3DConstants .X3DLayerNode:
|
|
1094
1094
|
{
|
|
1095
|
+
if (node .getExecutionContext () !== this .executionContext)
|
|
1096
|
+
continue;
|
|
1097
|
+
|
|
1095
1098
|
buttons .push ($("<span></span>")
|
|
1096
1099
|
.attr ("order", "2")
|
|
1097
1100
|
.attr ("title", _("Activate layer."))
|
|
@@ -1247,7 +1250,9 @@ module .exports = class OutlineView extends Interface
|
|
|
1247
1250
|
if (!this .browser .getActiveLayer ())
|
|
1248
1251
|
return;
|
|
1249
1252
|
|
|
1250
|
-
this .sceneGraph .find (`.node[node-id=${this .browser .getActiveLayer () .getId ()}],
|
|
1253
|
+
this .sceneGraph .find (`.node[node-id=${this .browser .getActiveLayer () .getId ()}],
|
|
1254
|
+
.imported-node[node-id=${this .browser .getActiveLayer () .getId ()}],
|
|
1255
|
+
.exported-node[node-id=${this .browser .getActiveLayer () .getId ()}]`)
|
|
1251
1256
|
.find ("> .item .activate-layer")
|
|
1252
1257
|
.removeClass ("off")
|
|
1253
1258
|
.addClass ("green");
|
|
@@ -1256,7 +1261,9 @@ module .exports = class OutlineView extends Interface
|
|
|
1256
1261
|
updateNodeBound (node)
|
|
1257
1262
|
{
|
|
1258
1263
|
this .sceneGraph
|
|
1259
|
-
.find (`.node[node-id=${node .getId ()}],
|
|
1264
|
+
.find (`.node[node-id=${node .getId ()}],
|
|
1265
|
+
.imported-node[node-id=${node .getId ()}],
|
|
1266
|
+
.exported-node[node-id=${node .getId ()}]`)
|
|
1260
1267
|
.find ("> .item .bind-node")
|
|
1261
1268
|
.removeClass (["on", "off"])
|
|
1262
1269
|
.addClass (node ._isBound .getValue () ? "on" : "off")
|
|
@@ -1268,7 +1275,10 @@ module .exports = class OutlineView extends Interface
|
|
|
1268
1275
|
const [className] = this .getLoadState (node .checkLoadState (), node .getTypeName ());
|
|
1269
1276
|
|
|
1270
1277
|
this .sceneGraph
|
|
1271
|
-
.find (`.node[node-id=${node .getId ()}],
|
|
1278
|
+
.find (`.node[node-id=${node .getId ()}],
|
|
1279
|
+
.imported-node[node-id=${node .getId ()}],
|
|
1280
|
+
.exported-node[node-id=${node .getId ()}],
|
|
1281
|
+
.externproto[node-id=${node .getId ()}]`)
|
|
1272
1282
|
.find ("> .item .reload-node")
|
|
1273
1283
|
.removeClass (["not-started-state", "in-progress-state", "complete-state", "failed-state"])
|
|
1274
1284
|
.addClass (className);
|
|
@@ -1279,7 +1289,9 @@ module .exports = class OutlineView extends Interface
|
|
|
1279
1289
|
const buttons = [ ];
|
|
1280
1290
|
|
|
1281
1291
|
buttons .push (this .sceneGraph
|
|
1282
|
-
.find (`.node[node-id=${node .getId ()}],
|
|
1292
|
+
.find (`.node[node-id=${node .getId ()}],
|
|
1293
|
+
.imported-node[node-id=${node .getId ()}],
|
|
1294
|
+
.exported-node[node-id=${node .getId ()}]`)
|
|
1283
1295
|
.find ("> .item .play-node")
|
|
1284
1296
|
.removeClass (["on", "off"])
|
|
1285
1297
|
.addClass (node ._isPaused .getValue () ? "on" : "off")
|
|
@@ -1287,13 +1299,17 @@ module .exports = class OutlineView extends Interface
|
|
|
1287
1299
|
.text (node ._isActive .getValue () ? "pause" : "play_arrow"));
|
|
1288
1300
|
|
|
1289
1301
|
buttons .push (this .sceneGraph
|
|
1290
|
-
.find (`.node[node-id=${node .getId ()}],
|
|
1302
|
+
.find (`.node[node-id=${node .getId ()}],
|
|
1303
|
+
.imported-node[node-id=${node .getId ()}],
|
|
1304
|
+
.exported-node[node-id=${node .getId ()}]`)
|
|
1291
1305
|
.find ("> .item .stop-node")
|
|
1292
1306
|
.removeClass (["on", "off"])
|
|
1293
1307
|
.addClass (node ._isActive .getValue () ? "on" : "off"));
|
|
1294
1308
|
|
|
1295
1309
|
buttons .push (this .sceneGraph
|
|
1296
|
-
.find (`.node[node-id=${node .getId ()}],
|
|
1310
|
+
.find (`.node[node-id=${node .getId ()}],
|
|
1311
|
+
.imported-node[node-id=${node .getId ()}],
|
|
1312
|
+
.exported-node[node-id=${node .getId ()}]`)
|
|
1297
1313
|
.find ("> .item .loop-node")
|
|
1298
1314
|
.removeClass (["on", "off"])
|
|
1299
1315
|
.addClass (node ._loop .getValue () ? "on" : "off"));
|
|
@@ -1309,7 +1325,7 @@ module .exports = class OutlineView extends Interface
|
|
|
1309
1325
|
|
|
1310
1326
|
isInParents (parent, node)
|
|
1311
1327
|
{
|
|
1312
|
-
return parent .closest (
|
|
1328
|
+
return parent .closest (`.node[node-id=${node .getId ()}]`, this .sceneGraph) .length;
|
|
1313
1329
|
}
|
|
1314
1330
|
|
|
1315
1331
|
#importedNodeSymbol = Symbol ();
|
|
@@ -2710,7 +2726,9 @@ module .exports = class OutlineView extends Interface
|
|
|
2710
2726
|
|
|
2711
2727
|
nodeCloseClones (element)
|
|
2712
2728
|
{
|
|
2713
|
-
const opened = this .sceneGraph .find (`.node[node-id=${element .attr ("node-id")}],
|
|
2729
|
+
const opened = this .sceneGraph .find (`.node[node-id=${element .attr ("node-id")}],
|
|
2730
|
+
.imported-node[node-id=${element .attr ("node-id")}],
|
|
2731
|
+
.exported-node[node-id=${element .attr ("node-id")}]`);
|
|
2714
2732
|
|
|
2715
2733
|
opened .each (function (key, value)
|
|
2716
2734
|
{
|
|
@@ -2908,7 +2926,7 @@ module .exports = class OutlineView extends Interface
|
|
|
2908
2926
|
}
|
|
2909
2927
|
});
|
|
2910
2928
|
|
|
2911
|
-
element .find (".node:not([node-id=NULL])") .each ((i, e) =>
|
|
2929
|
+
element .find (".node:not([node-id=NULL]), .imported-node, .exported-node") .each ((i, e) =>
|
|
2912
2930
|
{
|
|
2913
2931
|
const
|
|
2914
2932
|
child = $(e),
|
|
@@ -2916,6 +2934,7 @@ module .exports = class OutlineView extends Interface
|
|
|
2916
2934
|
|
|
2917
2935
|
// If node is somewhere else, don't disconnect.
|
|
2918
2936
|
if (Array .from (this .sceneGraph .find (`.node[node-id="${node .getId ()}"],
|
|
2937
|
+
.imported-node[node-id="${node .getId ()}"],
|
|
2919
2938
|
.exported-node[node-id="${node .getId ()}"]`))
|
|
2920
2939
|
.some (s => !$(s) .closest (element) .length))
|
|
2921
2940
|
{
|
|
@@ -2956,7 +2975,7 @@ module .exports = class OutlineView extends Interface
|
|
|
2956
2975
|
{
|
|
2957
2976
|
const
|
|
2958
2977
|
child = $(e),
|
|
2959
|
-
node
|
|
2978
|
+
node = this .getNode (child);
|
|
2960
2979
|
|
|
2961
2980
|
node .typeName_changed .removeFieldCallback (this .#exportedNodeSymbol);
|
|
2962
2981
|
node .name_changed .removeFieldCallback (this .#exportedNodeSymbol);
|
|
@@ -2966,7 +2985,7 @@ module .exports = class OutlineView extends Interface
|
|
|
2966
2985
|
{
|
|
2967
2986
|
const
|
|
2968
2987
|
child = $(e),
|
|
2969
|
-
field
|
|
2988
|
+
field = this .getField (child);
|
|
2970
2989
|
|
|
2971
2990
|
field .removeReferencesCallback (this .#fieldSymbol);
|
|
2972
2991
|
field .removeRouteCallback (this .#fieldSymbol);
|
|
@@ -3021,7 +3040,7 @@ module .exports = class OutlineView extends Interface
|
|
|
3021
3040
|
const
|
|
3022
3041
|
icon = $(event .currentTarget) ,
|
|
3023
3042
|
item = icon .closest (".item", this .sceneGraph),
|
|
3024
|
-
element = icon .closest (".node, .exported-node", this .sceneGraph),
|
|
3043
|
+
element = icon .closest (".node, .imported-node, .exported-node", this .sceneGraph),
|
|
3025
3044
|
node = this .objects .get (parseInt (element .attr ("node-id"))),
|
|
3026
3045
|
on = !!item .attr ("data-hasqtip");
|
|
3027
3046
|
|
|
@@ -3092,7 +3111,7 @@ module .exports = class OutlineView extends Interface
|
|
|
3092
3111
|
{
|
|
3093
3112
|
const
|
|
3094
3113
|
target = $(event .target),
|
|
3095
|
-
element = target .closest (".node, .
|
|
3114
|
+
element = target .closest (".node, .imported-node, .exported-node", this .sceneGraph),
|
|
3096
3115
|
node = this .getNode (element),
|
|
3097
3116
|
hidden = !node .isHidden ();
|
|
3098
3117
|
|
|
@@ -3101,7 +3120,9 @@ module .exports = class OutlineView extends Interface
|
|
|
3101
3120
|
|
|
3102
3121
|
node .setHidden (hidden);
|
|
3103
3122
|
|
|
3104
|
-
this .sceneGraph .find (`.node[node-id=${node .getId ()}],
|
|
3123
|
+
this .sceneGraph .find (`.node[node-id=${node .getId ()}],
|
|
3124
|
+
.imported-node[node-id=${node .getId ()}],
|
|
3125
|
+
.exported-node[node-id=${node .getId ()}]`)
|
|
3105
3126
|
.find ("> .item .toggle-visibility")
|
|
3106
3127
|
.removeClass (["on", "off"])
|
|
3107
3128
|
.addClass (hidden ? "off" : "on")
|
|
@@ -3112,7 +3133,7 @@ module .exports = class OutlineView extends Interface
|
|
|
3112
3133
|
{
|
|
3113
3134
|
const
|
|
3114
3135
|
target = $(event .target),
|
|
3115
|
-
element = target .closest (".node, .exported-node", this .sceneGraph),
|
|
3136
|
+
element = target .closest (".node, .imported-node, .exported-node", this .sceneGraph),
|
|
3116
3137
|
node = this .getNode (element),
|
|
3117
3138
|
tool = node .getTool ();
|
|
3118
3139
|
|
|
@@ -3131,7 +3152,9 @@ module .exports = class OutlineView extends Interface
|
|
|
3131
3152
|
|
|
3132
3153
|
node .setUserData (_changing, true);
|
|
3133
3154
|
|
|
3134
|
-
this .sceneGraph .find (`.node[node-id=${node .getId ()}] > .item .toggle-tool,
|
|
3155
|
+
this .sceneGraph .find (`.node[node-id=${node .getId ()}] > .item .toggle-tool,
|
|
3156
|
+
.imported-node[node-id=${node .getId ()}] > .item .toggle-tool,
|
|
3157
|
+
.exported-node[node-id=${node .getId ()}] > .item .toggle-tool`)
|
|
3135
3158
|
.removeClass (["on", "off"])
|
|
3136
3159
|
.addClass (tool ? "off" : "on");
|
|
3137
3160
|
}
|
|
@@ -3142,7 +3165,7 @@ module .exports = class OutlineView extends Interface
|
|
|
3142
3165
|
{
|
|
3143
3166
|
const
|
|
3144
3167
|
target = $(event .target),
|
|
3145
|
-
element = target .closest (".node, .exported-node", this .sceneGraph),
|
|
3168
|
+
element = target .closest (".node, .imported-node, .exported-node", this .sceneGraph),
|
|
3146
3169
|
node = this .getNode (element);
|
|
3147
3170
|
|
|
3148
3171
|
event .preventDefault ();
|
|
@@ -3161,7 +3184,7 @@ module .exports = class OutlineView extends Interface
|
|
|
3161
3184
|
{
|
|
3162
3185
|
const
|
|
3163
3186
|
target = $(event .target),
|
|
3164
|
-
element = target .closest (".node, .exported-node, .externproto", this .sceneGraph),
|
|
3187
|
+
element = target .closest (".node, .imported-node, .exported-node, .externproto", this .sceneGraph),
|
|
3165
3188
|
item = target .closest (".item"),
|
|
3166
3189
|
node = this .getNode (element);
|
|
3167
3190
|
|
|
@@ -3196,7 +3219,9 @@ module .exports = class OutlineView extends Interface
|
|
|
3196
3219
|
|
|
3197
3220
|
node .setHidden (node .getType () .includes (X3D .X3DConstants .X3DShapeNode));
|
|
3198
3221
|
|
|
3199
|
-
this .sceneGraph .find (`.node[node-id=${node .getId ()}],
|
|
3222
|
+
this .sceneGraph .find (`.node[node-id=${node .getId ()}],
|
|
3223
|
+
.imported-node[node-id=${node .getId ()}],
|
|
3224
|
+
.exported-node[node-id=${node .getId ()}]`)
|
|
3200
3225
|
.find ("> .item .toggle-visibility")
|
|
3201
3226
|
.removeClass (["on", "off"])
|
|
3202
3227
|
.addClass (node .isHidden () ? "off" : "on")
|
|
@@ -3222,7 +3247,9 @@ module .exports = class OutlineView extends Interface
|
|
|
3222
3247
|
|
|
3223
3248
|
node .setHidden (false);
|
|
3224
3249
|
|
|
3225
|
-
this .sceneGraph .find (`.node[node-id=${node .getId ()}],
|
|
3250
|
+
this .sceneGraph .find (`.node[node-id=${node .getId ()}],
|
|
3251
|
+
.imported-node[node-id=${node .getId ()}],
|
|
3252
|
+
.exported-node[node-id=${node .getId ()}]`)
|
|
3226
3253
|
.find ("> .item .toggle-visibility")
|
|
3227
3254
|
.removeClass ("off")
|
|
3228
3255
|
.addClass ("on")
|
|
@@ -3246,7 +3273,9 @@ module .exports = class OutlineView extends Interface
|
|
|
3246
3273
|
|
|
3247
3274
|
node .setHidden (false);
|
|
3248
3275
|
|
|
3249
|
-
this .sceneGraph .find (`.node[node-id=${node .getId ()}],
|
|
3276
|
+
this .sceneGraph .find (`.node[node-id=${node .getId ()}],
|
|
3277
|
+
.imported-node[node-id=${node .getId ()}],
|
|
3278
|
+
.exported-node[node-id=${node .getId ()}]`)
|
|
3250
3279
|
.find ("> .item .toggle-visibility")
|
|
3251
3280
|
.removeClass ("off")
|
|
3252
3281
|
.addClass ("on")
|
|
@@ -3268,7 +3297,9 @@ module .exports = class OutlineView extends Interface
|
|
|
3268
3297
|
|
|
3269
3298
|
node .setHidden (false);
|
|
3270
3299
|
|
|
3271
|
-
this .sceneGraph .find (`.node[node-id=${node .getId ()}],
|
|
3300
|
+
this .sceneGraph .find (`.node[node-id=${node .getId ()}],
|
|
3301
|
+
.imported-node[node-id=${node .getId ()}],
|
|
3302
|
+
.exported-node[node-id=${node .getId ()}]`)
|
|
3272
3303
|
.find ("> .item .toggle-visibility")
|
|
3273
3304
|
.removeClass ("off")
|
|
3274
3305
|
.addClass ("on")
|
|
@@ -11,6 +11,20 @@ module .exports = class PrimitivesLibrary extends LibraryPane
|
|
|
11
11
|
|
|
12
12
|
#list;
|
|
13
13
|
|
|
14
|
+
open ()
|
|
15
|
+
{
|
|
16
|
+
// Set default config values.
|
|
17
|
+
|
|
18
|
+
this .config .global .setDefaultValues ({
|
|
19
|
+
recentPrimitives: [ ],
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
// Clear output.
|
|
23
|
+
|
|
24
|
+
this .#list ?.remove ();
|
|
25
|
+
this .#list = undefined;
|
|
26
|
+
}
|
|
27
|
+
|
|
14
28
|
update ()
|
|
15
29
|
{
|
|
16
30
|
// Fill output.
|
|
@@ -33,6 +47,30 @@ module .exports = class PrimitivesLibrary extends LibraryPane
|
|
|
33
47
|
.sort ((a, b) => a .typeName .localeCompare (b .typeName))
|
|
34
48
|
.sort ((a, b) => a .componentInfo .name .localeCompare (b .componentInfo .name));
|
|
35
49
|
|
|
50
|
+
// Get recently used primitives.
|
|
51
|
+
|
|
52
|
+
const recentPrimitives = this .config .global .recentPrimitives;
|
|
53
|
+
|
|
54
|
+
// Create list for recently used elements.
|
|
55
|
+
|
|
56
|
+
if (recentPrimitives .length)
|
|
57
|
+
{
|
|
58
|
+
$("<li></li>")
|
|
59
|
+
.addClass ("component")
|
|
60
|
+
.attr ("name", "recent")
|
|
61
|
+
.text ("Recently Used Primitives")
|
|
62
|
+
.appendTo (this .#list);
|
|
63
|
+
|
|
64
|
+
for (const typeName of recentPrimitives)
|
|
65
|
+
{
|
|
66
|
+
$("<li></li>")
|
|
67
|
+
.addClass ("node")
|
|
68
|
+
.text (typeName)
|
|
69
|
+
.appendTo (this .#list)
|
|
70
|
+
.on ("dblclick", () => this .createRecentNode (nodes, typeName));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
36
74
|
// Create list elements.
|
|
37
75
|
|
|
38
76
|
let componentName = "";
|
|
@@ -52,9 +90,27 @@ module .exports = class PrimitivesLibrary extends LibraryPane
|
|
|
52
90
|
$("<li></li>")
|
|
53
91
|
.addClass ("node")
|
|
54
92
|
.text (node .typeName)
|
|
55
|
-
.attr ("x3dSyntax", node .x3dSyntax)
|
|
56
93
|
.appendTo (this .#list)
|
|
57
|
-
.on ("dblclick", () => this .
|
|
94
|
+
.on ("dblclick", () => this .createNode (node));
|
|
58
95
|
}
|
|
59
96
|
}
|
|
97
|
+
|
|
98
|
+
createRecentNode (nodes, typeName)
|
|
99
|
+
{
|
|
100
|
+
const node = nodes .find (node => node .typeName === typeName);
|
|
101
|
+
|
|
102
|
+
this .createNode (node);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
createNode ({ typeName, x3dSyntax})
|
|
106
|
+
{
|
|
107
|
+
const recentPrimitives = this .config .global .recentPrimitives .filter (name => name !== typeName);
|
|
108
|
+
|
|
109
|
+
recentPrimitives .unshift (typeName);
|
|
110
|
+
recentPrimitives .splice (10);
|
|
111
|
+
|
|
112
|
+
this .config .global .recentPrimitives = recentPrimitives;
|
|
113
|
+
|
|
114
|
+
this .importX3D (typeName, x3dSyntax);
|
|
115
|
+
}
|
|
60
116
|
};
|
|
@@ -19,58 +19,56 @@ class Disk2DTool extends X3DGeometryNodeTool
|
|
|
19
19
|
|
|
20
20
|
const toolChildren = new X3D .MFNode ();
|
|
21
21
|
|
|
22
|
-
// Transform Tool
|
|
22
|
+
// Transform Tool outerRadius
|
|
23
23
|
{
|
|
24
24
|
const
|
|
25
25
|
groupNode = this .getToolScene () .createNode ("Group"),
|
|
26
26
|
transformNode = this .getToolScene () .createNode ("Transform"),
|
|
27
27
|
transformTool = await transformNode .getValue () .addTool () .getToolInstance ();
|
|
28
28
|
|
|
29
|
-
this .#
|
|
29
|
+
this .#outerRadiusTransformNode = transformNode;
|
|
30
30
|
|
|
31
|
-
transformNode .scale .addInterest ("
|
|
31
|
+
transformNode .scale .addInterest ("set_outerRadiusScale", this);
|
|
32
32
|
transformTool .getField ("isActive") .addInterest ("handleUndo", this);
|
|
33
|
-
transformTool .getField ("isActive") .addInterest ("
|
|
33
|
+
transformTool .getField ("isActive") .addInterest ("set_outerRadiusActive", this);
|
|
34
34
|
|
|
35
35
|
groupNode .bboxSize = new X3D .Vector3 (2, 2, 0);
|
|
36
36
|
transformNode .children = [groupNode];
|
|
37
|
-
transformTool .group = `${this .getTypeName ()}.
|
|
37
|
+
transformTool .group = `${this .getTypeName ()}.outerRadius`;
|
|
38
38
|
transformTool .undo = false;
|
|
39
39
|
transformTool .tools = ["SCALE"];
|
|
40
40
|
transformTool .keys = [ ];
|
|
41
41
|
transformTool .connectedAxes = ["XY", "YX", "ZX"];
|
|
42
42
|
transformTool .centerDisplay = false;
|
|
43
43
|
transformTool .centerTool = false;
|
|
44
|
-
transformTool .xAxisDisplay = false;
|
|
45
|
-
transformTool .yAxisDisplay = false;
|
|
46
44
|
transformTool .zAxisDisplay = false;
|
|
47
45
|
transformTool .bboxColor = ToolColors .BLUE;
|
|
48
46
|
|
|
49
47
|
toolChildren .push (transformNode);
|
|
50
48
|
|
|
51
|
-
// Connections
|
|
49
|
+
// Connections outerRadius
|
|
52
50
|
|
|
53
|
-
this .node .
|
|
51
|
+
this .node ._outerRadius .addInterest ("set_outerRadius", this);
|
|
54
52
|
|
|
55
|
-
this .
|
|
53
|
+
this .set_outerRadius (this .node ._outerRadius);
|
|
56
54
|
}
|
|
57
55
|
|
|
58
|
-
// Transform Tool
|
|
56
|
+
// Transform Tool innerRadius
|
|
59
57
|
{
|
|
60
58
|
const
|
|
61
59
|
groupNode = this .getToolScene () .createNode ("Group"),
|
|
62
60
|
transformNode = this .getToolScene () .createNode ("Transform"),
|
|
63
61
|
transformTool = await transformNode .getValue () .addTool () .getToolInstance ();
|
|
64
62
|
|
|
65
|
-
this .#
|
|
63
|
+
this .#innerRadiusTransformNode = transformNode;
|
|
66
64
|
|
|
67
|
-
transformNode .scale .addInterest ("
|
|
65
|
+
transformNode .scale .addInterest ("set_innerRadiusScale", this);
|
|
68
66
|
transformTool .getField ("isActive") .addInterest ("handleUndo", this);
|
|
69
|
-
transformTool .getField ("isActive") .addInterest ("
|
|
67
|
+
transformTool .getField ("isActive") .addInterest ("set_innerRadiusActive", this);
|
|
70
68
|
|
|
71
69
|
groupNode .bboxSize = new X3D .Vector3 (2, 2, 0);
|
|
72
70
|
transformNode .children = [groupNode];
|
|
73
|
-
transformTool .group = `${this .getTypeName ()}.
|
|
71
|
+
transformTool .group = `${this .getTypeName ()}.innerRadius`;
|
|
74
72
|
transformTool .undo = false;
|
|
75
73
|
transformTool .tools = ["SCALE"];
|
|
76
74
|
transformTool .keys = [ ];
|
|
@@ -82,11 +80,11 @@ class Disk2DTool extends X3DGeometryNodeTool
|
|
|
82
80
|
|
|
83
81
|
toolChildren .push (transformNode);
|
|
84
82
|
|
|
85
|
-
// Connections
|
|
83
|
+
// Connections innerRadius
|
|
86
84
|
|
|
87
|
-
this .node .
|
|
85
|
+
this .node ._innerRadius .addInterest ("set_innerRadius", this);
|
|
88
86
|
|
|
89
|
-
this .
|
|
87
|
+
this .set_innerRadius (this .node ._innerRadius);
|
|
90
88
|
}
|
|
91
89
|
|
|
92
90
|
this .tool .undo = true;
|