three-cad-viewer 2.1.2 → 2.2.0
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/Readme.md +3 -2
- package/dist/three-cad-viewer.css +12 -1
- package/dist/three-cad-viewer.esm.js +4653 -2179
- package/dist/three-cad-viewer.esm.min.js +1 -1
- package/dist/three-cad-viewer.js +4653 -2179
- package/dist/three-cad-viewer.min.js +1 -1
- package/package.json +3 -3
- package/src/_version.js +1 -1
- package/src/axes.js +1 -0
- package/src/bbox.js +6 -1
- package/src/cad_tools/measure.js +610 -526
- package/src/cad_tools/tools.js +127 -128
- package/src/cad_tools/ui.js +280 -284
- package/src/camera.js +21 -15
- package/src/clipping.js +274 -89
- package/src/display.js +206 -56
- package/src/font.js +72 -0
- package/src/fontloader/FontLoader.js +107 -140
- package/src/grid.js +90 -14
- package/src/icons.js +0 -2
- package/src/index.html +19 -8
- package/src/nestedgroup.js +115 -53
- package/src/objectgroup.js +20 -12
- package/src/slider.js +1 -1
- package/src/toolbar.js +13 -5
- package/src/treeview.js +11 -1
- package/src/viewer.js +212 -56
package/src/display.js
CHANGED
|
@@ -11,7 +11,11 @@ function TEMPLATE(id) {
|
|
|
11
11
|
const shift = KeyMapper.getshortcuts("shift");
|
|
12
12
|
const ctrl = KeyMapper.getshortcuts("ctrl");
|
|
13
13
|
const meta = KeyMapper.getshortcuts("meta");
|
|
14
|
-
var html = template
|
|
14
|
+
var html = template
|
|
15
|
+
.replaceAll("{{id}}", id)
|
|
16
|
+
.replaceAll("{{shift}}", shift)
|
|
17
|
+
.replaceAll("{{ctrl}}", ctrl)
|
|
18
|
+
.replaceAll("{{meta}}", meta);
|
|
15
19
|
return html;
|
|
16
20
|
}
|
|
17
21
|
|
|
@@ -19,12 +23,7 @@ function px(val) {
|
|
|
19
23
|
return `${val}px`;
|
|
20
24
|
}
|
|
21
25
|
|
|
22
|
-
const buttons = [
|
|
23
|
-
"plane",
|
|
24
|
-
"play",
|
|
25
|
-
"pause",
|
|
26
|
-
"stop",
|
|
27
|
-
];
|
|
26
|
+
const buttons = ["plane", "play", "pause", "stop"];
|
|
28
27
|
|
|
29
28
|
class Display {
|
|
30
29
|
/**
|
|
@@ -42,11 +41,20 @@ class Display {
|
|
|
42
41
|
this.cadBody = this._getElement("tcv_cad_body");
|
|
43
42
|
|
|
44
43
|
// this.cadTool = this._getElement("tcv_cad_toolbar");
|
|
45
|
-
this.cadTool = new Toolbar(
|
|
44
|
+
this.cadTool = new Toolbar(
|
|
45
|
+
this._getElement("tcv_cad_toolbar"),
|
|
46
|
+
container.id,
|
|
47
|
+
);
|
|
46
48
|
this.cadView = this._getElement("tcv_cad_view");
|
|
47
|
-
this.distanceMeasurementPanel = this._getElement(
|
|
48
|
-
|
|
49
|
-
|
|
49
|
+
this.distanceMeasurementPanel = this._getElement(
|
|
50
|
+
"tcv_distance_measurement_panel",
|
|
51
|
+
);
|
|
52
|
+
this.propertiesMeasurementPanel = this._getElement(
|
|
53
|
+
"tcv_properties_measurement_panel",
|
|
54
|
+
);
|
|
55
|
+
this.angleMeasurementPanel = this._getElement(
|
|
56
|
+
"tcv_angle_measurement_panel",
|
|
57
|
+
);
|
|
50
58
|
this.cadTree = this._getElement("tcv_cad_tree_container");
|
|
51
59
|
this.cadTreeToggles = this._getElement("tcv_cad_tree_toggles");
|
|
52
60
|
this.cadClip = this._getElement("tcv_cad_clip_container");
|
|
@@ -79,6 +87,7 @@ class Display {
|
|
|
79
87
|
this.cadClip.style.display = "none";
|
|
80
88
|
this.cadMaterial.style.display = "none";
|
|
81
89
|
this.clipSliders = null;
|
|
90
|
+
this.explodeFlag = false;
|
|
82
91
|
|
|
83
92
|
this.lastPlaneState = false;
|
|
84
93
|
|
|
@@ -108,50 +117,147 @@ class Display {
|
|
|
108
117
|
|
|
109
118
|
this.toolbarButtons = {};
|
|
110
119
|
|
|
111
|
-
this.toolbarButtons["axes"] = new ClickButton(
|
|
120
|
+
this.toolbarButtons["axes"] = new ClickButton(
|
|
121
|
+
theme,
|
|
122
|
+
"axes",
|
|
123
|
+
"Show axes",
|
|
124
|
+
this.setAxes,
|
|
125
|
+
);
|
|
112
126
|
this.cadTool.addButton(this.toolbarButtons["axes"]);
|
|
113
|
-
this.toolbarButtons["axes0"] = new ClickButton(
|
|
127
|
+
this.toolbarButtons["axes0"] = new ClickButton(
|
|
128
|
+
theme,
|
|
129
|
+
"axes0",
|
|
130
|
+
"Show axes at origin (0,0,0)",
|
|
131
|
+
this.setAxes0,
|
|
132
|
+
);
|
|
114
133
|
this.cadTool.addButton(this.toolbarButtons["axes0"]);
|
|
115
|
-
this.toolbarButtons["grid"] = new ClickButton(
|
|
134
|
+
this.toolbarButtons["grid"] = new ClickButton(
|
|
135
|
+
theme,
|
|
136
|
+
"grid",
|
|
137
|
+
"Show grid",
|
|
138
|
+
this.setGrid,
|
|
139
|
+
null,
|
|
140
|
+
["xy", "xz", "yz"],
|
|
141
|
+
);
|
|
116
142
|
this.cadTool.addButton(this.toolbarButtons["grid"]);
|
|
117
143
|
this.cadTool.addSeparator();
|
|
118
|
-
this.toolbarButtons["perspective"] = new ClickButton(
|
|
144
|
+
this.toolbarButtons["perspective"] = new ClickButton(
|
|
145
|
+
theme,
|
|
146
|
+
"perspective",
|
|
147
|
+
"Use perspective camera",
|
|
148
|
+
this.setOrtho,
|
|
149
|
+
);
|
|
119
150
|
this.cadTool.addButton(this.toolbarButtons["perspective"]);
|
|
120
|
-
this.toolbarButtons["transparent"] = new ClickButton(
|
|
151
|
+
this.toolbarButtons["transparent"] = new ClickButton(
|
|
152
|
+
theme,
|
|
153
|
+
"transparent",
|
|
154
|
+
"Show transparent faces",
|
|
155
|
+
this.setTransparent,
|
|
156
|
+
);
|
|
121
157
|
this.cadTool.addButton(this.toolbarButtons["transparent"]);
|
|
122
|
-
this.toolbarButtons["blackedges"] = new ClickButton(
|
|
158
|
+
this.toolbarButtons["blackedges"] = new ClickButton(
|
|
159
|
+
theme,
|
|
160
|
+
"blackedges",
|
|
161
|
+
"Show black edges",
|
|
162
|
+
this.setBlackEdges,
|
|
163
|
+
);
|
|
123
164
|
this.cadTool.addButton(this.toolbarButtons["blackedges"]);
|
|
124
165
|
this.cadTool.addSeparator();
|
|
125
166
|
|
|
126
|
-
this.toolbarButtons["reset"] = new Button(
|
|
167
|
+
this.toolbarButtons["reset"] = new Button(
|
|
168
|
+
theme,
|
|
169
|
+
"reset",
|
|
170
|
+
"Reset view",
|
|
171
|
+
this.reset,
|
|
172
|
+
);
|
|
127
173
|
this.cadTool.addButton(this.toolbarButtons["reset"]);
|
|
128
|
-
this.toolbarButtons["resize"] = new Button(
|
|
174
|
+
this.toolbarButtons["resize"] = new Button(
|
|
175
|
+
theme,
|
|
176
|
+
"resize",
|
|
177
|
+
"Resize object",
|
|
178
|
+
this.resize,
|
|
179
|
+
);
|
|
129
180
|
this.cadTool.addButton(this.toolbarButtons["resize"]);
|
|
130
181
|
this.cadTool.addSeparator();
|
|
131
182
|
|
|
132
|
-
this.toolbarButtons["iso"] = new Button(
|
|
183
|
+
this.toolbarButtons["iso"] = new Button(
|
|
184
|
+
theme,
|
|
185
|
+
"iso",
|
|
186
|
+
"Switch to iso view",
|
|
187
|
+
this.setView,
|
|
188
|
+
);
|
|
133
189
|
this.cadTool.addButton(this.toolbarButtons["iso"]);
|
|
134
|
-
this.toolbarButtons["front"] = new Button(
|
|
190
|
+
this.toolbarButtons["front"] = new Button(
|
|
191
|
+
theme,
|
|
192
|
+
"front",
|
|
193
|
+
"Switch to front view",
|
|
194
|
+
this.setView,
|
|
195
|
+
);
|
|
135
196
|
this.cadTool.addButton(this.toolbarButtons["front"]);
|
|
136
|
-
this.toolbarButtons["rear"] = new Button(
|
|
197
|
+
this.toolbarButtons["rear"] = new Button(
|
|
198
|
+
theme,
|
|
199
|
+
"rear",
|
|
200
|
+
"Switch to back view",
|
|
201
|
+
this.setView,
|
|
202
|
+
);
|
|
137
203
|
this.cadTool.addButton(this.toolbarButtons["rear"]);
|
|
138
|
-
this.toolbarButtons["top"] = new Button(
|
|
204
|
+
this.toolbarButtons["top"] = new Button(
|
|
205
|
+
theme,
|
|
206
|
+
"top",
|
|
207
|
+
"Switch to top view",
|
|
208
|
+
this.setView,
|
|
209
|
+
);
|
|
139
210
|
this.cadTool.addButton(this.toolbarButtons["top"]);
|
|
140
|
-
this.toolbarButtons["bottom"] = new Button(
|
|
211
|
+
this.toolbarButtons["bottom"] = new Button(
|
|
212
|
+
theme,
|
|
213
|
+
"bottom",
|
|
214
|
+
"Switch to bottom view",
|
|
215
|
+
this.setView,
|
|
216
|
+
);
|
|
141
217
|
this.cadTool.addButton(this.toolbarButtons["bottom"]);
|
|
142
|
-
this.toolbarButtons["left"] = new Button(
|
|
218
|
+
this.toolbarButtons["left"] = new Button(
|
|
219
|
+
theme,
|
|
220
|
+
"left",
|
|
221
|
+
"Switch to left view",
|
|
222
|
+
this.setView,
|
|
223
|
+
);
|
|
143
224
|
this.cadTool.addButton(this.toolbarButtons["left"]);
|
|
144
|
-
this.toolbarButtons["right"] = new Button(
|
|
225
|
+
this.toolbarButtons["right"] = new Button(
|
|
226
|
+
theme,
|
|
227
|
+
"right",
|
|
228
|
+
"Switch to right view",
|
|
229
|
+
this.setView,
|
|
230
|
+
);
|
|
145
231
|
this.cadTool.addButton(this.toolbarButtons["right"]);
|
|
146
232
|
this.cadTool.addSeparator();
|
|
147
233
|
|
|
148
|
-
this.toolbarButtons["explode"] = new ClickButton(
|
|
234
|
+
this.toolbarButtons["explode"] = new ClickButton(
|
|
235
|
+
theme,
|
|
236
|
+
"explode",
|
|
237
|
+
"Explode tool",
|
|
238
|
+
this.setExplode,
|
|
239
|
+
);
|
|
149
240
|
this.cadTool.addButton(this.toolbarButtons["explode"]);
|
|
150
|
-
this.toolbarButtons["distance"] = new ClickButton(
|
|
241
|
+
this.toolbarButtons["distance"] = new ClickButton(
|
|
242
|
+
theme,
|
|
243
|
+
"distance",
|
|
244
|
+
"Measure distance between shapes",
|
|
245
|
+
this.setTool,
|
|
246
|
+
);
|
|
151
247
|
this.cadTool.addButton(this.toolbarButtons["distance"]);
|
|
152
|
-
this.toolbarButtons["properties"] = new ClickButton(
|
|
248
|
+
this.toolbarButtons["properties"] = new ClickButton(
|
|
249
|
+
theme,
|
|
250
|
+
"properties",
|
|
251
|
+
"Show shape properties",
|
|
252
|
+
this.setTool,
|
|
253
|
+
);
|
|
153
254
|
this.cadTool.addButton(this.toolbarButtons["properties"]);
|
|
154
|
-
this.toolbarButtons["angle"] = new ClickButton(
|
|
255
|
+
this.toolbarButtons["angle"] = new ClickButton(
|
|
256
|
+
theme,
|
|
257
|
+
"angle",
|
|
258
|
+
"Measure angle between shapes",
|
|
259
|
+
this.setTool,
|
|
260
|
+
);
|
|
155
261
|
this.cadTool.addButton(this.toolbarButtons["angle"]);
|
|
156
262
|
|
|
157
263
|
this.cadTool.defineGroup([
|
|
@@ -161,18 +267,26 @@ class Display {
|
|
|
161
267
|
this.toolbarButtons["angle"],
|
|
162
268
|
]);
|
|
163
269
|
|
|
164
|
-
this.toolbarButtons["help"] = new Button(
|
|
270
|
+
this.toolbarButtons["help"] = new Button(
|
|
271
|
+
theme,
|
|
272
|
+
"help",
|
|
273
|
+
"Help",
|
|
274
|
+
this.toggleHelp,
|
|
275
|
+
);
|
|
165
276
|
this.toolbarButtons["help"].alignRight();
|
|
166
277
|
this.cadTool.addButton(this.toolbarButtons["help"]);
|
|
167
|
-
this.toolbarButtons["pin"] = new Button(
|
|
278
|
+
this.toolbarButtons["pin"] = new Button(
|
|
279
|
+
theme,
|
|
280
|
+
"pin",
|
|
281
|
+
"Pin viewer as png",
|
|
282
|
+
this.pinAsPng,
|
|
283
|
+
);
|
|
168
284
|
this.toolbarButtons["pin"].alignRight();
|
|
169
285
|
this.cadTool.addButton(this.toolbarButtons["pin"]);
|
|
170
286
|
this.shapeFilterDropDownMenu = new FilterByDropDownMenu(this);
|
|
171
287
|
|
|
172
|
-
|
|
173
288
|
this.showPinning(options.pinning);
|
|
174
289
|
// this.showMeasureTools(options.measureTools);
|
|
175
|
-
|
|
176
290
|
}
|
|
177
291
|
|
|
178
292
|
_setupCheckEvent(name, fn, flag) {
|
|
@@ -192,8 +306,8 @@ class Display {
|
|
|
192
306
|
}
|
|
193
307
|
|
|
194
308
|
/**
|
|
195
|
-
*
|
|
196
|
-
* @param {string} name Name of the DOM element
|
|
309
|
+
*
|
|
310
|
+
* @param {string} name Name of the DOM element
|
|
197
311
|
* @returns {DOMElement}
|
|
198
312
|
*/
|
|
199
313
|
_getElement(name) {
|
|
@@ -219,6 +333,7 @@ class Display {
|
|
|
219
333
|
* Use More fropdown if overall width < 970px else just check boxes
|
|
220
334
|
* @param {number} fullWidth - overall width of tree and cad view (taking glass mode into account)
|
|
221
335
|
*/
|
|
336
|
+
// eslint-disable-next-line no-unused-vars
|
|
222
337
|
handleMoreButton(fullWidth) {
|
|
223
338
|
// const moreButton = this._getElement("tcv_more-btn");
|
|
224
339
|
// const moreContent = this._getElement("tcv_more-wrapper");
|
|
@@ -264,7 +379,9 @@ class Display {
|
|
|
264
379
|
}
|
|
265
380
|
|
|
266
381
|
if (options.tools && !options.glass) {
|
|
267
|
-
this.cadTool.container.style.width = px(
|
|
382
|
+
this.cadTool.container.style.width = px(
|
|
383
|
+
options.treeWidth + options.cadWidth + 4,
|
|
384
|
+
);
|
|
268
385
|
this.cadBody.style.width = px(options.treeWidth + options.cadWidth + 4);
|
|
269
386
|
} else {
|
|
270
387
|
this.cadTool.container.style.width = px(options.cadWidth + 2);
|
|
@@ -286,6 +403,8 @@ class Display {
|
|
|
286
403
|
this._setupClickEvent("tcv_collapse_all", this.handleCollapseNodes);
|
|
287
404
|
this._setupClickEvent("tcv_expand", this.handleCollapseNodes);
|
|
288
405
|
|
|
406
|
+
this._setupClickEvent("tcv_material_reset", this.handleMaterialReset);
|
|
407
|
+
|
|
289
408
|
this._setupClickEvent("tcv_toggle_info", this.toggleInfo);
|
|
290
409
|
|
|
291
410
|
this.help_shown = true;
|
|
@@ -316,6 +435,7 @@ class Display {
|
|
|
316
435
|
this.setClipIntersection,
|
|
317
436
|
false,
|
|
318
437
|
);
|
|
438
|
+
this._setupCheckEvent("tcv_clip_caps", this.setObjectColorCaps, false);
|
|
319
439
|
|
|
320
440
|
for (i = 1; i < 4; i++) {
|
|
321
441
|
this._setupClickEvent(
|
|
@@ -511,17 +631,22 @@ class Display {
|
|
|
511
631
|
* @param {boolean} flag - to set or not
|
|
512
632
|
*/
|
|
513
633
|
setExplode = (name, flag) => {
|
|
634
|
+
if (flag && this.explodeFlag) return;
|
|
635
|
+
if (!flag && !this.explodeFlag) return;
|
|
636
|
+
|
|
514
637
|
if (flag) {
|
|
515
638
|
if (this.viewer.hasAnimation()) {
|
|
516
639
|
this.viewer.backupAnimation();
|
|
517
640
|
}
|
|
518
641
|
this.viewer.explode();
|
|
642
|
+
this.explodeFlag = true;
|
|
519
643
|
} else {
|
|
520
644
|
if (this.viewer.hasAnimation()) {
|
|
521
645
|
this.controlAnimationByName("stop");
|
|
522
646
|
this.viewer.clearAnimation();
|
|
523
647
|
this.viewer.restoreAnimation();
|
|
524
648
|
}
|
|
649
|
+
this.explodeFlag = false;
|
|
525
650
|
}
|
|
526
651
|
};
|
|
527
652
|
|
|
@@ -567,12 +692,10 @@ class Display {
|
|
|
567
692
|
} else if (name == "properties") {
|
|
568
693
|
this.viewer.cadTools.enable(ToolTypes.PROPERTIES);
|
|
569
694
|
this.viewer.checkChanges({ activeTool: ToolTypes.PROPERTIES });
|
|
570
|
-
}
|
|
571
|
-
else if (name == "angle") {
|
|
695
|
+
} else if (name == "angle") {
|
|
572
696
|
this.viewer.cadTools.enable(ToolTypes.ANGLE);
|
|
573
697
|
this.viewer.checkChanges({ activeTool: ToolTypes.ANGLE });
|
|
574
698
|
}
|
|
575
|
-
|
|
576
699
|
} else {
|
|
577
700
|
this.viewer.checkChanges({ activeTool: ToolTypes.NONE });
|
|
578
701
|
this.viewer.clearSelection();
|
|
@@ -632,7 +755,7 @@ class Display {
|
|
|
632
755
|
|
|
633
756
|
/**
|
|
634
757
|
* Show or hides measurement tools, measurement tools needs a backend to be used.
|
|
635
|
-
* @param {boolean} flag
|
|
758
|
+
* @param {boolean} flag
|
|
636
759
|
*/
|
|
637
760
|
showMeasureTools = (flag) => {
|
|
638
761
|
this.toolbarButtons["distance"].show(flag);
|
|
@@ -660,6 +783,26 @@ class Display {
|
|
|
660
783
|
el.checked = flag;
|
|
661
784
|
};
|
|
662
785
|
|
|
786
|
+
/**
|
|
787
|
+
* Checkbox Handler for toggling the clip caps
|
|
788
|
+
* @function
|
|
789
|
+
* @param {*} e
|
|
790
|
+
*/
|
|
791
|
+
setObjectColorCaps = (e) => {
|
|
792
|
+
const flag = !!e.target.checked;
|
|
793
|
+
this.viewer.setClipObjectColorCaps(flag);
|
|
794
|
+
};
|
|
795
|
+
|
|
796
|
+
/**
|
|
797
|
+
* Check or uncheck the Intersection checkbox
|
|
798
|
+
* @function
|
|
799
|
+
* @param {boolean} flag - whether to check or uncheck the object colors checkbox
|
|
800
|
+
*/
|
|
801
|
+
setClipObjectColorsCheck = (flag) => {
|
|
802
|
+
const el = this._getElement("tcv_clip_caps");
|
|
803
|
+
el.checked = flag;
|
|
804
|
+
};
|
|
805
|
+
|
|
663
806
|
/**
|
|
664
807
|
* Handler to reset position, zoom and up of the camera
|
|
665
808
|
* @function
|
|
@@ -681,15 +824,7 @@ class Display {
|
|
|
681
824
|
* Clear all highlights of navigation tree entries
|
|
682
825
|
*/
|
|
683
826
|
clearHighlights() {
|
|
684
|
-
const buttons = [
|
|
685
|
-
"front",
|
|
686
|
-
"rear",
|
|
687
|
-
"top",
|
|
688
|
-
"bottom",
|
|
689
|
-
"left",
|
|
690
|
-
"right",
|
|
691
|
-
"iso",
|
|
692
|
-
];
|
|
827
|
+
const buttons = ["front", "rear", "top", "bottom", "left", "right", "iso"];
|
|
693
828
|
buttons.forEach((btn) => {
|
|
694
829
|
var el = this.toolbarButtons[btn];
|
|
695
830
|
el.highlight(false);
|
|
@@ -805,6 +940,16 @@ class Display {
|
|
|
805
940
|
this.roughnessSlider.setValue(val * 100);
|
|
806
941
|
};
|
|
807
942
|
|
|
943
|
+
/**
|
|
944
|
+
* Reset material values to original values
|
|
945
|
+
* @function
|
|
946
|
+
* @param {Event} e - a DOM click event
|
|
947
|
+
*/
|
|
948
|
+
// eslint-disable-next-line no-unused-vars
|
|
949
|
+
handleMaterialReset = (e) => {
|
|
950
|
+
this.viewer.resetMaterial();
|
|
951
|
+
};
|
|
952
|
+
|
|
808
953
|
/**
|
|
809
954
|
* Activate the UI tab given the name of the tab
|
|
810
955
|
* @param {string} tab - name of the tab "tree" or "clip"
|
|
@@ -821,6 +966,7 @@ class Display {
|
|
|
821
966
|
this.cadMaterial.style.display = "none";
|
|
822
967
|
this.viewer.nestedGroup.setBackVisible(false);
|
|
823
968
|
this.viewer.setLocalClipping(false);
|
|
969
|
+
this.viewer.clipping.setVisible(false);
|
|
824
970
|
// copy state since setClipHelpers(false) will set to false
|
|
825
971
|
var lastPlaneState = this.viewer.getClipPlaneHelpers();
|
|
826
972
|
this.viewer.setClipPlaneHelpers(false);
|
|
@@ -832,7 +978,10 @@ class Display {
|
|
|
832
978
|
this.cadMaterial.style.display = "none";
|
|
833
979
|
this.viewer.nestedGroup.setBackVisible(true);
|
|
834
980
|
this.viewer.setLocalClipping(true);
|
|
981
|
+
this.viewer.setClipIntersection(this.viewer.clipIntersection);
|
|
835
982
|
this.viewer.setClipPlaneHelpers(this.lastPlaneState);
|
|
983
|
+
this.viewer.clipping.setVisible(true);
|
|
984
|
+
this.viewer.update(true, false);
|
|
836
985
|
} else if (tab === "material" && this.activeTab !== "material") {
|
|
837
986
|
this.cadTree.style.display = "none";
|
|
838
987
|
this.cadTreeToggles.style.display = "none";
|
|
@@ -841,6 +990,7 @@ class Display {
|
|
|
841
990
|
this.viewer.nestedGroup.setBackVisible(false);
|
|
842
991
|
this.viewer.setLocalClipping(false);
|
|
843
992
|
this.viewer.setClipPlaneHelpers(false);
|
|
993
|
+
this.viewer.clipping.setVisible(false);
|
|
844
994
|
}
|
|
845
995
|
this.activeTab = tab;
|
|
846
996
|
|
|
@@ -1008,16 +1158,16 @@ class Display {
|
|
|
1008
1158
|
|
|
1009
1159
|
/**
|
|
1010
1160
|
* Show or hide the distance measurement panel
|
|
1011
|
-
* @param {boolean} flag
|
|
1161
|
+
* @param {boolean} flag
|
|
1012
1162
|
*/
|
|
1013
1163
|
showDistancePanel = (flag) => {
|
|
1014
1164
|
this.distanceMeasurementPanel.style.display = flag ? "block" : "none";
|
|
1015
1165
|
};
|
|
1016
1166
|
|
|
1017
1167
|
/**
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1168
|
+
* Show or hide the properties measurement panel
|
|
1169
|
+
* @param {boolean} flag
|
|
1170
|
+
*/
|
|
1021
1171
|
showPropertiesPanel = (flag) => {
|
|
1022
1172
|
this.propertiesMeasurementPanel.style.display = flag ? "block" : "none";
|
|
1023
1173
|
};
|
|
@@ -1117,8 +1267,8 @@ class Display {
|
|
|
1117
1267
|
};
|
|
1118
1268
|
this.setSizes(options);
|
|
1119
1269
|
|
|
1120
|
-
const fullWidth = this.cadWidth + (this.glass ? 0 : this.treeWidth);
|
|
1121
|
-
this.handleMoreButton(fullWidth);
|
|
1270
|
+
// const fullWidth = this.cadWidth + (this.glass ? 0 : this.treeWidth);
|
|
1271
|
+
// this.handleMoreButton(fullWidth);
|
|
1122
1272
|
}
|
|
1123
1273
|
|
|
1124
1274
|
updateHelp(before, after) {
|
package/src/font.js
CHANGED
|
@@ -18,6 +18,78 @@ export const helvetiker = {
|
|
|
18
18
|
ha: 849,
|
|
19
19
|
o: "m 779 0 l 0 0 l 0 113 l 621 896 l 40 896 l 40 1013 l 779 1013 l 778 887 l 171 124 l 779 124 l 779 0 ",
|
|
20
20
|
},
|
|
21
|
+
0: {
|
|
22
|
+
x_min: 73,
|
|
23
|
+
x_max: 715,
|
|
24
|
+
ha: 792,
|
|
25
|
+
o: "m 394 -29 q 153 129 242 -29 q 73 479 73 272 q 152 829 73 687 q 394 989 241 989 q 634 829 545 989 q 715 479 715 684 q 635 129 715 270 q 394 -29 546 -29 m 394 89 q 546 211 489 89 q 598 479 598 322 q 548 748 598 640 q 394 871 491 871 q 241 748 298 871 q 190 479 190 637 q 239 211 190 319 q 394 89 296 89 ",
|
|
26
|
+
},
|
|
27
|
+
1: {
|
|
28
|
+
x_min: 215.671875,
|
|
29
|
+
x_max: 574,
|
|
30
|
+
ha: 792,
|
|
31
|
+
o: "m 574 0 l 442 0 l 442 697 l 215 697 l 215 796 q 386 833 330 796 q 475 986 447 875 l 574 986 l 574 0 ",
|
|
32
|
+
},
|
|
33
|
+
2: {
|
|
34
|
+
x_min: 59,
|
|
35
|
+
x_max: 731,
|
|
36
|
+
ha: 792,
|
|
37
|
+
o: "m 731 0 l 59 0 q 197 314 59 188 q 457 487 199 315 q 598 691 598 580 q 543 819 598 772 q 411 867 488 867 q 272 811 328 867 q 209 630 209 747 l 81 630 q 182 901 81 805 q 408 986 271 986 q 629 909 536 986 q 731 694 731 826 q 613 449 731 541 q 378 316 495 383 q 201 122 235 234 l 731 122 l 731 0 ",
|
|
38
|
+
},
|
|
39
|
+
3: {
|
|
40
|
+
x_min: 54,
|
|
41
|
+
x_max: 737,
|
|
42
|
+
ha: 792,
|
|
43
|
+
o: "m 737 284 q 635 55 737 141 q 399 -25 541 -25 q 156 52 248 -25 q 54 308 54 140 l 185 308 q 245 147 185 202 q 395 96 302 96 q 539 140 484 96 q 602 280 602 190 q 510 429 602 390 q 324 454 451 454 l 324 565 q 487 584 441 565 q 565 719 565 617 q 515 835 565 791 q 395 879 466 879 q 255 824 307 879 q 203 661 203 769 l 78 661 q 166 909 78 822 q 387 992 250 992 q 603 921 513 992 q 701 723 701 844 q 669 607 701 656 q 578 524 637 558 q 696 434 655 499 q 737 284 737 369 ",
|
|
44
|
+
},
|
|
45
|
+
4: {
|
|
46
|
+
x_min: 48,
|
|
47
|
+
x_max: 742.453125,
|
|
48
|
+
ha: 792,
|
|
49
|
+
o: "m 742 243 l 602 243 l 602 0 l 476 0 l 476 243 l 48 243 l 48 368 l 476 958 l 602 958 l 602 354 l 742 354 l 742 243 m 476 354 l 476 792 l 162 354 l 476 354 ",
|
|
50
|
+
},
|
|
51
|
+
5: {
|
|
52
|
+
x_min: 54.171875,
|
|
53
|
+
x_max: 738,
|
|
54
|
+
ha: 792,
|
|
55
|
+
o: "m 738 314 q 626 60 738 153 q 382 -23 526 -23 q 155 47 248 -23 q 54 256 54 125 l 183 256 q 259 132 204 174 q 382 91 314 91 q 533 149 471 91 q 602 314 602 213 q 538 469 602 411 q 386 528 475 528 q 284 506 332 528 q 197 439 237 484 l 81 439 l 159 958 l 684 958 l 684 840 l 254 840 l 214 579 q 306 627 258 612 q 407 643 354 643 q 636 552 540 643 q 738 314 738 457 ",
|
|
56
|
+
},
|
|
57
|
+
6: {
|
|
58
|
+
x_min: 53,
|
|
59
|
+
x_max: 739,
|
|
60
|
+
ha: 792,
|
|
61
|
+
o: "m 739 312 q 633 62 739 162 q 400 -31 534 -31 q 162 78 257 -31 q 53 439 53 206 q 178 859 53 712 q 441 986 284 986 q 643 912 559 986 q 732 713 732 833 l 601 713 q 544 830 594 786 q 426 875 494 875 q 268 793 331 875 q 193 517 193 697 q 301 597 240 570 q 427 624 362 624 q 643 540 552 624 q 739 312 739 451 m 603 298 q 540 461 603 400 q 404 516 484 516 q 268 461 323 516 q 207 300 207 401 q 269 137 207 198 q 405 83 325 83 q 541 137 486 83 q 603 298 603 197 ",
|
|
62
|
+
},
|
|
63
|
+
7: {
|
|
64
|
+
x_min: 58.71875,
|
|
65
|
+
x_max: 730.953125,
|
|
66
|
+
ha: 792,
|
|
67
|
+
o: "m 730 839 q 469 448 560 641 q 335 0 378 255 l 192 0 q 328 441 235 252 q 593 830 421 630 l 58 830 l 58 958 l 730 958 l 730 839 ",
|
|
68
|
+
},
|
|
69
|
+
8: {
|
|
70
|
+
x_min: 55,
|
|
71
|
+
x_max: 736,
|
|
72
|
+
ha: 792,
|
|
73
|
+
o: "m 571 527 q 694 424 652 491 q 736 280 736 358 q 648 71 736 158 q 395 -26 551 -26 q 142 69 238 -26 q 55 279 55 157 q 96 425 55 359 q 220 527 138 491 q 120 615 153 562 q 88 726 88 668 q 171 904 88 827 q 395 986 261 986 q 618 905 529 986 q 702 727 702 830 q 670 616 702 667 q 571 527 638 565 m 394 565 q 519 610 475 565 q 563 717 563 655 q 521 823 563 781 q 392 872 474 872 q 265 824 312 872 q 224 720 224 783 q 265 613 224 656 q 394 565 312 565 m 395 91 q 545 150 488 91 q 597 280 597 204 q 546 408 597 355 q 395 465 492 465 q 244 408 299 465 q 194 280 194 356 q 244 150 194 203 q 395 91 299 91 ",
|
|
74
|
+
},
|
|
75
|
+
9: {
|
|
76
|
+
x_min: 53,
|
|
77
|
+
x_max: 739,
|
|
78
|
+
ha: 792,
|
|
79
|
+
o: "m 739 524 q 619 94 739 241 q 362 -32 516 -32 q 150 47 242 -32 q 59 244 59 126 l 191 244 q 246 129 191 176 q 373 82 301 82 q 526 161 466 82 q 597 440 597 255 q 363 334 501 334 q 130 432 216 334 q 53 650 53 521 q 134 880 53 786 q 383 986 226 986 q 659 841 566 986 q 739 524 739 719 m 388 449 q 535 514 480 449 q 585 658 585 573 q 535 805 585 744 q 388 873 480 873 q 242 809 294 873 q 191 658 191 745 q 239 514 191 572 q 388 449 292 449 ",
|
|
80
|
+
},
|
|
81
|
+
"-": {
|
|
82
|
+
x_min: 8.71875,
|
|
83
|
+
x_max: 350.390625,
|
|
84
|
+
ha: 478,
|
|
85
|
+
o: "m 350 317 l 8 317 l 8 428 l 350 428 l 350 317 ",
|
|
86
|
+
},
|
|
87
|
+
".": {
|
|
88
|
+
x_min: 0,
|
|
89
|
+
x_max: 142,
|
|
90
|
+
ha: 239,
|
|
91
|
+
o: "m 142 0 l 0 0 l 0 151 l 142 151 l 142 0 ",
|
|
92
|
+
},
|
|
21
93
|
},
|
|
22
94
|
cssFontWeight: "normal",
|
|
23
95
|
ascender: 1189,
|