@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.
@@ -1,95 +1,56 @@
1
1
  import { Color3, LinesMesh, TransformNode, Vector3, Viewer } from '../index';
2
2
  /**
3
- * General options that are used for each dimension line
3
+ * Options for dimension line creation
4
4
  */
5
- export declare type DefaultDimensionLineOptions = {
5
+ export declare type DimensionLineOptions = {
6
6
  /**
7
7
  * Default: `Color3.Black()`
8
8
  */
9
9
  lineColor: Color3;
10
10
  /**
11
- * Default: 50mm
11
+ * Default: 0.05m
12
12
  */
13
13
  closingLineHeight: number;
14
14
  /**
15
- * Height of dimension label
16
- *
17
- * Default: 24px
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: black
19
+ * Default: x or y direction is taken, depending on the normal vector between start and end point
46
20
  */
47
- borderColor: string;
21
+ closingLineDirection?: Vector3;
48
22
  /**
49
- * Background color of dimension label
23
+ * Optional parent node of dimension line, can be used for easier calculation of start and end point
50
24
  *
51
- * Default: white
25
+ * Default: no parent node set
52
26
  */
53
- backgroundColor: string;
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?: boolean;
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?: boolean;
68
- };
69
- /**
70
- * Specific options for each dimension line
71
- */
72
- export declare type DimensionLineOptions = Partial<DefaultDimensionLineOptions> & {
41
+ scaleWithCameraDistance: boolean;
73
42
  /**
74
- * Optional parent node of dimension line group, can be used for easier calculation of start and end point
43
+ * Optional callback for label text creation.\
44
+ * Provides calculated length from `startPoint` and `endPoint` as parameter in meters.
75
45
  *
76
- * Default: no parent node set
46
+ * Default: rounded (2 digits) "mm" value (e.g. "1234.56 mm")
77
47
  */
78
- parentNode?: TransformNode;
48
+ labelTextCb: (lengthM: number) => string;
79
49
  /**
80
- * Optional direction of the closing lines on start and end.\
81
- * Use built-in vector functions like `Vector3.Left()` or `Vector3.Forward()` for simple directions of use a custom
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
- labelText?: string;
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: DefaultDimensionLineOptions;
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<DefaultDimensionLineOptions>): void;
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: 50,
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, inputDefaultOptions);
57
- const { lineColor, closingLineHeight, labelHeight, textPadding, borderRadius, fontFamily, textColor, borderColor, backgroundColor, hideIfOccluded, scaleWithCameraDistance, } = resDefaultOptions;
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 / 1000);
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
- let labelText = labelTextIn;
85
- if (labelText === undefined) {
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
- span.style.display = 'block';
95
- span.style.height = `${labelHeight}px`;
96
- span.style.lineHeight = `${labelHeight}px`;
97
- span.style.fontFamily = fontFamily;
98
- span.style.fontSize = `${(labelHeight * 2) / 3}px`;
99
- span.style.border = `1px solid ${borderColor}`;
100
- span.style.paddingLeft = `${textPadding !== null && textPadding !== void 0 ? textPadding : labelHeight / 2}px`;
101
- span.style.paddingRight = `${textPadding !== null && textPadding !== void 0 ? textPadding : labelHeight / 2}px`;
102
- span.style.borderRadius = `${borderRadius !== null && borderRadius !== void 0 ? borderRadius : labelHeight / 2}px`;
103
- span.style.color = textColor;
104
- span.style.background = backgroundColor;
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":"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"}
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 lables in the {@link DimensionLineManager}
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 lables in the {@link DimensionLineManager}
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 = '$default';
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@combeenation/3d-viewer",
3
- "version": "18.0.0-beta2",
3
+ "version": "18.0.0",
4
4
  "description": "Combeenation 3D Viewer",
5
5
  "homepage": "https://github.com/Combeenation/3d-viewer#readme",
6
6
  "bugs": {
@@ -2,97 +2,57 @@ import { Color3, LinesMesh, MeshBuilder, Tags, TransformNode, Vector3, Viewer }
2
2
  import { merge } from 'lodash-es';
3
3
 
4
4
  /**
5
- * General options that are used for each dimension line
5
+ * Options for dimension line creation
6
6
  */
7
- export type DefaultDimensionLineOptions = {
7
+ export type DimensionLineOptions = {
8
8
  /**
9
9
  * Default: `Color3.Black()`
10
10
  */
11
11
  lineColor: Color3;
12
12
  /**
13
- * Default: 50mm
13
+ * Default: 0.05m
14
14
  */
15
15
  closingLineHeight: number;
16
16
  /**
17
- * Height of dimension label
18
- *
19
- * Default: 24px
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: black
21
+ * Default: x or y direction is taken, depending on the normal vector between start and end point
48
22
  */
49
- borderColor: string;
23
+ closingLineDirection?: Vector3;
50
24
  /**
51
- * Background color of dimension label
25
+ * Optional parent node of dimension line, can be used for easier calculation of start and end point
52
26
  *
53
- * Default: white
27
+ * Default: no parent node set
54
28
  */
55
- backgroundColor: string;
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?: boolean;
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?: boolean;
70
- };
71
-
72
- /**
73
- * Specific options for each dimension line
74
- */
75
- export type DimensionLineOptions = Partial<DefaultDimensionLineOptions> & {
43
+ scaleWithCameraDistance: boolean;
76
44
  /**
77
- * Optional parent node of dimension line group, can be used for easier calculation of start and end point
45
+ * Optional callback for label text creation.\
46
+ * Provides calculated length from `startPoint` and `endPoint` as parameter in meters.
78
47
  *
79
- * Default: no parent node set
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
- closingLineDirection?: Vector3;
50
+ labelTextCb: (lengthM: number) => string;
90
51
  /**
91
- * Optional label text
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
- labelText?: string;
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: DefaultDimensionLineOptions = {
64
+ protected _defaultLineOptions: DimensionLineOptions = {
105
65
  lineColor: Color3.Black(),
106
- closingLineHeight: 50,
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<DefaultDimensionLineOptions>): void {
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(name: string, startPoint: Vector3, endPoint: Vector3, options?: DimensionLineOptions): void {
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, inputDefaultOptions);
111
+ merge(resDefaultOptions, options);
154
112
  const {
155
113
  lineColor,
156
114
  closingLineHeight,
157
- labelHeight,
158
- textPadding,
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 / 1000);
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
- let labelText = labelTextIn;
198
- if (labelText === undefined) {
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
- span.style.display = 'block';
209
- span.style.height = `${labelHeight}px`;
210
- span.style.lineHeight = `${labelHeight}px`;
211
- span.style.fontFamily = fontFamily;
212
- span.style.fontSize = `${(labelHeight * 2) / 3}px`;
213
- span.style.border = `1px solid ${borderColor}`;
214
- span.style.paddingLeft = `${textPadding ?? labelHeight / 2}px`;
215
- span.style.paddingRight = `${textPadding ?? labelHeight / 2}px`;
216
- span.style.borderRadius = `${borderRadius ?? labelHeight / 2}px`;
217
- span.style.color = textColor;
218
- span.style.background = backgroundColor;
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 lables in the {@link DimensionLineManager}
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 = '$default';
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