three-cad-viewer 1.8.6 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/three-cad-viewer.css +241 -7
- package/dist/three-cad-viewer.esm.js +5820 -3661
- package/dist/three-cad-viewer.esm.js.map +1 -0
- package/dist/three-cad-viewer.esm.min.js +1 -1
- package/dist/three-cad-viewer.js +5823 -3664
- package/dist/three-cad-viewer.min.js +1 -1
- package/package.json +11 -9
- package/src/_version.js +1 -1
- package/src/cad_tools/measure.js +554 -0
- package/src/cad_tools/tools.js +157 -0
- package/src/cad_tools/ui.js +315 -0
- package/src/controls/CameraControls.js +331 -330
- package/src/display.js +254 -545
- package/src/grid.js +3 -3
- package/src/icons.js +34 -0
- package/src/index.html +379 -0
- package/src/index.js +1 -0
- package/src/nestedgroup.js +51 -148
- package/src/objectgroup.js +239 -0
- package/src/orientation.js +8 -8
- package/src/raycast.js +242 -0
- package/src/slider.js +101 -0
- package/src/toolbar.js +169 -0
- package/src/treeview.js +2 -1
- package/src/types.js +79 -60
- package/src/utils.js +35 -1
- package/src/viewer.js +401 -39
- package/Changes.md +0 -147
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
[data-theme="light"] {
|
|
2
|
+
--tcv-theme-blue: rgb(83, 160, 227);
|
|
3
|
+
--tcv-theme-led: rgb(255, 150, 0);
|
|
2
4
|
--tcv-font-color: #333;
|
|
3
5
|
--tcv-bg-color: #fff;
|
|
4
6
|
--tcv-bg-overlay-color: rgba(255, 255, 255, 0.7);
|
|
5
|
-
--tcv-bg-highlight-color: #
|
|
7
|
+
--tcv-bg-highlight-color: #ddd;
|
|
8
|
+
--tcv-bg-pressed-color: #eee;
|
|
9
|
+
--tcv-bg-pressed-border-color: #bbb;
|
|
6
10
|
--tcv-bg-tooltip-color: rgb(226, 238, 248);
|
|
7
11
|
--tcv-x-color: red;
|
|
8
12
|
--tcv-y-color: green;
|
|
@@ -12,13 +16,18 @@
|
|
|
12
16
|
--tcv-scrollbar-hover: rgba(0, 0, 0, 0.3);
|
|
13
17
|
--tcv-scrollbar-active: rgba(0, 0, 0, 0.5);
|
|
14
18
|
--tcv-scrollbar-thumb: rgba(0, 0, 0, 0.1);
|
|
19
|
+
--tcv-dropdown-bg: #eee;
|
|
15
20
|
}
|
|
16
21
|
|
|
17
22
|
[data-theme="dark"] {
|
|
23
|
+
--tcv-theme-blue: rgb(48, 142, 225);
|
|
24
|
+
--tcv-theme-led: rgb(255, 230, 0);
|
|
18
25
|
--tcv-font-color: #ddd;
|
|
19
26
|
--tcv-bg-color: #444;
|
|
20
27
|
--tcv-bg-overlay-color: rgba(68, 68, 68, 0.7);
|
|
21
|
-
--tcv-bg-highlight-color: rgb(
|
|
28
|
+
--tcv-bg-highlight-color: rgb(104, 104, 104);
|
|
29
|
+
--tcv-bg-pressed-color: rgb(94, 94, 94);
|
|
30
|
+
--tcv-bg-pressed-border-color: #999;
|
|
22
31
|
--tcv-bg-tooltip-color: rgb(77, 109, 138);
|
|
23
32
|
--tcv-x-color: rgb(255, 69, 0);
|
|
24
33
|
--tcv-y-color: rgb(50, 205, 50);
|
|
@@ -28,6 +37,7 @@
|
|
|
28
37
|
--tcv-scrollbar-hover: rgba(255, 255, 255, 0.4);
|
|
29
38
|
--tcv-scrollbar-active: rgba(255, 255, 255, 0.6);
|
|
30
39
|
--tcv-scrollbar-thumb: rgba(255, 255, 255, 0.2);
|
|
40
|
+
--tcv-dropdown-bg: #333;
|
|
31
41
|
}
|
|
32
42
|
|
|
33
43
|
.tcv_none {
|
|
@@ -148,11 +158,13 @@ canvas {
|
|
|
148
158
|
margin: 1px 0px 6px 8px;
|
|
149
159
|
font-weight: bold;
|
|
150
160
|
}
|
|
161
|
+
|
|
151
162
|
.tcv_small_table {
|
|
152
163
|
line-height: 14px;
|
|
153
164
|
}
|
|
154
165
|
|
|
155
|
-
.tcv_small_table_row
|
|
166
|
+
.tcv_small_table_row>td,
|
|
167
|
+
th {
|
|
156
168
|
padding-left: 6px;
|
|
157
169
|
}
|
|
158
170
|
|
|
@@ -212,6 +224,11 @@ canvas {
|
|
|
212
224
|
margin-left: 5px;
|
|
213
225
|
}
|
|
214
226
|
|
|
227
|
+
.tcv_tools_label {
|
|
228
|
+
vertical-align: middle;
|
|
229
|
+
margin-left: 5px;
|
|
230
|
+
}
|
|
231
|
+
|
|
215
232
|
.tcv_animation_slider {
|
|
216
233
|
width: 120px !important;
|
|
217
234
|
}
|
|
@@ -228,6 +245,22 @@ canvas {
|
|
|
228
245
|
z-index: 100;
|
|
229
246
|
}
|
|
230
247
|
|
|
248
|
+
.tcv_cad_tools {
|
|
249
|
+
height: 38px;
|
|
250
|
+
background-color: var(--tcv-bg-overlay-color);
|
|
251
|
+
border: none;
|
|
252
|
+
margin: 0;
|
|
253
|
+
padding: 0px;
|
|
254
|
+
position: absolute;
|
|
255
|
+
right: 0px;
|
|
256
|
+
bottom: 0px;
|
|
257
|
+
z-index: 100;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
.tcv_help {
|
|
261
|
+
outline: none;
|
|
262
|
+
}
|
|
263
|
+
|
|
231
264
|
.tcv_cad_help {
|
|
232
265
|
/* height: 36px; */
|
|
233
266
|
background-color: var(--tcv-bg-color);
|
|
@@ -282,8 +315,41 @@ canvas {
|
|
|
282
315
|
padding: 0px;
|
|
283
316
|
}
|
|
284
317
|
|
|
318
|
+
.tcv_button_frame {
|
|
319
|
+
width: fit-content;
|
|
320
|
+
height: fit-content;
|
|
321
|
+
display: inline-block;
|
|
322
|
+
border: 1px solid transparent;
|
|
323
|
+
margin-left: 1px;
|
|
324
|
+
margin-right: 1px;
|
|
325
|
+
}
|
|
326
|
+
|
|
285
327
|
.tcv_btn_highlight {
|
|
286
|
-
|
|
328
|
+
border-bottom: 2px solid var(--tcv-theme-blue);
|
|
329
|
+
border-radius: 6px;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
.tcv_btn_click {
|
|
333
|
+
width: 8px;
|
|
334
|
+
height: 29px;
|
|
335
|
+
margin-left: 12px;
|
|
336
|
+
position: absolute;
|
|
337
|
+
border-bottom: 3px inset var(--tcv-theme-led);
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
.tcv_btn_click2 {
|
|
341
|
+
border: 1px solid var(--tcv-theme-blue);
|
|
342
|
+
border-radius: 6px;
|
|
343
|
+
background-color: var(--tcv-bg-pressed-color);
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
.tcv_separator {
|
|
347
|
+
width: 14px;
|
|
348
|
+
border-left: 1px solid lightgray;
|
|
349
|
+
margin-left: 5px;
|
|
350
|
+
padding-right: 5px;
|
|
351
|
+
padding-bottom: 6px;
|
|
352
|
+
padding-top: 3px;
|
|
287
353
|
}
|
|
288
354
|
|
|
289
355
|
.tcv_small_btn {
|
|
@@ -299,8 +365,9 @@ canvas {
|
|
|
299
365
|
}
|
|
300
366
|
|
|
301
367
|
.tcv_btn:hover {
|
|
302
|
-
box-shadow: 1px
|
|
368
|
+
box-shadow: 1px px 1px 0 var(--tcv-shadow);
|
|
303
369
|
background-color: var(--tcv-bg-highlight-color);
|
|
370
|
+
border-radius: 6px;
|
|
304
371
|
}
|
|
305
372
|
|
|
306
373
|
.tcv_btn:active {
|
|
@@ -320,6 +387,7 @@ input[type="button"] {
|
|
|
320
387
|
-moz-appearance: none;
|
|
321
388
|
appearance: none;
|
|
322
389
|
border-radius: 0;
|
|
390
|
+
outline: none;
|
|
323
391
|
}
|
|
324
392
|
|
|
325
393
|
.tcv_tab {
|
|
@@ -399,7 +467,7 @@ input[type="button"] {
|
|
|
399
467
|
box-shadow: 0px 4px 8px 0px var(--tcv-menu-shadow);
|
|
400
468
|
z-index: 200;
|
|
401
469
|
background-color: var(--tcv-bg-color);
|
|
402
|
-
padding-top:
|
|
470
|
+
padding-top: 2px;
|
|
403
471
|
padding-bottom: 2px;
|
|
404
472
|
}
|
|
405
473
|
|
|
@@ -577,10 +645,65 @@ input[type="button"] {
|
|
|
577
645
|
opacity: 1;
|
|
578
646
|
}
|
|
579
647
|
|
|
580
|
-
|
|
581
648
|
.tcv_material_info {
|
|
582
649
|
font-size: 12px;
|
|
583
650
|
}
|
|
651
|
+
|
|
652
|
+
.tcv_filter_menu {
|
|
653
|
+
position: relative;
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
.tcv_filter_dropdown {
|
|
657
|
+
display: none;
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
.tcv_filter_icon {
|
|
661
|
+
font-size: 12px;
|
|
662
|
+
margin-left: 4px;
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
.tcv_shape_filter {
|
|
666
|
+
color: var(--tcv-font-color);
|
|
667
|
+
font-size: 13px;
|
|
668
|
+
border: none;
|
|
669
|
+
float: right;
|
|
670
|
+
position: absolute;
|
|
671
|
+
right: 0px;
|
|
672
|
+
width: auto;
|
|
673
|
+
}
|
|
674
|
+
|
|
675
|
+
.tcv_shape_filter:hover {
|
|
676
|
+
cursor: pointer;
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
.tcv_filter_dropdown_value {
|
|
680
|
+
margin-left: 2px;
|
|
681
|
+
margin-right: 2px;
|
|
682
|
+
margin-top: 1px;
|
|
683
|
+
}
|
|
684
|
+
|
|
685
|
+
.tcv_filter_value {
|
|
686
|
+
width: 3em;
|
|
687
|
+
padding-left: 3px;
|
|
688
|
+
display: inline-block;
|
|
689
|
+
}
|
|
690
|
+
|
|
691
|
+
.tcv_filter_dropdown_active {
|
|
692
|
+
display: block;
|
|
693
|
+
}
|
|
694
|
+
|
|
695
|
+
.tcv_filter_dropdown_value:hover {
|
|
696
|
+
cursor: pointer;
|
|
697
|
+
background-color: var(--tcv-bg-pressed-color);
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
.tcv_filter_dropdown_inactive {
|
|
701
|
+
display: none;
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
.tcv_filter_content {
|
|
705
|
+
background-color: var(--tcv-bg-overlay-color);
|
|
706
|
+
}
|
|
584
707
|
.tcv_node_entry_wrap {
|
|
585
708
|
white-space: pre;
|
|
586
709
|
}
|
|
@@ -663,4 +786,115 @@ input[type="button"] {
|
|
|
663
786
|
|
|
664
787
|
.tcv_node_selected {
|
|
665
788
|
color: #308ee1;
|
|
789
|
+
}
|
|
790
|
+
/* MEASURE PANEL */
|
|
791
|
+
|
|
792
|
+
|
|
793
|
+
.tcv_panel {
|
|
794
|
+
display: inline-block;
|
|
795
|
+
text-align: center;
|
|
796
|
+
position: absolute;
|
|
797
|
+
background-color: var(--tcv-bg-overlay-color);
|
|
798
|
+
user-select: none;
|
|
799
|
+
font-family: sans-serif;
|
|
800
|
+
color: var(--tcv-font-color);
|
|
801
|
+
padding-left: 3px;
|
|
802
|
+
padding-right: 3px;
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
.tcv_properties_table {
|
|
806
|
+
border-collapse: collapse;
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
.tcv_measure_header {
|
|
810
|
+
text-align: center;
|
|
811
|
+
font-weight: bold;
|
|
812
|
+
font-size: 16px;
|
|
813
|
+
border-bottom: 1px solid lightgray;
|
|
814
|
+
padding-top: 3px;
|
|
815
|
+
padding-bottom: 3px;
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
.tcv_measure_subheader {
|
|
819
|
+
text-align: center;
|
|
820
|
+
font-style: italic;
|
|
821
|
+
font-size: 14px;
|
|
822
|
+
border-bottom: 1px solid lightgray;
|
|
823
|
+
padding-top: 2px;
|
|
824
|
+
padding-bottom: 2px;
|
|
825
|
+
}
|
|
826
|
+
|
|
827
|
+
.tcv_measure_cell_header {
|
|
828
|
+
border-right: 1px solid lightgray;
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
.tcv_measure_row_line {
|
|
832
|
+
border-bottom: 1px solid lightgray;
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
.tcv_measure_cell {
|
|
836
|
+
padding: 3px 5px 31px 5px;
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
.tcv_vertex_cell {
|
|
840
|
+
text-align: center;
|
|
841
|
+
border-right: 1px solid lightgray;
|
|
842
|
+
padding: 3px 5px 31px 5px;
|
|
843
|
+
}
|
|
844
|
+
|
|
845
|
+
.tcv_vertex_cell:last-child {
|
|
846
|
+
border-right: none;
|
|
847
|
+
}
|
|
848
|
+
|
|
849
|
+
.tcv_props_cell {
|
|
850
|
+
vertical-align: middle;
|
|
851
|
+
font-size: 14px;
|
|
852
|
+
font-family: sans-serif;
|
|
853
|
+
border-bottom: 1px solid lightgray;
|
|
854
|
+
}
|
|
855
|
+
|
|
856
|
+
.tcv_props_header {
|
|
857
|
+
text-align: left;
|
|
858
|
+
padding: 3px 5px 3px 5px;
|
|
859
|
+
border-right: 1px solid lightgray;
|
|
860
|
+
}
|
|
861
|
+
|
|
862
|
+
.tcv_measure_cell {
|
|
863
|
+
text-align: left;
|
|
864
|
+
padding: 3px 5px 3px 5px;
|
|
865
|
+
font-size: 14px;
|
|
866
|
+
}
|
|
867
|
+
|
|
868
|
+
.tcv_measure_val {
|
|
869
|
+
text-align: right;
|
|
870
|
+
padding: 3px 5px 3px 5px;
|
|
871
|
+
font-size: 14px;
|
|
872
|
+
}
|
|
873
|
+
|
|
874
|
+
.tcv_vertex_cell {
|
|
875
|
+
text-align: center;
|
|
876
|
+
border-right: 1px solid lightgray;
|
|
877
|
+
padding: 3px 5px 3px 5px;
|
|
878
|
+
font-size: 14px;
|
|
879
|
+
}
|
|
880
|
+
|
|
881
|
+
.tcv_xtitle {
|
|
882
|
+
color: var(--tcv-x-color);
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
.tcv_ytitle {
|
|
886
|
+
color: var(--tcv-y-color);
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
.tcv_ztitle {
|
|
890
|
+
color: var(--tcv-z-color);
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
.tcv_angle {
|
|
894
|
+
font-size: 14px;
|
|
895
|
+
font-family: sans-serif;
|
|
896
|
+
}
|
|
897
|
+
|
|
898
|
+
.tcv_angle_val {
|
|
899
|
+
text-align: right;
|
|
666
900
|
}
|