@combeenation/3d-viewer 18.0.0-beta2 → 18.0.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/dist/lib-cjs/buildinfo.json +1 -1
- package/dist/lib-cjs/commonjs.tsconfig.tsbuildinfo +1 -1
- package/dist/lib-cjs/manager/dimension-line-manager.d.ts +23 -62
- package/dist/lib-cjs/manager/dimension-line-manager.js +27 -39
- package/dist/lib-cjs/manager/dimension-line-manager.js.map +1 -1
- package/dist/lib-cjs/manager/html-anchor-manager.d.ts +1 -1
- package/dist/lib-cjs/manager/html-anchor-manager.js +1 -1
- package/dist/lib-cjs/manager/scene-manager.js +1 -1
- package/dist/lib-cjs/manager/scene-manager.js.map +1 -1
- package/package.json +1 -1
- package/src/manager/dimension-line-manager.ts +58 -103
- package/src/manager/html-anchor-manager.ts +1 -1
- package/src/manager/scene-manager.ts +1 -1
|
@@ -1,95 +1,56 @@
|
|
|
1
1
|
import { Color3, LinesMesh, TransformNode, Vector3, Viewer } from '../index';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Options for dimension line creation
|
|
4
4
|
*/
|
|
5
|
-
export declare type
|
|
5
|
+
export declare type DimensionLineOptions = {
|
|
6
6
|
/**
|
|
7
7
|
* Default: `Color3.Black()`
|
|
8
8
|
*/
|
|
9
9
|
lineColor: Color3;
|
|
10
10
|
/**
|
|
11
|
-
* Default:
|
|
11
|
+
* Default: 0.05m
|
|
12
12
|
*/
|
|
13
13
|
closingLineHeight: number;
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*/
|
|
19
|
-
labelHeight: number;
|
|
20
|
-
/**
|
|
21
|
-
* Corner radius of dimension label
|
|
22
|
-
*
|
|
23
|
-
* Default: 1/2 of `labelHeight`, to create a half circle
|
|
24
|
-
*/
|
|
25
|
-
borderRadius?: number;
|
|
26
|
-
/**
|
|
27
|
-
* Text padding in x direction
|
|
28
|
-
*
|
|
29
|
-
* Default: 1/2 of `labelHeight`
|
|
30
|
-
*/
|
|
31
|
-
textPadding?: number;
|
|
32
|
-
/**
|
|
33
|
-
* Default: Arial
|
|
34
|
-
*/
|
|
35
|
-
fontFamily: string;
|
|
36
|
-
/**
|
|
37
|
-
* Text color of dimension label
|
|
38
|
-
*
|
|
39
|
-
* Default: black
|
|
40
|
-
*/
|
|
41
|
-
textColor: string;
|
|
42
|
-
/**
|
|
43
|
-
* Color of border
|
|
15
|
+
* Optional direction of the closing lines on start and end.\
|
|
16
|
+
* Use built-in vector functions like `Vector3.Left()` or `Vector3.Forward()` for simple directions of use a custom
|
|
17
|
+
* normal vector like `Vector3(1, 0.5 ,0)`.
|
|
44
18
|
*
|
|
45
|
-
* Default:
|
|
19
|
+
* Default: x or y direction is taken, depending on the normal vector between start and end point
|
|
46
20
|
*/
|
|
47
|
-
|
|
21
|
+
closingLineDirection?: Vector3;
|
|
48
22
|
/**
|
|
49
|
-
*
|
|
23
|
+
* Optional parent node of dimension line, can be used for easier calculation of start and end point
|
|
50
24
|
*
|
|
51
|
-
* Default:
|
|
25
|
+
* Default: no parent node set
|
|
52
26
|
*/
|
|
53
|
-
|
|
27
|
+
parentNode?: TransformNode;
|
|
54
28
|
/**
|
|
55
29
|
* `true`: html elements can be occluded by other meshes
|
|
56
30
|
* `false`: html elements will always be shown in front of the scene
|
|
57
31
|
*
|
|
58
32
|
* Default: `false`
|
|
59
33
|
*/
|
|
60
|
-
hideIfOccluded
|
|
34
|
+
hideIfOccluded: boolean;
|
|
61
35
|
/**
|
|
62
36
|
* `true`: html element size is relative to camera distance, just like a "normal" 3d object
|
|
63
37
|
* `false`: html element size remains constant
|
|
64
38
|
*
|
|
65
39
|
* Default: `false`
|
|
66
40
|
*/
|
|
67
|
-
scaleWithCameraDistance
|
|
68
|
-
};
|
|
69
|
-
/**
|
|
70
|
-
* Specific options for each dimension line
|
|
71
|
-
*/
|
|
72
|
-
export declare type DimensionLineOptions = Partial<DefaultDimensionLineOptions> & {
|
|
41
|
+
scaleWithCameraDistance: boolean;
|
|
73
42
|
/**
|
|
74
|
-
* Optional
|
|
43
|
+
* Optional callback for label text creation.\
|
|
44
|
+
* Provides calculated length from `startPoint` and `endPoint` as parameter in meters.
|
|
75
45
|
*
|
|
76
|
-
* Default:
|
|
46
|
+
* Default: rounded (2 digits) "mm" value (e.g. "1234.56 mm")
|
|
77
47
|
*/
|
|
78
|
-
|
|
48
|
+
labelTextCb: (lengthM: number) => string;
|
|
79
49
|
/**
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
* normal vector like `Vector3(1, 0.5 ,0)`.
|
|
83
|
-
*
|
|
84
|
-
* Default: x or y direction is taken, depending on the normal vector between start and end point
|
|
85
|
-
*/
|
|
86
|
-
closingLineDirection?: Vector3;
|
|
87
|
-
/**
|
|
88
|
-
* Optional label text
|
|
89
|
-
*
|
|
90
|
-
* Default: dimension line size is calculated from `startPoint` and `endPoint` and suffixed with "mm" (e.g. "1200 mm")
|
|
50
|
+
* Custom CSS class for dimension line label.\
|
|
51
|
+
* Can be used to overwrite the styling of the label.
|
|
91
52
|
*/
|
|
92
|
-
|
|
53
|
+
labelCssClass: string;
|
|
93
54
|
};
|
|
94
55
|
/**
|
|
95
56
|
* Manager for dimension lines, which can be used to display certain dimensions like object sizes in the scene
|
|
@@ -97,7 +58,7 @@ export declare type DimensionLineOptions = Partial<DefaultDimensionLineOptions>
|
|
|
97
58
|
export declare class DimensionLineManager {
|
|
98
59
|
protected viewer: Viewer;
|
|
99
60
|
static readonly DIMENSION_LINE_KEY = "$dimLine";
|
|
100
|
-
protected _defaultLineOptions:
|
|
61
|
+
protected _defaultLineOptions: DimensionLineOptions;
|
|
101
62
|
protected _dimensionLineObjs: {
|
|
102
63
|
[name: string]: {
|
|
103
64
|
linesMesh: LinesMesh;
|
|
@@ -110,11 +71,11 @@ export declare class DimensionLineManager {
|
|
|
110
71
|
* Define dimension line options that are used for each line by default.\
|
|
111
72
|
* Options can be overwritten by each line individually.
|
|
112
73
|
*/
|
|
113
|
-
setDefaultDimensionLineOptions(defaultLineOptions: Partial<
|
|
74
|
+
setDefaultDimensionLineOptions(defaultLineOptions: Partial<DimensionLineOptions>): void;
|
|
114
75
|
/**
|
|
115
76
|
* Create dimension line between two points
|
|
116
77
|
*/
|
|
117
|
-
addDimensionLine(name: string, startPoint: Vector3, endPoint: Vector3, options?: DimensionLineOptions): void;
|
|
78
|
+
addDimensionLine(name: string, startPoint: Vector3, endPoint: Vector3, options?: Partial<DimensionLineOptions>): void;
|
|
118
79
|
/**
|
|
119
80
|
* Remove dimension line and disposes all associated ressources
|
|
120
81
|
*/
|
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
-
var t = {};
|
|
4
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
-
t[p] = s[p];
|
|
6
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
-
t[p[i]] = s[p[i]];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
3
|
exports.DimensionLineManager = void 0;
|
|
15
4
|
const index_1 = require("../index");
|
|
@@ -23,14 +12,14 @@ class DimensionLineManager {
|
|
|
23
12
|
this.viewer = viewer;
|
|
24
13
|
this._defaultLineOptions = {
|
|
25
14
|
lineColor: index_1.Color3.Black(),
|
|
26
|
-
closingLineHeight:
|
|
27
|
-
labelHeight: 24,
|
|
28
|
-
fontFamily: 'Arial',
|
|
29
|
-
textColor: 'black',
|
|
30
|
-
borderColor: 'black',
|
|
31
|
-
backgroundColor: 'white',
|
|
15
|
+
closingLineHeight: 0.05,
|
|
32
16
|
hideIfOccluded: false,
|
|
33
17
|
scaleWithCameraDistance: false,
|
|
18
|
+
labelTextCb: (lengthM) => {
|
|
19
|
+
const lengthRounded = Math.round(lengthM * 1000 * 100) / 100;
|
|
20
|
+
return `${lengthRounded} mm`;
|
|
21
|
+
},
|
|
22
|
+
labelCssClass: '',
|
|
34
23
|
};
|
|
35
24
|
// map with all dimension lines that are currently visible in the scene
|
|
36
25
|
// holds data of all disposable objects for a clean up
|
|
@@ -51,10 +40,9 @@ class DimensionLineManager {
|
|
|
51
40
|
console.warn(`Dimension line "${name}" already exists`);
|
|
52
41
|
return;
|
|
53
42
|
}
|
|
54
|
-
const _a = options !== null && options !== void 0 ? options : {}, { parentNode, closingLineDirection: closingLineDirectionIn, labelText: labelTextIn } = _a, inputDefaultOptions = __rest(_a, ["parentNode", "closingLineDirection", "labelText"]);
|
|
55
43
|
const resDefaultOptions = Object.assign({}, this._defaultLineOptions);
|
|
56
|
-
(0, lodash_es_1.merge)(resDefaultOptions,
|
|
57
|
-
const { lineColor, closingLineHeight,
|
|
44
|
+
(0, lodash_es_1.merge)(resDefaultOptions, options);
|
|
45
|
+
const { lineColor, closingLineHeight, closingLineDirection: closingLineDirectionIn, parentNode, hideIfOccluded, scaleWithCameraDistance, labelTextCb, labelCssClass, } = resDefaultOptions;
|
|
58
46
|
let closingLineDirection = closingLineDirectionIn;
|
|
59
47
|
if (!closingLineDirection) {
|
|
60
48
|
// evaluate closing line direction if not given
|
|
@@ -66,7 +54,7 @@ class DimensionLineManager {
|
|
|
66
54
|
const lineCenter = index_1.Vector3.Center(startPoint, endPoint);
|
|
67
55
|
const relStartPt = startPoint.subtract(lineCenter);
|
|
68
56
|
const relEndPt = endPoint.subtract(lineCenter);
|
|
69
|
-
const closingLineOffsetVector = closingLineDirection.normalizeToNew().scale(closingLineHeight / 2
|
|
57
|
+
const closingLineOffsetVector = closingLineDirection.normalizeToNew().scale(closingLineHeight / 2);
|
|
70
58
|
const closingLineStartPts = [relStartPt.add(closingLineOffsetVector), relStartPt.subtract(closingLineOffsetVector)];
|
|
71
59
|
const closingLineEndPts = [relEndPt.add(closingLineOffsetVector), relEndPt.subtract(closingLineOffsetVector)];
|
|
72
60
|
const linesMesh = index_1.MeshBuilder.CreateLineSystem(`${DimensionLineManager.DIMENSION_LINE_KEY}_${name}`, {
|
|
@@ -81,27 +69,27 @@ class DimensionLineManager {
|
|
|
81
69
|
if (parentNode) {
|
|
82
70
|
linesMesh.parent = parentNode;
|
|
83
71
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
// create default text if not explicitely overwritten by the function
|
|
87
|
-
const length = index_1.Vector3.Distance(startPoint, endPoint);
|
|
88
|
-
const lengthRounded = Math.round(length * 1000 * 100) / 100;
|
|
89
|
-
labelText = `${lengthRounded} mm`;
|
|
90
|
-
}
|
|
72
|
+
const lengthM = index_1.Vector3.Distance(startPoint, endPoint);
|
|
73
|
+
const labelText = labelTextCb(lengthM);
|
|
91
74
|
// create default html element
|
|
92
75
|
const span = document.createElement('span');
|
|
93
76
|
span.textContent = labelText;
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
77
|
+
if (labelCssClass) {
|
|
78
|
+
span.classList.add(labelCssClass);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
const labelHeight = 24;
|
|
82
|
+
span.style.display = 'block';
|
|
83
|
+
span.style.height = `${labelHeight}px`;
|
|
84
|
+
span.style.lineHeight = `${labelHeight}px`;
|
|
85
|
+
span.style.fontSize = `${(labelHeight * 2) / 3}px`;
|
|
86
|
+
span.style.fontFamily = 'Arial';
|
|
87
|
+
span.style.border = `1px solid black`;
|
|
88
|
+
span.style.paddingLeft = `${labelHeight / 2}px`;
|
|
89
|
+
span.style.paddingRight = `${labelHeight / 2}px`;
|
|
90
|
+
span.style.borderRadius = `${labelHeight / 2}px`;
|
|
91
|
+
span.style.background = 'white';
|
|
92
|
+
}
|
|
105
93
|
const htmlLabelName = `${DimensionLineManager.DIMENSION_LINE_KEY}_${name}`;
|
|
106
94
|
this.viewer.htmlAnchorManager.addHtmlAnchor(name, span, index_1.Vector3.Zero(), {
|
|
107
95
|
parentNode: linesMesh,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dimension-line-manager.js","sourceRoot":"","sources":["../../../src/manager/dimension-line-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dimension-line-manager.js","sourceRoot":"","sources":["../../../src/manager/dimension-line-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,7 +38,7 @@ export declare type HtmlAnchorOptions = {
|
|
|
38
38
|
* - **Input fields**: Interactively change the size of an element
|
|
39
39
|
* - **Info label**: Just shows some information on a certain position within the scene
|
|
40
40
|
*
|
|
41
|
-
* Html anchors are also used as dimension
|
|
41
|
+
* Html anchors are also used as dimension labels in the {@link DimensionLineManager}.
|
|
42
42
|
*/
|
|
43
43
|
export declare class HtmlAnchorManager {
|
|
44
44
|
protected viewer: Viewer;
|
|
@@ -22,7 +22,7 @@ const html2canvas_1 = __importDefault(require("html2canvas"));
|
|
|
22
22
|
* - **Input fields**: Interactively change the size of an element
|
|
23
23
|
* - **Info label**: Just shows some information on a certain position within the scene
|
|
24
24
|
*
|
|
25
|
-
* Html anchors are also used as dimension
|
|
25
|
+
* Html anchors are also used as dimension labels in the {@link DimensionLineManager}.
|
|
26
26
|
*/
|
|
27
27
|
class HtmlAnchorManager {
|
|
28
28
|
/** @internal */
|
|
@@ -325,7 +325,7 @@ class SceneManager {
|
|
|
325
325
|
}
|
|
326
326
|
}
|
|
327
327
|
exports.SceneManager = SceneManager;
|
|
328
|
-
SceneManager._DEFAULT_SCENE_ASSET_NAME = '$
|
|
328
|
+
SceneManager._DEFAULT_SCENE_ASSET_NAME = '$defaultScene';
|
|
329
329
|
SceneManager._DEFAULT_GROUND_PLANE_NAME = 'BackgroundPlane';
|
|
330
330
|
SceneManager._DEFAULT_GROUND_SIZING_FACTOR = 5;
|
|
331
331
|
//# sourceMappingURL=scene-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-manager.js","sourceRoot":"","sources":["../../../src/manager/scene-manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"scene-manager.js","sourceRoot":"","sources":["../../../src/manager/scene-manager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,97 +2,57 @@ import { Color3, LinesMesh, MeshBuilder, Tags, TransformNode, Vector3, Viewer }
|
|
|
2
2
|
import { merge } from 'lodash-es';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Options for dimension line creation
|
|
6
6
|
*/
|
|
7
|
-
export type
|
|
7
|
+
export type DimensionLineOptions = {
|
|
8
8
|
/**
|
|
9
9
|
* Default: `Color3.Black()`
|
|
10
10
|
*/
|
|
11
11
|
lineColor: Color3;
|
|
12
12
|
/**
|
|
13
|
-
* Default:
|
|
13
|
+
* Default: 0.05m
|
|
14
14
|
*/
|
|
15
15
|
closingLineHeight: number;
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*/
|
|
21
|
-
labelHeight: number;
|
|
22
|
-
/**
|
|
23
|
-
* Corner radius of dimension label
|
|
24
|
-
*
|
|
25
|
-
* Default: 1/2 of `labelHeight`, to create a half circle
|
|
26
|
-
*/
|
|
27
|
-
borderRadius?: number;
|
|
28
|
-
/**
|
|
29
|
-
* Text padding in x direction
|
|
30
|
-
*
|
|
31
|
-
* Default: 1/2 of `labelHeight`
|
|
32
|
-
*/
|
|
33
|
-
textPadding?: number;
|
|
34
|
-
/**
|
|
35
|
-
* Default: Arial
|
|
36
|
-
*/
|
|
37
|
-
fontFamily: string;
|
|
38
|
-
/**
|
|
39
|
-
* Text color of dimension label
|
|
40
|
-
*
|
|
41
|
-
* Default: black
|
|
42
|
-
*/
|
|
43
|
-
textColor: string;
|
|
44
|
-
/**
|
|
45
|
-
* Color of border
|
|
17
|
+
* Optional direction of the closing lines on start and end.\
|
|
18
|
+
* Use built-in vector functions like `Vector3.Left()` or `Vector3.Forward()` for simple directions of use a custom
|
|
19
|
+
* normal vector like `Vector3(1, 0.5 ,0)`.
|
|
46
20
|
*
|
|
47
|
-
* Default:
|
|
21
|
+
* Default: x or y direction is taken, depending on the normal vector between start and end point
|
|
48
22
|
*/
|
|
49
|
-
|
|
23
|
+
closingLineDirection?: Vector3;
|
|
50
24
|
/**
|
|
51
|
-
*
|
|
25
|
+
* Optional parent node of dimension line, can be used for easier calculation of start and end point
|
|
52
26
|
*
|
|
53
|
-
* Default:
|
|
27
|
+
* Default: no parent node set
|
|
54
28
|
*/
|
|
55
|
-
|
|
29
|
+
parentNode?: TransformNode;
|
|
56
30
|
/**
|
|
57
31
|
* `true`: html elements can be occluded by other meshes
|
|
58
32
|
* `false`: html elements will always be shown in front of the scene
|
|
59
33
|
*
|
|
60
34
|
* Default: `false`
|
|
61
35
|
*/
|
|
62
|
-
hideIfOccluded
|
|
36
|
+
hideIfOccluded: boolean;
|
|
63
37
|
/**
|
|
64
38
|
* `true`: html element size is relative to camera distance, just like a "normal" 3d object
|
|
65
39
|
* `false`: html element size remains constant
|
|
66
40
|
*
|
|
67
41
|
* Default: `false`
|
|
68
42
|
*/
|
|
69
|
-
scaleWithCameraDistance
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Specific options for each dimension line
|
|
74
|
-
*/
|
|
75
|
-
export type DimensionLineOptions = Partial<DefaultDimensionLineOptions> & {
|
|
43
|
+
scaleWithCameraDistance: boolean;
|
|
76
44
|
/**
|
|
77
|
-
* Optional
|
|
45
|
+
* Optional callback for label text creation.\
|
|
46
|
+
* Provides calculated length from `startPoint` and `endPoint` as parameter in meters.
|
|
78
47
|
*
|
|
79
|
-
* Default:
|
|
80
|
-
*/
|
|
81
|
-
parentNode?: TransformNode;
|
|
82
|
-
/**
|
|
83
|
-
* Optional direction of the closing lines on start and end.\
|
|
84
|
-
* Use built-in vector functions like `Vector3.Left()` or `Vector3.Forward()` for simple directions of use a custom
|
|
85
|
-
* normal vector like `Vector3(1, 0.5 ,0)`.
|
|
86
|
-
*
|
|
87
|
-
* Default: x or y direction is taken, depending on the normal vector between start and end point
|
|
48
|
+
* Default: rounded (2 digits) "mm" value (e.g. "1234.56 mm")
|
|
88
49
|
*/
|
|
89
|
-
|
|
50
|
+
labelTextCb: (lengthM: number) => string;
|
|
90
51
|
/**
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
* Default: dimension line size is calculated from `startPoint` and `endPoint` and suffixed with "mm" (e.g. "1200 mm")
|
|
52
|
+
* Custom CSS class for dimension line label.\
|
|
53
|
+
* Can be used to overwrite the styling of the label.
|
|
94
54
|
*/
|
|
95
|
-
|
|
55
|
+
labelCssClass: string;
|
|
96
56
|
};
|
|
97
57
|
|
|
98
58
|
/**
|
|
@@ -101,16 +61,16 @@ export type DimensionLineOptions = Partial<DefaultDimensionLineOptions> & {
|
|
|
101
61
|
export class DimensionLineManager {
|
|
102
62
|
public static readonly DIMENSION_LINE_KEY = '$dimLine';
|
|
103
63
|
|
|
104
|
-
protected _defaultLineOptions:
|
|
64
|
+
protected _defaultLineOptions: DimensionLineOptions = {
|
|
105
65
|
lineColor: Color3.Black(),
|
|
106
|
-
closingLineHeight:
|
|
107
|
-
labelHeight: 24,
|
|
108
|
-
fontFamily: 'Arial',
|
|
109
|
-
textColor: 'black',
|
|
110
|
-
borderColor: 'black',
|
|
111
|
-
backgroundColor: 'white',
|
|
66
|
+
closingLineHeight: 0.05,
|
|
112
67
|
hideIfOccluded: false,
|
|
113
68
|
scaleWithCameraDistance: false,
|
|
69
|
+
labelTextCb: (lengthM): string => {
|
|
70
|
+
const lengthRounded = Math.round(lengthM * 1000 * 100) / 100;
|
|
71
|
+
return `${lengthRounded} mm`;
|
|
72
|
+
},
|
|
73
|
+
labelCssClass: '',
|
|
114
74
|
};
|
|
115
75
|
|
|
116
76
|
// map with all dimension lines that are currently visible in the scene
|
|
@@ -129,40 +89,35 @@ export class DimensionLineManager {
|
|
|
129
89
|
* Define dimension line options that are used for each line by default.\
|
|
130
90
|
* Options can be overwritten by each line individually.
|
|
131
91
|
*/
|
|
132
|
-
public setDefaultDimensionLineOptions(defaultLineOptions: Partial<
|
|
92
|
+
public setDefaultDimensionLineOptions(defaultLineOptions: Partial<DimensionLineOptions>): void {
|
|
133
93
|
merge(this._defaultLineOptions, defaultLineOptions);
|
|
134
94
|
}
|
|
135
95
|
|
|
136
96
|
/**
|
|
137
97
|
* Create dimension line between two points
|
|
138
98
|
*/
|
|
139
|
-
public addDimensionLine(
|
|
99
|
+
public addDimensionLine(
|
|
100
|
+
name: string,
|
|
101
|
+
startPoint: Vector3,
|
|
102
|
+
endPoint: Vector3,
|
|
103
|
+
options?: Partial<DimensionLineOptions>
|
|
104
|
+
): void {
|
|
140
105
|
if (this._dimensionLineObjs[name]) {
|
|
141
106
|
console.warn(`Dimension line "${name}" already exists`);
|
|
142
107
|
return;
|
|
143
108
|
}
|
|
144
109
|
|
|
145
|
-
const {
|
|
146
|
-
parentNode,
|
|
147
|
-
closingLineDirection: closingLineDirectionIn,
|
|
148
|
-
labelText: labelTextIn,
|
|
149
|
-
...inputDefaultOptions
|
|
150
|
-
} = options ?? {};
|
|
151
|
-
|
|
152
110
|
const resDefaultOptions = { ...this._defaultLineOptions };
|
|
153
|
-
merge(resDefaultOptions,
|
|
111
|
+
merge(resDefaultOptions, options);
|
|
154
112
|
const {
|
|
155
113
|
lineColor,
|
|
156
114
|
closingLineHeight,
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
borderRadius,
|
|
160
|
-
fontFamily,
|
|
161
|
-
textColor,
|
|
162
|
-
borderColor,
|
|
163
|
-
backgroundColor,
|
|
115
|
+
closingLineDirection: closingLineDirectionIn,
|
|
116
|
+
parentNode,
|
|
164
117
|
hideIfOccluded,
|
|
165
118
|
scaleWithCameraDistance,
|
|
119
|
+
labelTextCb,
|
|
120
|
+
labelCssClass,
|
|
166
121
|
} = resDefaultOptions;
|
|
167
122
|
|
|
168
123
|
let closingLineDirection = closingLineDirectionIn;
|
|
@@ -177,7 +132,7 @@ export class DimensionLineManager {
|
|
|
177
132
|
const lineCenter = Vector3.Center(startPoint, endPoint);
|
|
178
133
|
const relStartPt = startPoint.subtract(lineCenter);
|
|
179
134
|
const relEndPt = endPoint.subtract(lineCenter);
|
|
180
|
-
const closingLineOffsetVector = closingLineDirection.normalizeToNew().scale(closingLineHeight / 2
|
|
135
|
+
const closingLineOffsetVector = closingLineDirection.normalizeToNew().scale(closingLineHeight / 2);
|
|
181
136
|
const closingLineStartPts = [relStartPt.add(closingLineOffsetVector), relStartPt.subtract(closingLineOffsetVector)];
|
|
182
137
|
const closingLineEndPts = [relEndPt.add(closingLineOffsetVector), relEndPt.subtract(closingLineOffsetVector)];
|
|
183
138
|
|
|
@@ -194,28 +149,28 @@ export class DimensionLineManager {
|
|
|
194
149
|
linesMesh.parent = parentNode;
|
|
195
150
|
}
|
|
196
151
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
// create default text if not explicitely overwritten by the function
|
|
200
|
-
const length = Vector3.Distance(startPoint, endPoint);
|
|
201
|
-
const lengthRounded = Math.round(length * 1000 * 100) / 100;
|
|
202
|
-
labelText = `${lengthRounded} mm`;
|
|
203
|
-
}
|
|
152
|
+
const lengthM = Vector3.Distance(startPoint, endPoint);
|
|
153
|
+
const labelText = labelTextCb(lengthM);
|
|
204
154
|
|
|
205
155
|
// create default html element
|
|
206
156
|
const span = document.createElement('span');
|
|
207
157
|
span.textContent = labelText;
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
158
|
+
|
|
159
|
+
if (labelCssClass) {
|
|
160
|
+
span.classList.add(labelCssClass);
|
|
161
|
+
} else {
|
|
162
|
+
const labelHeight = 24;
|
|
163
|
+
span.style.display = 'block';
|
|
164
|
+
span.style.height = `${labelHeight}px`;
|
|
165
|
+
span.style.lineHeight = `${labelHeight}px`;
|
|
166
|
+
span.style.fontSize = `${(labelHeight * 2) / 3}px`;
|
|
167
|
+
span.style.fontFamily = 'Arial';
|
|
168
|
+
span.style.border = `1px solid black`;
|
|
169
|
+
span.style.paddingLeft = `${labelHeight / 2}px`;
|
|
170
|
+
span.style.paddingRight = `${labelHeight / 2}px`;
|
|
171
|
+
span.style.borderRadius = `${labelHeight / 2}px`;
|
|
172
|
+
span.style.background = 'white';
|
|
173
|
+
}
|
|
219
174
|
|
|
220
175
|
const htmlLabelName = `${DimensionLineManager.DIMENSION_LINE_KEY}_${name}`;
|
|
221
176
|
this.viewer.htmlAnchorManager.addHtmlAnchor(name, span, Vector3.Zero(), {
|
|
@@ -53,7 +53,7 @@ export type HtmlAnchorOptions = {
|
|
|
53
53
|
* - **Input fields**: Interactively change the size of an element
|
|
54
54
|
* - **Info label**: Just shows some information on a certain position within the scene
|
|
55
55
|
*
|
|
56
|
-
* Html anchors are also used as dimension
|
|
56
|
+
* Html anchors are also used as dimension labels in the {@link DimensionLineManager}.
|
|
57
57
|
*/
|
|
58
58
|
export class HtmlAnchorManager {
|
|
59
59
|
protected static readonly _HTML_ANCHOR_KEY = '$htmlAnchor';
|
|
@@ -105,7 +105,7 @@ type SceneAsset = BaseAsset & {
|
|
|
105
105
|
* This contains creating or loading scenes with certain settings for lighting, cameras and appearance in genereal.
|
|
106
106
|
*/
|
|
107
107
|
export class SceneManager {
|
|
108
|
-
protected static _DEFAULT_SCENE_ASSET_NAME = '$
|
|
108
|
+
protected static _DEFAULT_SCENE_ASSET_NAME = '$defaultScene';
|
|
109
109
|
protected static _DEFAULT_GROUND_PLANE_NAME = 'BackgroundPlane';
|
|
110
110
|
protected static _DEFAULT_GROUND_SIZING_FACTOR = 5;
|
|
111
111
|
|