sunrize 2.1.1 → 2.1.3

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.
Files changed (45) hide show
  1. package/package.json +5 -4
  2. package/src/Application/Application.js +1 -1
  3. package/src/Application/Document.js +2 -1
  4. package/src/Application/Hierarchy.js +1 -1
  5. package/src/Editors/Library.js +1 -1
  6. package/src/Editors/NodeList.js +1 -1
  7. package/src/Editors/OutlineEditor.js +10 -10
  8. package/src/Editors/OutlineView.js +1 -1
  9. package/src/Tools/Core/ToolColors.js +1 -1
  10. package/src/Tools/Core/X3DChildNodeTool.js +9 -7
  11. package/src/Tools/Core/X3DNodeTool.js +2 -2
  12. package/src/Tools/EnvironmentalSensor/X3DEnvironmentalSensorNodeTool.js +3 -3
  13. package/src/Tools/Geometry2D/Arc2DTool.js +1 -1
  14. package/src/Tools/Geometry2D/ArcClose2DTool.js +1 -1
  15. package/src/Tools/Geometry2D/Circle2DTool.js +1 -1
  16. package/src/Tools/Geometry2D/Disk2DTool.js +4 -4
  17. package/src/Tools/Geometry2D/Rectangle2DTool.js +1 -1
  18. package/src/Tools/Geometry3D/BoxTool.js +1 -1
  19. package/src/Tools/Geometry3D/ConeTool.js +1 -1
  20. package/src/Tools/Geometry3D/CylinderTool.js +1 -1
  21. package/src/Tools/Geometry3D/SphereTool.js +1 -1
  22. package/src/Tools/Geospatial/GeoViewpointTool.js +6 -6
  23. package/src/Tools/Grids/AxonometricGridTool.js +1 -1
  24. package/src/Tools/Grids/X3DGridNodeTool.js +2 -2
  25. package/src/Tools/Grouping/X3DTransformNodeTool.js +6 -6
  26. package/src/Tools/Lighting/DirectionalLightTool.js +2 -2
  27. package/src/Tools/Lighting/EnvironmentLightTool.js +2 -2
  28. package/src/Tools/Lighting/PointLightTool.js +1 -1
  29. package/src/Tools/Lighting/SpotLightTool.js +4 -4
  30. package/src/Tools/Lighting/X3DLightNodeTool.js +4 -4
  31. package/src/Tools/NURBS/X3DNurbsSurfaceGeometryNodeTool.js +2 -2
  32. package/src/Tools/NURBS/X3DParametricGeometryNodeTool.js +1 -1
  33. package/src/Tools/Navigation/BillboardTool.js +1 -1
  34. package/src/Tools/Navigation/LODTool.js +1 -1
  35. package/src/Tools/Navigation/OrthoViewpointTool.js +2 -2
  36. package/src/Tools/Navigation/ViewpointTool.js +2 -2
  37. package/src/Tools/Navigation/X3DViewpointNodeTool.js +3 -3
  38. package/src/Tools/Sound/ListenerPointSourceTool.js +3 -3
  39. package/src/Tools/Sound/SoundTool.js +7 -7
  40. package/src/Tools/Sound/SpatialSoundTool.js +6 -6
  41. package/src/Tools/TextureProjection/TextureProjectorParallelTool.js +5 -5
  42. package/src/Tools/TextureProjection/TextureProjectorTool.js +5 -5
  43. package/src/Tools/TextureProjection/X3DTextureProjectorNodeTool.js +6 -6
  44. package/src/Tools/X_ITE/GaussianSplatsTool.js +12 -0
  45. package/src/Undo/Editor.js +1 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sunrize",
3
3
  "productName": "Sunrize X3D Editor",
4
- "version": "2.1.1",
4
+ "version": "2.1.3",
5
5
  "description": "Sunrize — A Multi-Platform X3D Editor",
6
6
  "main": "src/main.js",
7
7
  "bin": {
@@ -93,7 +93,7 @@
93
93
  "@vscode/codicons": "^0.0.45",
94
94
  "capitalize": "^2.0.4",
95
95
  "console": "^0.7.2",
96
- "electron": "^42.2.0",
96
+ "electron": "^42.3.0",
97
97
  "electron-prompt": "^1.7.0",
98
98
  "electron-squirrel-startup": "^1.0.1",
99
99
  "electron-tabs": "^1.0.4",
@@ -112,7 +112,8 @@
112
112
  "string-similarity": "^4.0.4",
113
113
  "tweakpane": "^4.0.5",
114
114
  "update-electron-app": "^3.2.0",
115
- "x_ite": "^15.0.3",
116
- "x3d-traverse": "^1.0.22"
115
+ "x_ite": "^15.1.1",
116
+ "x_ite-off-parser": "^1.0.5",
117
+ "x3d-traverse": "^2.0.1"
117
118
  }
118
119
  }
@@ -1030,7 +1030,7 @@ module .exports = class Application
1030
1030
  },
1031
1031
  {
1032
1032
  name: _("3D"),
1033
- extensions: ["gltf", "glb", "vrm", "obj", "stl", "ply", "svg"],
1033
+ extensions: ["gltf", "glb", "vrm", "obj", "stl", "ply", "off", "svg"],
1034
1034
  },
1035
1035
  {
1036
1036
  name: _("Audio"),
@@ -18,6 +18,7 @@ const
18
18
  ImageParser = require ("../Parser/ImageParser"),
19
19
  VideoParser = require ("../Parser/VideoParser"),
20
20
  AudioParser = require ("../Parser/AudioParser"),
21
+ OffParser = require ("x_ite-off-parser"),
21
22
  _ = require ("./GetText");
22
23
 
23
24
  module .exports = class Document extends Interface
@@ -891,7 +892,7 @@ Viewpoint {
891
892
  tool = await grid .getToolInstance ();
892
893
 
893
894
  grid ._visible .addInterest ("updateMenu", this);
894
- tool .getField ("isActive") .addInterest ("handleUndoForGrid", this, typeName);
895
+ tool .getValue () .getField ("isActive") .addInterest ("handleUndoForGrid", this, typeName);
895
896
 
896
897
  UndoManager .shared .beginUndo (_ ("Change Visibility of %s"), typeName);
897
898
 
@@ -1,7 +1,7 @@
1
1
  const
2
2
  X3D = require ("../X3D"),
3
3
  Interface = require ("./Interface"),
4
- Traverse = require ("x3d-traverse") (X3D);
4
+ Traverse = require ("x3d-traverse");
5
5
 
6
6
  module .exports = new class Hierarchy extends Interface
7
7
  {
@@ -7,7 +7,7 @@ const
7
7
  Dialog = require ("../Controls/Dialog"),
8
8
  Editor = require ("../Undo/Editor"),
9
9
  UndoManager = require ("../Undo/UndoManager"),
10
- Traverse = require ("x3d-traverse") (X3D),
10
+ Traverse = require ("x3d-traverse"),
11
11
  _ = require ("../Application/GetText");
12
12
 
13
13
  module .exports = new class Library extends Dialog
@@ -4,7 +4,7 @@ const
4
4
  $ = require ("jquery"),
5
5
  X3D = require ("../X3D"),
6
6
  Interface = require ("../Application/Interface"),
7
- Traverse = require ("x3d-traverse") (X3D),
7
+ Traverse = require ("x3d-traverse"),
8
8
  _ = require ("../Application/GetText");
9
9
 
10
10
  module .exports = class NodeList extends Interface
@@ -2516,7 +2516,7 @@ module .exports = class OutlineEditor extends OutlineRouteGraph
2516
2516
  case "Cylinder":
2517
2517
  case "Sphere":
2518
2518
  {
2519
- toolNode .getTransformTool () .tool .getField ("active") .setValue (true);
2519
+ toolNode .getTransformTool () .tool .getValue () .getField ("active") .setValue (true);
2520
2520
  break;
2521
2521
  }
2522
2522
  case "Disk2D":
@@ -2524,13 +2524,13 @@ module .exports = class OutlineEditor extends OutlineRouteGraph
2524
2524
  if (field .getName () === "innerRadius")
2525
2525
  {
2526
2526
  toolNode .tool .group = `${node .getTypeName ()}.innerRadius`;
2527
- toolNode .getInnerRadiusTransformTool () .tool .getField ("active") .setValue (true);
2527
+ toolNode .getInnerRadiusTransformTool () .tool .getValue () .getField ("active") .setValue (true);
2528
2528
  }
2529
2529
 
2530
2530
  if (field .getName () === "outerRadius")
2531
2531
  {
2532
2532
  toolNode .tool .group = `${node .getTypeName ()}.outerRadius`;
2533
- toolNode .getOuterRadiusTransformTool () .tool .getField ("active") .setValue (true);
2533
+ toolNode .getOuterRadiusTransformTool () .tool .getValue () .getField ("active") .setValue (true);
2534
2534
  }
2535
2535
 
2536
2536
  break;
@@ -2543,9 +2543,9 @@ module .exports = class OutlineEditor extends OutlineRouteGraph
2543
2543
  const innerTool = toolNode .tool .transformTool ?.getValue () .getTool ();
2544
2544
 
2545
2545
  if (innerTool)
2546
- innerTool .tool .getField ("active") .setValue (true);
2546
+ innerTool .tool .getValue () .getField ("active") .setValue (true);
2547
2547
  else
2548
- toolNode .tool .getField ("active") .setValue (true);
2548
+ toolNode .tool .getValue () .getField ("active") .setValue (true);
2549
2549
 
2550
2550
  break;
2551
2551
  }
@@ -2580,7 +2580,7 @@ module .exports = class OutlineEditor extends OutlineRouteGraph
2580
2580
 
2581
2581
  toolNode .getTransformTool () .transformGroups ();
2582
2582
  toolNode .handleUndo (new X3D .SFBool ());
2583
- toolNode .getTransformTool () .tool .getField ("active") .setValue (false);
2583
+ toolNode .getTransformTool () .tool .getValue () .getField ("active") .setValue (false);
2584
2584
 
2585
2585
  UndoManager .shared .endUndo ();
2586
2586
  });
@@ -2602,10 +2602,10 @@ module .exports = class OutlineEditor extends OutlineRouteGraph
2602
2602
  toolNode .handleUndo (new X3D .SFBool ());
2603
2603
 
2604
2604
  if (field .getName () === "innerRadius")
2605
- toolNode .getInnerRadiusTransformTool () .tool .getField ("active") .setValue (false);
2605
+ toolNode .getInnerRadiusTransformTool () .tool .getValue () .getField ("active") .setValue (false);
2606
2606
 
2607
2607
  if (field .getName () === "outerRadius")
2608
- toolNode .getOuterRadiusTransformTool () .tool .getField ("active") .setValue (false);
2608
+ toolNode .getOuterRadiusTransformTool () .tool .getValue () .getField ("active") .setValue (false);
2609
2609
 
2610
2610
  UndoManager .shared .endUndo ();
2611
2611
  });
@@ -2629,7 +2629,7 @@ module .exports = class OutlineEditor extends OutlineRouteGraph
2629
2629
 
2630
2630
  innerTool .transformGroups ();
2631
2631
  toolNode .handleUndo (new X3D .SFBool ());
2632
- innerTool .tool .getField ("active") .setValue (false);
2632
+ innerTool .tool .getValue () .getField ("active") .setValue (false);
2633
2633
 
2634
2634
  UndoManager .shared .endUndo ();
2635
2635
  });
@@ -2640,7 +2640,7 @@ module .exports = class OutlineEditor extends OutlineRouteGraph
2640
2640
 
2641
2641
  toolNode .transformGroups ();
2642
2642
  toolNode .handleUndo (new X3D .SFBool ());
2643
- toolNode .tool .getField ("active") .setValue (true);
2643
+ toolNode .tool .getValue () .getField ("active") .setValue (true);
2644
2644
 
2645
2645
  UndoManager .shared .endUndo ();
2646
2646
  }
@@ -8,7 +8,7 @@ const
8
8
  X3D = require ("../X3D"),
9
9
  Interface = require ("../Application/Interface"),
10
10
  ActionKeys = require ("../Application/ActionKeys"),
11
- Traverse = require ("x3d-traverse") (X3D),
11
+ Traverse = require ("x3d-traverse"),
12
12
  X3DUOM = require ("../Bits/X3DUOM"),
13
13
  _ = require ("../Application/GetText");
14
14
 
@@ -8,7 +8,7 @@ module .exports = class ToolColors
8
8
  static YELLOW = new X3D .Color3 (1, 1, 0.35); // Switch
9
9
  static LILA = new X3D .Color3 (0.7, 0.35, 1); // Anchor
10
10
  static PINK = new X3D .Color3 (1, 0.35, 0.7); // Billboard
11
- static VIOLET = new X3D .Color3 (0.5, 0.175, 0.35); //
11
+ static VIOLET = new X3D .Color3 (0.5, 0.175, 0.35); // GaussianSplats
12
12
  static RED = new X3D .Color3 (1, 0.35, 0.35); // Collision
13
13
  static CYAN = new X3D .Color3 (0.35, 1, 1); // LOD
14
14
 
@@ -18,28 +18,30 @@ class X3DChildNodeTool extends X3DNodeTool
18
18
 
19
19
  isNodeTraversable (type)
20
20
  {
21
- if (!this .node .isVisible ())
21
+ const innerNode = this .node .getInnerNode ();
22
+
23
+ if (!innerNode .isVisible ())
22
24
  return false;
23
25
 
24
26
  switch (type)
25
27
  {
26
28
  case X3D .TraverseType .POINTER:
27
- return this .node .isPointingObject ();
29
+ return innerNode .isPointingObject ();
28
30
 
29
31
  case X3D .TraverseType .CAMERA:
30
- return this .node .isCameraObject ();
32
+ return innerNode .isCameraObject ();
31
33
 
32
34
  case X3D .TraverseType .PICKING:
33
- return this .node .isPickableObject ();
35
+ return innerNode .isPickableObject ();
34
36
 
35
37
  case X3D .TraverseType .COLLISION:
36
- return this .node .isCollisionObject ();
38
+ return innerNode .isCollisionObject ();
37
39
 
38
40
  case X3D .TraverseType .SHADOW:
39
- return this .node .isShadowObject ();
41
+ return innerNode .isShadowObject ();
40
42
 
41
43
  case X3D .TraverseType .DISPLAY:
42
- return this .node .isVisibleObject ();
44
+ return innerNode .isVisibleObject ();
43
45
  }
44
46
  }
45
47
  }
@@ -5,7 +5,7 @@ const
5
5
  X3D = require ("../../X3D"),
6
6
  Editor = require ("../../Undo/Editor"),
7
7
  UndoManager = require ("../../Undo/UndoManager"),
8
- Traverse = require ("x3d-traverse") (X3D),
8
+ Traverse = require ("x3d-traverse"),
9
9
  path = require ("path"),
10
10
  url = require ("url"),
11
11
  _ = require ("../../Application/GetText");
@@ -480,7 +480,7 @@ class X3DNodeTool extends X3DBaseTool
480
480
  traverse (type, renderObject = this .node)
481
481
  {
482
482
  if (this .isNodeTraversable (type))
483
- this .node .traverse ?.(type, renderObject);
483
+ this .node .getInnerNode () .traverse ?.(type, renderObject);
484
484
 
485
485
  switch (type)
486
486
  {
@@ -10,10 +10,10 @@ class X3DEnvironmentalSensorNodeTool extends X3DChildNodeTool
10
10
  {
11
11
  await super .loadTool ("tool", __dirname, "X3DEnvironmentalSensorNodeTool.x3d");
12
12
 
13
- this .tool .getField ("size") .addReference (this .node ._size);
14
- this .tool .getField ("center") .addReference (this .node ._center);
13
+ this .tool .getValue () .getField ("size") .addReference (this .node ._size);
14
+ this .tool .getValue () .getField ("center") .addReference (this .node ._center);
15
15
 
16
- this .tool .getField ("isActive") .addInterest ("handleUndo", this);
16
+ this .tool .getValue () .getField ("isActive") .addInterest ("handleUndo", this);
17
17
 
18
18
  this .tool .boxColor = this .toolBoxColor;
19
19
  }
@@ -25,7 +25,7 @@ class Arc2DTool extends X3DGeometryNodeTool
25
25
  this .#transformNode = transformNode;
26
26
 
27
27
  transformNode .scale .addInterest ("set_scale", this);
28
- transformTool .getField ("isActive") .addInterest ("handleUndo", this);
28
+ transformTool .getValue () .getField ("isActive") .addInterest ("handleUndo", this);
29
29
 
30
30
  groupNode .bboxSize = new X3D .Vector3 (2, 2, 0);
31
31
  transformNode .children = [groupNode];
@@ -25,7 +25,7 @@ class ArcClose2DTool extends X3DGeometryNodeTool
25
25
  this .#transformNode = transformNode;
26
26
 
27
27
  transformNode .scale .addInterest ("set_scale", this);
28
- transformTool .getField ("isActive") .addInterest ("handleUndo", this);
28
+ transformTool .getValue () .getField ("isActive") .addInterest ("handleUndo", this);
29
29
 
30
30
  groupNode .bboxSize = new X3D .Vector3 (2, 2, 0);
31
31
  transformNode .children = [groupNode];
@@ -25,7 +25,7 @@ class Circle2DTool extends X3DGeometryNodeTool
25
25
  this .#transformNode = transformNode;
26
26
 
27
27
  transformNode .scale .addInterest ("set_scale", this);
28
- transformTool .getField ("isActive") .addInterest ("handleUndo", this);
28
+ transformTool .getValue () .getField ("isActive") .addInterest ("handleUndo", this);
29
29
 
30
30
  groupNode .bboxSize = new X3D .Vector3 (2, 2, 0);
31
31
  transformNode .children = [groupNode];
@@ -29,8 +29,8 @@ class Disk2DTool extends X3DGeometryNodeTool
29
29
  this .#outerRadiusTransformNode = transformNode;
30
30
 
31
31
  transformNode .scale .addInterest ("set_outerRadiusScale", this);
32
- transformTool .getField ("isActive") .addInterest ("handleUndo", this);
33
- transformTool .getField ("isActive") .addInterest ("set_outerRadiusActive", this);
32
+ transformTool .getValue () .getField ("isActive") .addInterest ("handleUndo", this);
33
+ transformTool .getValue () .getField ("isActive") .addInterest ("set_outerRadiusActive", this);
34
34
 
35
35
  groupNode .bboxSize = new X3D .Vector3 (2, 2, 0);
36
36
  transformNode .children = [groupNode];
@@ -64,8 +64,8 @@ class Disk2DTool extends X3DGeometryNodeTool
64
64
  this .#innerRadiusTransformNode = transformNode;
65
65
 
66
66
  transformNode .scale .addInterest ("set_innerRadiusScale", this);
67
- transformTool .getField ("isActive") .addInterest ("handleUndo", this);
68
- transformTool .getField ("isActive") .addInterest ("set_innerRadiusActive", this);
67
+ transformTool .getValue () .getField ("isActive") .addInterest ("handleUndo", this);
68
+ transformTool .getValue () .getField ("isActive") .addInterest ("set_innerRadiusActive", this);
69
69
 
70
70
  groupNode .bboxSize = new X3D .Vector3 (2, 2, 0);
71
71
  transformNode .children = [groupNode];
@@ -25,7 +25,7 @@ class Rectangle2DTool extends X3DGeometryNodeTool
25
25
 
26
26
  transformNode .scale .addInterest ("set_scale", this);
27
27
  transformNode .scale .addFieldInterest (this .tool .size);
28
- transformTool .getField ("isActive") .addInterest ("handleUndo", this);
28
+ transformTool .getValue () .getField ("isActive") .addInterest ("handleUndo", this);
29
29
 
30
30
  groupNode .bboxSize = new X3D .Vector3 (2, 2, 0);
31
31
  transformNode .children = [groupNode];
@@ -25,7 +25,7 @@ class BoxTool extends X3DGeometryNodeTool
25
25
 
26
26
  transformNode .scale .addInterest ("set_scale", this);
27
27
  transformNode .scale .addFieldInterest (this .tool .size);
28
- transformTool .getField ("isActive") .addInterest ("handleUndo", this);
28
+ transformTool .getValue () .getField ("isActive") .addInterest ("handleUndo", this);
29
29
 
30
30
  groupNode .bboxSize = new X3D .Vector3 (2, 2, 2);
31
31
  transformNode .children = [groupNode];
@@ -26,7 +26,7 @@ class ConeTool extends X3DGeometryNodeTool
26
26
 
27
27
  transformNode .scale .addInterest ("set_scale", this);
28
28
  transformNode .scale .addFieldInterest (this .tool .size);
29
- transformTool .getField ("isActive") .addInterest ("handleUndo", this);
29
+ transformTool .getValue () .getField ("isActive") .addInterest ("handleUndo", this);
30
30
 
31
31
  groupNode .bboxSize = new X3D .Vector3 (2, 2, 2);
32
32
  transformNode .children = [groupNode];
@@ -26,7 +26,7 @@ class CylinderTool extends X3DGeometryNodeTool
26
26
 
27
27
  transformNode .scale .addInterest ("set_scale", this);
28
28
  transformNode .scale .addFieldInterest (this .tool .size);
29
- transformTool .getField ("isActive") .addInterest ("handleUndo", this);
29
+ transformTool .getValue () .getField ("isActive") .addInterest ("handleUndo", this);
30
30
 
31
31
  groupNode .bboxSize = new X3D .Vector3 (2, 2, 2);
32
32
  transformNode .children = [groupNode];
@@ -26,7 +26,7 @@ class SphereTool extends X3DGeometryNodeTool
26
26
 
27
27
  transformNode .scale .addInterest ("set_scale", this);
28
28
  transformNode .scale .addFieldInterest (this .tool .size);
29
- transformTool .getField ("isActive") .addInterest ("handleUndo", this);
29
+ transformTool .getValue () .getField ("isActive") .addInterest ("handleUndo", this);
30
30
 
31
31
  groupNode .bboxSize = new X3D .Vector3 (2, 2, 2);
32
32
  transformNode .children = [groupNode];
@@ -10,11 +10,11 @@ class GeoViewpointTool extends X3DViewpointNodeTool
10
10
  {
11
11
  await super .initializeTool ();
12
12
 
13
- this .node ._position .addInterest ("set_node_position", this);
14
- this .tool .getField ("position") .addInterest ("set_tool_position", this);
13
+ this .node ._position .addInterest ("set_node_position", this);
14
+ this .tool .getValue () .getField ("position") .addInterest ("set_tool_position", this);
15
15
 
16
- this .node ._orientation .addInterest ("set_node_orientation", this);
17
- this .tool .getField ("orientation") .addInterest ("set_tool_orientation", this);
16
+ this .node ._orientation .addInterest ("set_node_orientation", this);
17
+ this .tool .getValue () .getField ("orientation") .addInterest ("set_tool_orientation", this);
18
18
 
19
19
  this .set_node_position ();
20
20
  this .set_node_orientation ();
@@ -43,7 +43,7 @@ class GeoViewpointTool extends X3DViewpointNodeTool
43
43
 
44
44
  this .#changing .position = true;
45
45
 
46
- this .node .setPosition (this .tool .getField ("position") .getValue ());
46
+ this .node .setPosition (this .tool .getValue () .getField ("position") .getValue ());
47
47
  }
48
48
 
49
49
  set_node_orientation ()
@@ -69,7 +69,7 @@ class GeoViewpointTool extends X3DViewpointNodeTool
69
69
 
70
70
  this .#changing .orientation = true;
71
71
 
72
- this .node .setOrientation (this .tool .getField ("orientation") .getValue ());
72
+ this .node .setOrientation (this .tool .getValue () .getField ("orientation") .getValue ());
73
73
  }
74
74
  }
75
75
 
@@ -11,7 +11,7 @@ class AxonometricGridTool extends X3DGridNodeTool
11
11
  {
12
12
  await super .initializeTool (__dirname, "AxonometricGridTool.x3d");
13
13
 
14
- this .tool .getField ("angles") .setUnit ("angle");
14
+ this .tool .getValue () .getField ("angles") .setUnit ("angle");
15
15
  }
16
16
 
17
17
  getSnapPosition (position)
@@ -15,8 +15,8 @@ class X3DGridNodeTool extends X3DActiveLayerNodeTool
15
15
  {
16
16
  await super .initializeTool (... args);
17
17
 
18
- this .tool .getField ("visible") .addReference (this ._visible);
19
- this .tool .getField ("translation") .setUnit ("length");
18
+ this .tool .getValue () .getField ("visible") .addReference (this ._visible);
19
+ this .tool .getValue () .getField ("translation") .setUnit ("length");
20
20
 
21
21
  for (const field of this .tool .getValue () .getFields ())
22
22
  {
@@ -24,13 +24,13 @@ class X3DTransformNodeTool extends X3DChildNodeTool
24
24
 
25
25
  this .node .addInterest ("transformGroups", this);
26
26
 
27
- this .tool .getField ("translation") .addReference (this .node ._translation);
28
- this .tool .getField ("rotation") .addReference (this .node ._rotation);
29
- this .tool .getField ("scale") .addReference (this .node ._scale);
30
- this .tool .getField ("scaleOrientation") .addReference (this .node ._scaleOrientation);
31
- this .tool .getField ("center") .addReference (this .node ._center);
27
+ this .tool .getValue () .getField ("translation") .addReference (this .node ._translation);
28
+ this .tool .getValue () .getField ("rotation") .addReference (this .node ._rotation);
29
+ this .tool .getValue () .getField ("scale") .addReference (this .node ._scale);
30
+ this .tool .getValue () .getField ("scaleOrientation") .addReference (this .node ._scaleOrientation);
31
+ this .tool .getValue () .getField ("center") .addReference (this .node ._center);
32
32
 
33
- this .tool .getField ("isActive") .addInterest ("handleUndo", this);
33
+ this .tool .getValue () .getField ("isActive") .addInterest ("handleUndo", this);
34
34
 
35
35
  this .tool .bboxColor = this .toolBBoxColor;
36
36
  }
@@ -10,8 +10,8 @@ class DirectionalLightTool extends X3DLightNodeTool
10
10
  {
11
11
  await super .initializeTool ();
12
12
 
13
- this .tool .getField ("location") .addInterest ("set_location", this);
14
- this .tool .getField ("direction") .addReference (this .node ._direction);
13
+ this .tool .getValue () .getField ("location") .addInterest ("set_location", this);
14
+ this .tool .getValue () .getField ("direction") .addReference (this .node ._direction);
15
15
 
16
16
  this .addMetaDataCallback (this, "DirectionalLight/location", this .set_meta_location .bind (this));
17
17
  this .getMetaData ("DirectionalLight/location", this .tool .location);
@@ -8,8 +8,8 @@ class EnvironmentLightTool extends X3DLightNodeTool
8
8
  {
9
9
  await super .initializeTool ();
10
10
 
11
- this .tool .getField ("location") .addReference (this .node ._origin);
12
- this .tool .getField ("rotation") .addReference (this .node ._rotation);
11
+ this .tool .getValue () .getField ("location") .addReference (this .node ._origin);
12
+ this .tool .getValue () .getField ("rotation") .addReference (this .node ._rotation);
13
13
 
14
14
  this .tool .type = 3;
15
15
  }
@@ -8,7 +8,7 @@ class PointLightTool extends X3DLightNodeTool
8
8
  {
9
9
  await super .initializeTool ();
10
10
 
11
- this .tool .getField ("location") .addReference (this .node ._location);
11
+ this .tool .getValue () .getField ("location") .addReference (this .node ._location);
12
12
 
13
13
  this .tool .type = 1;
14
14
  }
@@ -8,10 +8,10 @@ class SpotLightTool extends X3DLightNodeTool
8
8
  {
9
9
  await super .initializeTool ();
10
10
 
11
- this .tool .getField ("location") .addReference (this .node ._location);
12
- this .tool .getField ("direction") .addReference (this .node ._direction);
13
- this .tool .getField ("beamWidth") .addReference (this .node ._beamWidth);
14
- this .tool .getField ("cutOffAngle") .addReference (this .node ._cutOffAngle);
11
+ this .tool .getValue () .getField ("location") .addReference (this .node ._location);
12
+ this .tool .getValue () .getField ("direction") .addReference (this .node ._direction);
13
+ this .tool .getValue () .getField ("beamWidth") .addReference (this .node ._beamWidth);
14
+ this .tool .getValue () .getField ("cutOffAngle") .addReference (this .node ._cutOffAngle);
15
15
 
16
16
  this .tool .type = 2;
17
17
  }
@@ -10,11 +10,11 @@ class X3DLightNodeTool extends X3DChildNodeTool
10
10
  {
11
11
  await super .loadTool ("tool", __dirname, "X3DLightNodeTool.x3d");
12
12
 
13
- this .tool .getField ("on") .addReference (this .node ._on);
14
- this .tool .getField ("color") .addReference (this .node ._color);
15
- this .tool .getField ("intensity") .addReference (this .node ._intensity);
13
+ this .tool .getValue () .getField ("on") .addReference (this .node ._on);
14
+ this .tool .getValue () .getField ("color") .addReference (this .node ._color);
15
+ this .tool .getValue () .getField ("intensity") .addReference (this .node ._intensity);
16
16
 
17
- this .tool .getField ("isActive") .addInterest ("handleUndo", this);
17
+ this .tool .getValue () .getField ("isActive") .addInterest ("handleUndo", this);
18
18
  }
19
19
 
20
20
  isBoundedObject ()
@@ -10,8 +10,8 @@ class X3DNurbsSurfaceGeometryNodeTool extends X3DParametricGeometryNodeTool (X3D
10
10
  {
11
11
  await super .initializeTool ();
12
12
 
13
- this .parametricGeometryNodeTool .getField ("uDimension") .addReference (this .node ._uDimension);
14
- this .parametricGeometryNodeTool .getField ("vDimension") .addReference (this .node ._vDimension);
13
+ this .parametricGeometryNodeTool .getValue () .getField ("uDimension") .addReference (this .node ._uDimension);
14
+ this .parametricGeometryNodeTool .getValue () .getField ("vDimension") .addReference (this .node ._vDimension);
15
15
 
16
16
  this .set_toolRebuildParametricGeometry ();
17
17
  }
@@ -16,7 +16,7 @@ const X3DParametricGeometryNodeTool = Base => class extends Base
16
16
  this .parametricGeometryNodeTool .hullColor = ToolColors .LIGHT_GREY;
17
17
  this .parametricGeometryNodeTool .controlPointColor = ToolColors .DARK_BLUE;
18
18
 
19
- this .parametricGeometryNodeTool .getField ("controlPoint") .addReference (this .node ._controlPoint);
19
+ this .parametricGeometryNodeTool .getValue () .getField ("controlPoint") .addReference (this .node ._controlPoint);
20
20
 
21
21
  this .addExternalNode (this .node ._controlPoint);
22
22
  }
@@ -12,7 +12,7 @@ class BillboardTool extends X3DBoundedObjectTool
12
12
  {
13
13
  await super .initializeTool ();
14
14
 
15
- this .tool .getField ("axisOfRotation") .addReference (this .node ._axisOfRotation);
15
+ this .tool .getValue () .getField ("axisOfRotation") .addReference (this .node ._axisOfRotation);
16
16
 
17
17
  this .tool .centerDisplay = true;
18
18
  }
@@ -12,7 +12,7 @@ class LODTool extends X3DBoundedObjectTool
12
12
  {
13
13
  await super .initializeTool ();
14
14
 
15
- this .tool .getField ("center") .addReference (this .node ._center);
15
+ this .tool .getValue () .getField ("center") .addReference (this .node ._center);
16
16
 
17
17
  this .tool .centerDisplay = true;
18
18
  }
@@ -10,8 +10,8 @@ class OrthoViewpointTool extends X3DViewpointNodeTool
10
10
  {
11
11
  await super .initializeTool ();
12
12
 
13
- this .tool .getField ("position") .addReference (this .node ._position);
14
- this .tool .getField ("orientation") .addReference (this .node ._orientation);
13
+ this .tool .getValue () .getField ("position") .addReference (this .node ._position);
14
+ this .tool .getValue () .getField ("orientation") .addReference (this .node ._orientation);
15
15
  }
16
16
  }
17
17
 
@@ -8,8 +8,8 @@ class ViewpointTool extends X3DViewpointNodeTool
8
8
  {
9
9
  await super .initializeTool ();
10
10
 
11
- this .tool .getField ("position") .addReference (this .node ._position);
12
- this .tool .getField ("orientation") .addReference (this .node ._orientation);
11
+ this .tool .getValue () .getField ("position") .addReference (this .node ._position);
12
+ this .tool .getValue () .getField ("orientation") .addReference (this .node ._orientation);
13
13
  }
14
14
  }
15
15
 
@@ -12,9 +12,9 @@ class X3DViewpointNodeTool extends X3DChildNodeTool
12
12
  {
13
13
  await super .loadTool ("tool", __dirname, "X3DViewpointNodeTool.x3d");
14
14
 
15
- this .tool .getField ("isActive") .addInterest ("handleUndo", this);
15
+ this .tool .getValue () .getField ("isActive") .addInterest ("handleUndo", this);
16
16
 
17
- this .node ._isBound .addFieldInterest (this .tool .getField ("bound"));
17
+ this .node ._isBound .addFieldInterest (this .tool .getValue () .getField ("bound"));
18
18
 
19
19
  this .tool .type = this .toolType;
20
20
  this .tool .bound = this .node ._isBound;
@@ -22,7 +22,7 @@ class X3DViewpointNodeTool extends X3DChildNodeTool
22
22
 
23
23
  disposeTool ()
24
24
  {
25
- this .node ._isBound .removeFieldInterest (this .tool .getField ("bound"));
25
+ this .node ._isBound .removeFieldInterest (this .tool .getValue () .getField ("bound"));
26
26
 
27
27
  super .disposeTool ();
28
28
  }
@@ -10,10 +10,10 @@ class ListenerPointSourceTool extends X3DChildNodeTool
10
10
  {
11
11
  await super .loadTool ("tool", __dirname, "ListenerPointSourceTool.x3d");
12
12
 
13
- this .tool .getField ("position") .addReference (this .node ._position);
14
- this .tool .getField ("orientation") .addReference (this .node ._orientation);
13
+ this .tool .getValue () .getField ("position") .addReference (this .node ._position);
14
+ this .tool .getValue () .getField ("orientation") .addReference (this .node ._orientation);
15
15
 
16
- this .tool .getField ("isActive") .addInterest ("handleUndo", this);
16
+ this .tool .getValue () .getField ("isActive") .addInterest ("handleUndo", this);
17
17
  }
18
18
 
19
19
  beginUndo ()
@@ -12,14 +12,14 @@ class SoundTool extends X3DChildNodeTool
12
12
  {
13
13
  await super .loadTool ("tool", __dirname, "SoundTool.x3d");
14
14
 
15
- this .tool .getField ("location") .addReference (this .node ._location);
16
- this .tool .getField ("direction") .addReference (this .node ._direction);
17
- this .tool .getField ("minBack") .addReference (this .node ._minBack);
18
- this .tool .getField ("minFront") .addReference (this .node ._minFront);
19
- this .tool .getField ("maxBack") .addReference (this .node ._maxBack);
20
- this .tool .getField ("maxFront") .addReference (this .node ._maxFront);
15
+ this .tool .getValue () .getField ("location") .addReference (this .node ._location);
16
+ this .tool .getValue () .getField ("direction") .addReference (this .node ._direction);
17
+ this .tool .getValue () .getField ("minBack") .addReference (this .node ._minBack);
18
+ this .tool .getValue () .getField ("minFront") .addReference (this .node ._minFront);
19
+ this .tool .getValue () .getField ("maxBack") .addReference (this .node ._maxBack);
20
+ this .tool .getValue () .getField ("maxFront") .addReference (this .node ._maxFront);
21
21
 
22
- this .tool .getField ("isActive") .addInterest ("handleUndo", this);
22
+ this .tool .getValue () .getField ("isActive") .addInterest ("handleUndo", this);
23
23
  }
24
24
 
25
25
  beginUndo ()
@@ -10,13 +10,13 @@ class SpatialSoundTool extends X3DChildNodeTool
10
10
  {
11
11
  await super .loadTool ("tool", __dirname, "SpatialSoundTool.x3d");
12
12
 
13
- this .tool .getField ("location") .addReference (this .node ._location);
14
- this .tool .getField ("direction") .addReference (this .node ._direction);
15
- this .tool .getField ("coneInnerAngle") .addReference (this .node ._coneInnerAngle);
16
- this .tool .getField ("coneOuterAngle") .addReference (this .node ._coneOuterAngle);
17
- this .tool .getField ("referenceDistance") .addReference (this .node ._referenceDistance);
13
+ this .tool .getValue () .getField ("location") .addReference (this .node ._location);
14
+ this .tool .getValue () .getField ("direction") .addReference (this .node ._direction);
15
+ this .tool .getValue () .getField ("coneInnerAngle") .addReference (this .node ._coneInnerAngle);
16
+ this .tool .getValue () .getField ("coneOuterAngle") .addReference (this .node ._coneOuterAngle);
17
+ this .tool .getValue () .getField ("referenceDistance") .addReference (this .node ._referenceDistance);
18
18
 
19
- this .tool .getField ("isActive") .addInterest ("handleUndo", this);
19
+ this .tool .getValue () .getField ("isActive") .addInterest ("handleUndo", this);
20
20
  }
21
21
 
22
22
  beginUndo ()
@@ -8,18 +8,18 @@ class TextureProjectorParallelTool extends X3DTextureProjectorNodeTool
8
8
  {
9
9
  await super .initializeTool ();
10
10
 
11
- this .tool .getField ("parallelFieldOfView") .addReference (this .node ._fieldOfView);
12
- this .tool .getField ("parallelNearDistance") .addReference (this .node ._nearDistance);
13
- this .tool .getField ("parallelFarDistance") .addReference (this .node ._farDistance);
11
+ this .tool .getValue () .getField ("parallelFieldOfView") .addReference (this .node ._fieldOfView);
12
+ this .tool .getValue () .getField ("parallelNearDistance") .addReference (this .node ._nearDistance);
13
+ this .tool .getValue () .getField ("parallelFarDistance") .addReference (this .node ._farDistance);
14
14
 
15
- this .node ._aspectRatio .addFieldInterest (this .tool .getField ("parallelAspectRatio"));
15
+ this .node ._aspectRatio .addFieldInterest (this .tool .getValue () .getField ("parallelAspectRatio"));
16
16
 
17
17
  this .tool .parallelAspectRatio = this .node ._aspectRatio;
18
18
  }
19
19
 
20
20
  disposeTool ()
21
21
  {
22
- this .node ._aspectRatio .removeFieldInterest (this .tool .getField ("parallelAspectRatio"));
22
+ this .node ._aspectRatio .removeFieldInterest (this .tool .getValue () .getField ("parallelAspectRatio"));
23
23
 
24
24
  super .disposeTool ();
25
25
  }
@@ -8,18 +8,18 @@ class TextureProjectorTool extends X3DTextureProjectorNodeTool
8
8
  {
9
9
  await super .initializeTool ();
10
10
 
11
- this .tool .getField ("perspectiveFieldOfView") .addReference (this .node ._fieldOfView);
12
- this .tool .getField ("perspectiveNearDistance") .addReference (this .node ._nearDistance);
13
- this .tool .getField ("perspectiveFarDistance") .addReference (this .node ._farDistance);
11
+ this .tool .getValue () .getField ("perspectiveFieldOfView") .addReference (this .node ._fieldOfView);
12
+ this .tool .getValue () .getField ("perspectiveNearDistance") .addReference (this .node ._nearDistance);
13
+ this .tool .getValue () .getField ("perspectiveFarDistance") .addReference (this .node ._farDistance);
14
14
 
15
- this .node ._aspectRatio .addFieldInterest (this .tool .getField ("perspectiveAspectRatio"));
15
+ this .node ._aspectRatio .addFieldInterest (this .tool .getValue () .getField ("perspectiveAspectRatio"));
16
16
 
17
17
  this .tool .perspectiveAspectRatio = this .node ._aspectRatio;
18
18
  }
19
19
 
20
20
  disposeTool ()
21
21
  {
22
- this .node ._aspectRatio .removeFieldInterest (this .tool .getField ("perspectiveAspectRatio"));
22
+ this .node ._aspectRatio .removeFieldInterest (this .tool .getValue () .getField ("perspectiveAspectRatio"));
23
23
 
24
24
  super .disposeTool ();
25
25
  }
@@ -10,13 +10,13 @@ class X3DTextureProjectorNodeTool extends X3DChildNodeTool
10
10
  {
11
11
  await super .loadTool ("tool", __dirname, "X3DTextureProjectorNodeTool.x3d");
12
12
 
13
- this .tool .getField ("on") .addReference (this .node ._on);
14
- this .tool .getField ("location") .addReference (this .node ._location);
15
- this .tool .getField ("direction") .addReference (this .node ._direction);
16
- this .tool .getField ("upVector") .addReference (this .node ._upVector);
17
- this .tool .getField ("texture") .addReference (this .node ._texture);
13
+ this .tool .getValue () .getField ("on") .addReference (this .node ._on);
14
+ this .tool .getValue () .getField ("location") .addReference (this .node ._location);
15
+ this .tool .getValue () .getField ("direction") .addReference (this .node ._direction);
16
+ this .tool .getValue () .getField ("upVector") .addReference (this .node ._upVector);
17
+ this .tool .getValue () .getField ("texture") .addReference (this .node ._texture);
18
18
 
19
- this .tool .getField ("isActive") .addInterest ("handleUndo", this);
19
+ this .tool .getValue () .getField ("isActive") .addInterest ("handleUndo", this);
20
20
 
21
21
  this .addExternalNode (this .node ._texture);
22
22
  }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ const
4
+ X3DBoundedObjectTool = require ("../Grouping/X3DBoundedObjectTool"),
5
+ ToolColors = require ("../Core/ToolColors");
6
+
7
+ class GaussianSplatsTool extends X3DBoundedObjectTool
8
+ {
9
+ toolBBoxColor = ToolColors .VIOLET;
10
+ }
11
+
12
+ module .exports = GaussianSplatsTool;
@@ -7,7 +7,7 @@ const
7
7
  fs = require ("fs"),
8
8
  zlib = require ("zlib"),
9
9
  X3D = require ("../X3D"),
10
- Traverse = require ("x3d-traverse") (X3D),
10
+ Traverse = require ("x3d-traverse"),
11
11
  UndoManager = require ("./UndoManager"),
12
12
  _ = require ("../Application/GetText")
13
13