sunrize 1.7.18 → 1.7.19
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 +4 -4
- package/src/Application/Application.js +21 -1
- package/src/Application/Document.js +2 -2
- package/src/Editors/OutlineView.js +1 -1
- package/src/Editors/Primitives.js +430 -0
- package/src/Tools/Layering/X3DActiveLayerNodeTool.js +0 -2
- package/src/Tools/NURBS/X3DParametricGeometryNodeTool.js +7 -0
- package/src/Undo/Editor.js +3 -0
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sunrize",
|
|
3
3
|
"productName": "Sunrize X3D Editor",
|
|
4
|
-
"version": "1.7.
|
|
4
|
+
"version": "1.7.19",
|
|
5
5
|
"description": "A Multi-Platform X3D Editor",
|
|
6
6
|
"main": "src/main.js",
|
|
7
7
|
"bin": {
|
|
@@ -90,14 +90,14 @@
|
|
|
90
90
|
"dependencies": {
|
|
91
91
|
"capitalize": "^2.0.4",
|
|
92
92
|
"console": "^0.7.2",
|
|
93
|
-
"electron": "^32.0
|
|
93
|
+
"electron": "^32.1.0",
|
|
94
94
|
"electron-prompt": "^1.7.0",
|
|
95
95
|
"electron-squirrel-startup": "^1.0.1",
|
|
96
96
|
"electron-tabs": "^1.0.4",
|
|
97
97
|
"fullname": "^5.0.0",
|
|
98
98
|
"jquery": "^3.7.1",
|
|
99
99
|
"jquery-ui-dist": "^1.13.3",
|
|
100
|
-
"jstree": "^3.3.
|
|
100
|
+
"jstree": "^3.3.17",
|
|
101
101
|
"material-icons": "^1.13.12",
|
|
102
102
|
"material-symbols": "^0.23.0",
|
|
103
103
|
"md5": "^2.3.0",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"string-similarity": "^4.0.4",
|
|
110
110
|
"tweakpane": "^3.1.10",
|
|
111
111
|
"update-electron-app": "^3.0.0",
|
|
112
|
-
"x_ite": "^10.5.
|
|
112
|
+
"x_ite": "^10.5.2"
|
|
113
113
|
},
|
|
114
114
|
"config": {
|
|
115
115
|
"forge": {
|
|
@@ -137,7 +137,22 @@ module .exports = class Application
|
|
|
137
137
|
|
|
138
138
|
set currentFile (currentFile)
|
|
139
139
|
{
|
|
140
|
-
|
|
140
|
+
const protocol = currentFile .match (/^(.+?:)/);
|
|
141
|
+
|
|
142
|
+
switch (protocol ?.[1])
|
|
143
|
+
{
|
|
144
|
+
default:
|
|
145
|
+
this .#currentFile = new URL (currentFile) .pathname .split ("/") .at (-1);
|
|
146
|
+
break;
|
|
147
|
+
case "file:":
|
|
148
|
+
this .#currentFile = url .fileURLToPath (currentFile);
|
|
149
|
+
break;
|
|
150
|
+
case "data:":
|
|
151
|
+
case "id:":
|
|
152
|
+
case undefined:
|
|
153
|
+
this .#currentFile = "";
|
|
154
|
+
break;
|
|
155
|
+
}
|
|
141
156
|
|
|
142
157
|
this .mainWindow .setRepresentedFilename (this .#currentFile);
|
|
143
158
|
}
|
|
@@ -802,6 +817,11 @@ module .exports = class Application
|
|
|
802
817
|
label: _("Using the Script Editor"),
|
|
803
818
|
click: () => electron .shell .openExternal ("https://create3000.github.io/sunrize/documentation/using-the-script-editor/"),
|
|
804
819
|
},
|
|
820
|
+
{ type: "separator" },
|
|
821
|
+
{
|
|
822
|
+
label: _("Report a Bug"),
|
|
823
|
+
click: () => electron .shell .openExternal ("https://github.com/create3000/sunrize/issues"),
|
|
824
|
+
},
|
|
805
825
|
],
|
|
806
826
|
},
|
|
807
827
|
]));
|
|
@@ -108,7 +108,7 @@ module .exports = class Document extends Interface
|
|
|
108
108
|
// Layout Menu
|
|
109
109
|
|
|
110
110
|
electron .ipcRenderer .on ("browser-frame", () => this .browserFrame .open ());
|
|
111
|
-
electron .ipcRenderer .on ("grid-tool", (event, typeName, visible) => this .activateGridTool (typeName, visible));
|
|
111
|
+
electron .ipcRenderer .on ("grid-tool", (event, typeName, visible) => this .activateGridTool (typeName, visible, true));
|
|
112
112
|
electron .ipcRenderer .on ("grid-options", () => this .showGridOptions ());
|
|
113
113
|
|
|
114
114
|
electron .ipcRenderer .on ("activate-snap-target", (event, visible) => this .activateSnapTarget (visible));
|
|
@@ -342,7 +342,7 @@ Viewpoint {
|
|
|
342
342
|
}
|
|
343
343
|
`));
|
|
344
344
|
|
|
345
|
-
this .activateGridTool ("GridTool", true);
|
|
345
|
+
this .activateGridTool ("GridTool", true, false);
|
|
346
346
|
}
|
|
347
347
|
}
|
|
348
348
|
else
|
|
@@ -2968,7 +2968,7 @@ module .exports = class OutlineView extends Interface
|
|
|
2968
2968
|
const elements = this .sceneGraph .find ("> .root-nodes > ul > li[node-id]");
|
|
2969
2969
|
|
|
2970
2970
|
for (const element of elements)
|
|
2971
|
-
this .selectNodeElement ($(element));
|
|
2971
|
+
this .selectNodeElement ($(element), true);
|
|
2972
2972
|
}
|
|
2973
2973
|
|
|
2974
2974
|
deselectAll ()
|
|
@@ -381,6 +381,436 @@ EnvironmentLight {
|
|
|
381
381
|
}
|
|
382
382
|
}
|
|
383
383
|
`
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
componentInfo: { name: "NURBS" },
|
|
387
|
+
typeName: "NurbsCircle2D",
|
|
388
|
+
x3dSyntax: `
|
|
389
|
+
DEF NurbsCircle2D Transform {
|
|
390
|
+
children Shape {
|
|
391
|
+
appearance Appearance {
|
|
392
|
+
material UnlitMaterial { }
|
|
393
|
+
}
|
|
394
|
+
geometry NurbsCurve {
|
|
395
|
+
closed TRUE
|
|
396
|
+
knot [
|
|
397
|
+
0,
|
|
398
|
+
0,
|
|
399
|
+
0,
|
|
400
|
+
0.25,
|
|
401
|
+
0.25,
|
|
402
|
+
0.5,
|
|
403
|
+
0.5,
|
|
404
|
+
0.75,
|
|
405
|
+
0.75,
|
|
406
|
+
1,
|
|
407
|
+
1,
|
|
408
|
+
1
|
|
409
|
+
]
|
|
410
|
+
weight [
|
|
411
|
+
1,
|
|
412
|
+
0.7071067811865476,
|
|
413
|
+
1,
|
|
414
|
+
0.7071067811865476,
|
|
415
|
+
1,
|
|
416
|
+
0.7071067811865476,
|
|
417
|
+
1,
|
|
418
|
+
0.7071067811865476,
|
|
419
|
+
1
|
|
420
|
+
]
|
|
421
|
+
controlPoint CoordinateDouble {
|
|
422
|
+
point [
|
|
423
|
+
1 0 0,
|
|
424
|
+
0.7071067811865476 -0.7071067811865476 0,
|
|
425
|
+
0 -1 0,
|
|
426
|
+
-0.7071067811865476 -0.7071067811865476 0,
|
|
427
|
+
-1 0 0,
|
|
428
|
+
-0.7071067811865476 0.7071067811865476 0,
|
|
429
|
+
0 1 0,
|
|
430
|
+
0.7071067811865476 0.7071067811865476 0,
|
|
431
|
+
1 0 0
|
|
432
|
+
]
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
}`
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
componentInfo: { name: "NURBS" },
|
|
440
|
+
typeName: "NurbsCylinder",
|
|
441
|
+
x3dSyntax: `
|
|
442
|
+
DEF NurbsCylinder Transform {
|
|
443
|
+
children Shape {
|
|
444
|
+
appearance Appearance {
|
|
445
|
+
material Material { }
|
|
446
|
+
}
|
|
447
|
+
geometry NurbsPatchSurface {
|
|
448
|
+
uClosed TRUE
|
|
449
|
+
vOrder 2
|
|
450
|
+
uDimension 9
|
|
451
|
+
vDimension 2
|
|
452
|
+
uKnot [
|
|
453
|
+
0,
|
|
454
|
+
0,
|
|
455
|
+
0,
|
|
456
|
+
0.25,
|
|
457
|
+
0.25,
|
|
458
|
+
0.5,
|
|
459
|
+
0.5,
|
|
460
|
+
0.75,
|
|
461
|
+
0.75,
|
|
462
|
+
1,
|
|
463
|
+
1,
|
|
464
|
+
1
|
|
465
|
+
]
|
|
466
|
+
vKnot [
|
|
467
|
+
0,
|
|
468
|
+
0,
|
|
469
|
+
1,
|
|
470
|
+
1
|
|
471
|
+
]
|
|
472
|
+
weight [
|
|
473
|
+
1,
|
|
474
|
+
0.707106781186548,
|
|
475
|
+
1,
|
|
476
|
+
0.707106781186548,
|
|
477
|
+
1,
|
|
478
|
+
0.707106781186548,
|
|
479
|
+
1,
|
|
480
|
+
0.707106781186548,
|
|
481
|
+
1,
|
|
482
|
+
1,
|
|
483
|
+
0.707106781186548,
|
|
484
|
+
1,
|
|
485
|
+
0.707106781186548,
|
|
486
|
+
1,
|
|
487
|
+
0.707106781186548,
|
|
488
|
+
1,
|
|
489
|
+
0.707106781186548,
|
|
490
|
+
1
|
|
491
|
+
]
|
|
492
|
+
controlPoint CoordinateDouble {
|
|
493
|
+
point [
|
|
494
|
+
1 -1 0,
|
|
495
|
+
0.707106781186548 -0.707106781186548 -0.707106781186548,
|
|
496
|
+
0 -1 -1,
|
|
497
|
+
-0.707106781186548 -0.707106781186548 -0.707106781186548,
|
|
498
|
+
-1 -1 0,
|
|
499
|
+
-0.707106781186548 -0.707106781186548 0.707106781186548,
|
|
500
|
+
0 -1 1,
|
|
501
|
+
0.707106781186548 -0.707106781186548 0.707106781186548,
|
|
502
|
+
1 -1 0,
|
|
503
|
+
1 1 0,
|
|
504
|
+
0.707106781186548 0.707106781186548 -0.707106781186548,
|
|
505
|
+
0 1 -1,
|
|
506
|
+
-0.707106781186548 0.707106781186548 -0.707106781186548,
|
|
507
|
+
-1 1 0,
|
|
508
|
+
-0.707106781186548 0.707106781186548 0.707106781186548,
|
|
509
|
+
0 1 1,
|
|
510
|
+
0.707106781186548 0.707106781186548 0.707106781186548,
|
|
511
|
+
1 1 0
|
|
512
|
+
]
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
}`
|
|
517
|
+
},
|
|
518
|
+
{
|
|
519
|
+
componentInfo: { name: "NURBS" },
|
|
520
|
+
typeName: "NurbsDisk2D",
|
|
521
|
+
x3dSyntax: `
|
|
522
|
+
DEF NurbsDisk2D Transform {
|
|
523
|
+
children Shape {
|
|
524
|
+
appearance Appearance {
|
|
525
|
+
material Material { }
|
|
526
|
+
}
|
|
527
|
+
geometry NurbsPatchSurface {
|
|
528
|
+
solid FALSE
|
|
529
|
+
uDimension 3
|
|
530
|
+
vDimension 3
|
|
531
|
+
weight [
|
|
532
|
+
1,
|
|
533
|
+
0.707106781186548,
|
|
534
|
+
1,
|
|
535
|
+
0.707106781186548,
|
|
536
|
+
1,
|
|
537
|
+
0.707106781186548,
|
|
538
|
+
1,
|
|
539
|
+
0.707106781186548,
|
|
540
|
+
1
|
|
541
|
+
]
|
|
542
|
+
controlPoint CoordinateDouble {
|
|
543
|
+
point [
|
|
544
|
+
-0.707106781186548 -0.707106781186548 0,
|
|
545
|
+
0 -1 0,
|
|
546
|
+
0.707106781186548 -0.707106781186548 0,
|
|
547
|
+
-1 0 0,
|
|
548
|
+
0 0 0,
|
|
549
|
+
1 0 0,
|
|
550
|
+
-0.707106781186548 0.707106781186548 0,
|
|
551
|
+
0 1 0,
|
|
552
|
+
0.707106781186548 0.707106781186548 0
|
|
553
|
+
]
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
}`,
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
componentInfo: { name: "NURBS" },
|
|
561
|
+
typeName: "NurbsCone",
|
|
562
|
+
x3dSyntax: `
|
|
563
|
+
DEF NurbsCone Transform {
|
|
564
|
+
children Shape {
|
|
565
|
+
appearance Appearance {
|
|
566
|
+
material Material { }
|
|
567
|
+
}
|
|
568
|
+
geometry NurbsPatchSurface {
|
|
569
|
+
uClosed TRUE
|
|
570
|
+
vOrder 2
|
|
571
|
+
uDimension 9
|
|
572
|
+
vDimension 2
|
|
573
|
+
uKnot [
|
|
574
|
+
0,
|
|
575
|
+
0,
|
|
576
|
+
0,
|
|
577
|
+
0.25,
|
|
578
|
+
0.25,
|
|
579
|
+
0.5,
|
|
580
|
+
0.5,
|
|
581
|
+
0.75,
|
|
582
|
+
0.75,
|
|
583
|
+
1,
|
|
584
|
+
1,
|
|
585
|
+
1
|
|
586
|
+
]
|
|
587
|
+
vKnot [
|
|
588
|
+
0,
|
|
589
|
+
0,
|
|
590
|
+
1,
|
|
591
|
+
1
|
|
592
|
+
]
|
|
593
|
+
weight [
|
|
594
|
+
1,
|
|
595
|
+
0.707106781186548,
|
|
596
|
+
1,
|
|
597
|
+
0.707106781186548,
|
|
598
|
+
1,
|
|
599
|
+
0.707106781186548,
|
|
600
|
+
1,
|
|
601
|
+
0.707106781186548,
|
|
602
|
+
1,
|
|
603
|
+
1,
|
|
604
|
+
0.707106781186548,
|
|
605
|
+
1,
|
|
606
|
+
0.707106781186548,
|
|
607
|
+
1,
|
|
608
|
+
0.707106781186548,
|
|
609
|
+
1,
|
|
610
|
+
0.707106781186548,
|
|
611
|
+
1
|
|
612
|
+
]
|
|
613
|
+
controlPoint CoordinateDouble {
|
|
614
|
+
point [
|
|
615
|
+
1 -1 0,
|
|
616
|
+
0.707106781186548 -0.707106781186548 -0.707106781186548,
|
|
617
|
+
0 -1 -1,
|
|
618
|
+
-0.707106781186548 -0.707106781186548 -0.707106781186548,
|
|
619
|
+
-1 -1 0,
|
|
620
|
+
-0.707106781186548 -0.707106781186548 0.707106781186548,
|
|
621
|
+
0 -1 1,
|
|
622
|
+
0.707106781186548 -0.707106781186548 0.707106781186548,
|
|
623
|
+
1 -1 0,
|
|
624
|
+
0 1 0,
|
|
625
|
+
0 0.707106781186548 0,
|
|
626
|
+
0 1 0,
|
|
627
|
+
0 0.707106781186548 0,
|
|
628
|
+
0 1 0,
|
|
629
|
+
0 0.707106781186548 0,
|
|
630
|
+
0 1 0,
|
|
631
|
+
0 0.707106781186548 0,
|
|
632
|
+
0 1 0
|
|
633
|
+
]
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
}
|
|
637
|
+
}`
|
|
638
|
+
},
|
|
639
|
+
{
|
|
640
|
+
componentInfo: { name: "NURBS" },
|
|
641
|
+
typeName: "NurbsRectangle2D",
|
|
642
|
+
x3dSyntax: `
|
|
643
|
+
DEF NurbsRectangle2D Transform {
|
|
644
|
+
children Shape {
|
|
645
|
+
appearance Appearance {
|
|
646
|
+
material Material { }
|
|
647
|
+
}
|
|
648
|
+
geometry NurbsPatchSurface {
|
|
649
|
+
solid FALSE
|
|
650
|
+
uOrder 2
|
|
651
|
+
vOrder 2
|
|
652
|
+
uDimension 2
|
|
653
|
+
vDimension 2
|
|
654
|
+
uKnot [
|
|
655
|
+
-1,
|
|
656
|
+
-1,
|
|
657
|
+
1,
|
|
658
|
+
1
|
|
659
|
+
]
|
|
660
|
+
vKnot [
|
|
661
|
+
-1,
|
|
662
|
+
-1,
|
|
663
|
+
1,
|
|
664
|
+
1
|
|
665
|
+
]
|
|
666
|
+
controlPoint CoordinateDouble {
|
|
667
|
+
point [
|
|
668
|
+
-1 -1 0,
|
|
669
|
+
1 -1 0,
|
|
670
|
+
-1 1 0,
|
|
671
|
+
1 1 0
|
|
672
|
+
]
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
}`
|
|
677
|
+
},
|
|
678
|
+
{
|
|
679
|
+
componentInfo: { name: "NURBS" },
|
|
680
|
+
typeName: "NurbsSphere",
|
|
681
|
+
x3dSyntax: `
|
|
682
|
+
DEF NurbsSphere Transform {
|
|
683
|
+
children Shape {
|
|
684
|
+
appearance Appearance {
|
|
685
|
+
material Material { }
|
|
686
|
+
}
|
|
687
|
+
geometry NurbsPatchSurface {
|
|
688
|
+
uClosed TRUE
|
|
689
|
+
uDimension 9
|
|
690
|
+
vDimension 5
|
|
691
|
+
uKnot [
|
|
692
|
+
0,
|
|
693
|
+
0,
|
|
694
|
+
0,
|
|
695
|
+
0.25,
|
|
696
|
+
0.25,
|
|
697
|
+
0.5,
|
|
698
|
+
0.5,
|
|
699
|
+
0.75,
|
|
700
|
+
0.75,
|
|
701
|
+
1,
|
|
702
|
+
1,
|
|
703
|
+
1
|
|
704
|
+
]
|
|
705
|
+
vKnot [
|
|
706
|
+
0,
|
|
707
|
+
0,
|
|
708
|
+
0,
|
|
709
|
+
0.5,
|
|
710
|
+
0.5,
|
|
711
|
+
1,
|
|
712
|
+
1,
|
|
713
|
+
1
|
|
714
|
+
]
|
|
715
|
+
weight [
|
|
716
|
+
1,
|
|
717
|
+
0.707106781186548,
|
|
718
|
+
1,
|
|
719
|
+
0.707106781186548,
|
|
720
|
+
1,
|
|
721
|
+
0.707106781186548,
|
|
722
|
+
1,
|
|
723
|
+
0.707106781186548,
|
|
724
|
+
1,
|
|
725
|
+
0.707106781186548,
|
|
726
|
+
0.5,
|
|
727
|
+
0.707106781186548,
|
|
728
|
+
0.5,
|
|
729
|
+
0.707106781186548,
|
|
730
|
+
0.5,
|
|
731
|
+
0.707106781186548,
|
|
732
|
+
0.5,
|
|
733
|
+
0.707106781186548,
|
|
734
|
+
1,
|
|
735
|
+
0.707106781186548,
|
|
736
|
+
1,
|
|
737
|
+
0.707106781186548,
|
|
738
|
+
1,
|
|
739
|
+
0.707106781186548,
|
|
740
|
+
1,
|
|
741
|
+
0.707106781186548,
|
|
742
|
+
1,
|
|
743
|
+
0.707106781186548,
|
|
744
|
+
0.5,
|
|
745
|
+
0.707106781186548,
|
|
746
|
+
0.5,
|
|
747
|
+
0.707106781186548,
|
|
748
|
+
0.5,
|
|
749
|
+
0.707106781186548,
|
|
750
|
+
0.5,
|
|
751
|
+
0.707106781186548,
|
|
752
|
+
1,
|
|
753
|
+
0.707106781186548,
|
|
754
|
+
1,
|
|
755
|
+
0.707106781186548,
|
|
756
|
+
1,
|
|
757
|
+
0.707106781186548,
|
|
758
|
+
1,
|
|
759
|
+
0.707106781186548,
|
|
760
|
+
1
|
|
761
|
+
]
|
|
762
|
+
controlPoint CoordinateDouble {
|
|
763
|
+
point [
|
|
764
|
+
0 -1 0,
|
|
765
|
+
0 -0.707106781186548 0,
|
|
766
|
+
0 -1 0,
|
|
767
|
+
0 -0.707106781186548 0,
|
|
768
|
+
0 -1 0,
|
|
769
|
+
0 -0.707106781186548 0,
|
|
770
|
+
0 -1 0,
|
|
771
|
+
0 -0.707106781186548 0,
|
|
772
|
+
0 -1 0,
|
|
773
|
+
0 -0.707106781186548 -0.707106781186548,
|
|
774
|
+
-0.5 -0.5 -0.5,
|
|
775
|
+
-0.707106781186548 -0.707106781186548 0,
|
|
776
|
+
-0.5 -0.5 0.5,
|
|
777
|
+
0 -0.707106781186548 0.707106781186548,
|
|
778
|
+
0.5 -0.5 0.5,
|
|
779
|
+
0.707106781186548 -0.707106781186548 0,
|
|
780
|
+
0.5 -0.5 -0.5,
|
|
781
|
+
0 -0.707106781186548 -0.707106781186548,
|
|
782
|
+
0 0 -1,
|
|
783
|
+
-0.707106781186548 0 -0.707106781186548,
|
|
784
|
+
-1 0 0,
|
|
785
|
+
-0.707106781186548 0 0.707106781186548,
|
|
786
|
+
0 0 1,
|
|
787
|
+
0.707106781186548 0 0.707106781186548,
|
|
788
|
+
1 0 0,
|
|
789
|
+
0.707106781186548 0 -0.707106781186548,
|
|
790
|
+
0 0 -1,
|
|
791
|
+
0 0.707106781186548 -0.707106781186548,
|
|
792
|
+
-0.5 0.5 -0.5,
|
|
793
|
+
-0.707106781186548 0.707106781186548 0,
|
|
794
|
+
-0.5 0.5 0.5,
|
|
795
|
+
0 0.707106781186548 0.707106781186548,
|
|
796
|
+
0.5 0.5 0.5,
|
|
797
|
+
0.707106781186548 0.707106781186548 0,
|
|
798
|
+
0.5 0.5 -0.5,
|
|
799
|
+
0 0.707106781186548 -0.707106781186548,
|
|
800
|
+
0 1 0,
|
|
801
|
+
0 0.707106781186548 0,
|
|
802
|
+
0 1 0,
|
|
803
|
+
0 0.707106781186548 0,
|
|
804
|
+
0 1 0,
|
|
805
|
+
0 0.707106781186548 0,
|
|
806
|
+
0 1 0,
|
|
807
|
+
0 0.707106781186548 0,
|
|
808
|
+
0 1 0
|
|
809
|
+
]
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
}
|
|
813
|
+
}`,
|
|
384
814
|
},
|
|
385
815
|
{
|
|
386
816
|
componentInfo: { name: "Text" },
|
|
@@ -21,6 +21,13 @@ const X3DParametricGeometryNodeTool = Base => class extends Base
|
|
|
21
21
|
this .addExternalNode (this .node ._controlPoint);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
disposeTool ()
|
|
25
|
+
{
|
|
26
|
+
this .node ._rebuild .removeInterest ("set_toolRebuildParametricGeometry", this);
|
|
27
|
+
|
|
28
|
+
super .disposeTool ();
|
|
29
|
+
}
|
|
30
|
+
|
|
24
31
|
set_toolRebuildParametricGeometry ()
|
|
25
32
|
{
|
|
26
33
|
const
|
package/src/Undo/Editor.js
CHANGED
|
@@ -2700,6 +2700,8 @@ ${scene .toXMLString ({ html: true, indent: " " .repeat (6) }) .trimEnd () }
|
|
|
2700
2700
|
return new X3D .Box3 (X3D .Vector3 .One, innerNode ._position .getValue ())
|
|
2701
2701
|
.multLeft (new X3D .Matrix4 () .setRotation (innerNode ._orientation .getValue ()))
|
|
2702
2702
|
.multRight (modelMatrix);
|
|
2703
|
+
case X3D .X3DConstants .X3DLayerNode:
|
|
2704
|
+
return innerNode .getBBox (new X3D .Box3 ());
|
|
2703
2705
|
default:
|
|
2704
2706
|
continue;
|
|
2705
2707
|
}
|
|
@@ -3335,6 +3337,7 @@ ${scene .toXMLString ({ html: true, indent: " " .repeat (6) }) .trimEnd () }
|
|
|
3335
3337
|
break;
|
|
3336
3338
|
}
|
|
3337
3339
|
case X3D .X3DConstants .Coordinate:
|
|
3340
|
+
case X3D .X3DConstants .CoordinateDouble:
|
|
3338
3341
|
{
|
|
3339
3342
|
const point = node ._point
|
|
3340
3343
|
.map (p => this .roundToIntegerIfAlmostEqual (modelMatrix .multVecMatrix (p .getValue () .copy ())));
|