@combeenation/3d-viewer 17.1.0 → 18.0.0-beta2
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/index.d.ts +8 -0
- package/dist/lib-cjs/index.js +8 -0
- package/dist/lib-cjs/index.js.map +1 -1
- package/dist/lib-cjs/internal/asset-helper.d.ts +32 -0
- package/dist/lib-cjs/internal/asset-helper.js +105 -0
- package/dist/lib-cjs/internal/asset-helper.js.map +1 -0
- package/dist/lib-cjs/internal/cbn-custom-babylon-loader-plugin.d.ts +18 -0
- package/dist/lib-cjs/internal/cbn-custom-babylon-loader-plugin.js +22 -3
- package/dist/lib-cjs/internal/cbn-custom-babylon-loader-plugin.js.map +1 -1
- package/dist/lib-cjs/internal/cloning-helper.js +1 -1
- package/dist/lib-cjs/internal/cloning-helper.js.map +1 -1
- package/dist/lib-cjs/internal/texture-parameter-helper.js +26 -7
- package/dist/lib-cjs/internal/texture-parameter-helper.js.map +1 -1
- package/dist/lib-cjs/manager/camera-manager.d.ts +23 -2
- package/dist/lib-cjs/manager/camera-manager.js +91 -24
- package/dist/lib-cjs/manager/camera-manager.js.map +1 -1
- package/dist/lib-cjs/manager/debug-manager.d.ts +1 -1
- package/dist/lib-cjs/manager/debug-manager.js +3 -3
- package/dist/lib-cjs/manager/debug-manager.js.map +1 -1
- package/dist/lib-cjs/manager/dimension-line-manager.d.ts +126 -0
- package/dist/lib-cjs/manager/dimension-line-manager.js +138 -0
- package/dist/lib-cjs/manager/dimension-line-manager.js.map +1 -0
- package/dist/lib-cjs/manager/html-anchor-manager.d.ts +93 -0
- package/dist/lib-cjs/manager/html-anchor-manager.js +228 -0
- package/dist/lib-cjs/manager/html-anchor-manager.js.map +1 -0
- package/dist/lib-cjs/manager/model-manager.d.ts +11 -34
- package/dist/lib-cjs/manager/model-manager.js +47 -107
- package/dist/lib-cjs/manager/model-manager.js.map +1 -1
- package/dist/lib-cjs/manager/parameter-manager.d.ts +17 -12
- package/dist/lib-cjs/manager/parameter-manager.js +78 -69
- package/dist/lib-cjs/manager/parameter-manager.js.map +1 -1
- package/dist/lib-cjs/manager/scene-manager.d.ts +111 -5
- package/dist/lib-cjs/manager/scene-manager.js +276 -10
- package/dist/lib-cjs/manager/scene-manager.js.map +1 -1
- package/dist/lib-cjs/viewer-error.d.ts +1 -0
- package/dist/lib-cjs/viewer-error.js +1 -0
- package/dist/lib-cjs/viewer-error.js.map +1 -1
- package/dist/lib-cjs/viewer.d.ts +9 -14
- package/dist/lib-cjs/viewer.js +16 -38
- package/dist/lib-cjs/viewer.js.map +1 -1
- package/package.json +22 -12
- package/src/index.ts +8 -0
- package/src/internal/asset-helper.ts +115 -0
- package/src/internal/cbn-custom-babylon-loader-plugin.ts +30 -3
- package/src/internal/cloning-helper.ts +1 -1
- package/src/internal/texture-parameter-helper.ts +25 -8
- package/src/manager/camera-manager.ts +153 -39
- package/src/manager/debug-manager.ts +3 -3
- package/src/manager/dimension-line-manager.ts +255 -0
- package/src/manager/html-anchor-manager.ts +332 -0
- package/src/manager/model-manager.ts +55 -138
- package/src/manager/parameter-manager.ts +94 -75
- package/src/manager/scene-manager.ts +375 -10
- package/src/viewer-error.ts +1 -0
- package/src/viewer.ts +30 -56
- package/src/dev.ts +0 -47
|
@@ -34,7 +34,7 @@ class CameraManager {
|
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
36
|
// get bounding box of all visible meshes, this is the base for the autofocus algorithm
|
|
37
|
-
const boundingInfo = this.viewer.calculateBoundingInfo(settings === null || settings === void 0 ? void 0 : settings.exclude);
|
|
37
|
+
const boundingInfo = this.viewer.sceneManager.calculateBoundingInfo(settings === null || settings === void 0 ? void 0 : settings.exclude);
|
|
38
38
|
// optionally show bounding sphere for debugging purpose
|
|
39
39
|
this.viewer.eventManager.fireEvent(index_1.ViewerEvent.AutofocusStart, boundingInfo.boundingSphere);
|
|
40
40
|
const distance = this._getAutofocusZoomingDistance(boundingInfo.boundingSphere, activeCamera);
|
|
@@ -126,18 +126,19 @@ class CameraManager {
|
|
|
126
126
|
* The result is a string containing a base64 encoded image.
|
|
127
127
|
*/
|
|
128
128
|
createScreenshot(settings) {
|
|
129
|
-
var _a, _b;
|
|
129
|
+
var _a, _b, _c;
|
|
130
130
|
return __awaiter(this, void 0, void 0, function* () {
|
|
131
|
+
const { width, height, alpha, beta, radius, target, autofocusScene, exclude, excludeHtmlAnchorGroups, fileName, samples, antialiasing, renderSprites, enableStencilBuffer, useLayerMask, quality, } = settings !== null && settings !== void 0 ? settings : {};
|
|
131
132
|
const screenshotCam = (_a = this.viewer.scene.activeCamera) === null || _a === void 0 ? void 0 : _a.clone(CameraManager._SCREENSHOT_CAMERA_NAME);
|
|
132
|
-
const boundingInfo =
|
|
133
|
-
if (
|
|
134
|
-
screenshotCam.alpha =
|
|
133
|
+
const boundingInfo = autofocusScene ? this.viewer.sceneManager.calculateBoundingInfo(exclude) : undefined;
|
|
134
|
+
if (alpha !== undefined) {
|
|
135
|
+
screenshotCam.alpha = alpha;
|
|
135
136
|
}
|
|
136
|
-
if (
|
|
137
|
-
screenshotCam.beta =
|
|
137
|
+
if (beta !== undefined) {
|
|
138
|
+
screenshotCam.beta = beta;
|
|
138
139
|
}
|
|
139
|
-
if (
|
|
140
|
-
screenshotCam.radius =
|
|
140
|
+
if (radius !== undefined) {
|
|
141
|
+
screenshotCam.radius = radius;
|
|
141
142
|
}
|
|
142
143
|
else if (boundingInfo) {
|
|
143
144
|
// zoom out to have full scene in view if requested by `autofocusScene` flag
|
|
@@ -147,25 +148,63 @@ class CameraManager {
|
|
|
147
148
|
}
|
|
148
149
|
// `cloneAlphaBetaRadius` has to be set to true, otherwise these values get adapted by setting the new target
|
|
149
150
|
// this would also be the case when setting `screenshotCam.target` directly
|
|
150
|
-
if (
|
|
151
|
-
screenshotCam.setTarget(
|
|
151
|
+
if (target !== undefined) {
|
|
152
|
+
screenshotCam.setTarget(target, undefined, undefined, true);
|
|
152
153
|
}
|
|
153
154
|
else if (boundingInfo) {
|
|
154
155
|
screenshotCam.setTarget(boundingInfo.boundingSphere.center, undefined, undefined, true);
|
|
155
156
|
}
|
|
156
|
-
//
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
const
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
index_1.ScreenshotTools.CreateScreenshotUsingRenderTarget(this.viewer.engine, screenshotCam, size, (data) => resolve(data), settings === null || settings === void 0 ? void 0 : settings.mimeType, settings === null || settings === void 0 ? void 0 : settings.samples, settings === null || settings === void 0 ? void 0 : settings.antialiasing, settings === null || settings === void 0 ? void 0 : settings.fileName, settings === null || settings === void 0 ? void 0 : settings.renderSprites, settings === null || settings === void 0 ? void 0 : settings.enableStencilBuffer, settings === null || settings === void 0 ? void 0 : settings.useLayerMask, settings === null || settings === void 0 ? void 0 : settings.quality, texture => {
|
|
164
|
-
texture.renderList = this.viewer.scene.meshes.filter(mesh => !(settings === null || settings === void 0 ? void 0 : settings.exclude) || !(0, geometry_helper_1.isNodeExcluded)(mesh, settings.exclude));
|
|
165
|
-
});
|
|
157
|
+
// calculate screenshot size manually as it is used for html anchor screenshot as well
|
|
158
|
+
const screenshotSize = this._getScreenshotSize(width, height);
|
|
159
|
+
const mimeType = (_c = settings === null || settings === void 0 ? void 0 : settings.mimeType) !== null && _c !== void 0 ? _c : 'image/png';
|
|
160
|
+
const imageStr3d = yield index_1.ScreenshotTools.CreateScreenshotUsingRenderTargetAsync(this.viewer.engine, screenshotCam, { width: screenshotSize.imageWidth, height: screenshotSize.imageHeight }, mimeType, samples, antialiasing, undefined, renderSprites, enableStencilBuffer, useLayerMask, quality, texture => {
|
|
161
|
+
// NOTE: this doesn't work ATM, see https://github.com/BabylonJS/Babylon.js/pull/16081#issuecomment-2652861176
|
|
162
|
+
// we'll have to wait for a fix or solve the visibility in a different way (e.g. camera layer mask)
|
|
163
|
+
texture.renderList = this.viewer.scene.meshes.filter(mesh => !(settings === null || settings === void 0 ? void 0 : settings.exclude) || !(0, geometry_helper_1.isNodeExcluded)(mesh, settings.exclude));
|
|
166
164
|
});
|
|
165
|
+
let imageStr = '';
|
|
166
|
+
const htmlAnchorKeys = excludeHtmlAnchorGroups === true
|
|
167
|
+
? []
|
|
168
|
+
: this.viewer.htmlAnchorManager.getHtmlAnchorKeys(undefined, excludeHtmlAnchorGroups, true);
|
|
169
|
+
if (htmlAnchorKeys.length) {
|
|
170
|
+
// html anchors are not included in the main screenshot, as the html elements are located outside of the canvas
|
|
171
|
+
// the idea is to create a dedicated canvas for these elements and merge the result with the main screenshot into
|
|
172
|
+
// a combined canvas
|
|
173
|
+
const screenshotHtmlCanvas = yield this.viewer.htmlAnchorManager.createScreenshotCanvas(screenshotSize, screenshotCam, htmlAnchorKeys);
|
|
174
|
+
// convert the main screenshot into an image, so that it can be drawn onto a canvas as well
|
|
175
|
+
const screenshot3dImg = new Image();
|
|
176
|
+
screenshot3dImg.src = imageStr3d;
|
|
177
|
+
yield new Promise(resolve => {
|
|
178
|
+
screenshot3dImg.onload = resolve;
|
|
179
|
+
});
|
|
180
|
+
const screenshotCombinedCanvas = document.createElement('canvas');
|
|
181
|
+
screenshotCombinedCanvas.width = screenshotSize.imageWidth;
|
|
182
|
+
screenshotCombinedCanvas.height = screenshotSize.imageHeight;
|
|
183
|
+
// draw main and html screenshot on a new canvas and get the base64 string from it
|
|
184
|
+
const context = screenshotCombinedCanvas.getContext('2d');
|
|
185
|
+
context.drawImage(screenshot3dImg, 0, 0, screenshotSize.imageWidth, screenshotSize.imageHeight);
|
|
186
|
+
context.drawImage(screenshotHtmlCanvas, 0, 0, screenshotSize.imageWidth, screenshotSize.imageHeight);
|
|
187
|
+
imageStr = screenshotCombinedCanvas.toDataURL(mimeType);
|
|
188
|
+
screenshotCombinedCanvas.remove();
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
imageStr = imageStr3d;
|
|
192
|
+
}
|
|
167
193
|
screenshotCam.dispose();
|
|
168
|
-
|
|
194
|
+
if (fileName) {
|
|
195
|
+
// rebuild Babylon.js default behaviour: if a file name is given, download the screenshot instead of returning the
|
|
196
|
+
// data string
|
|
197
|
+
const link = document.createElement('a');
|
|
198
|
+
link.href = imageStr;
|
|
199
|
+
link.download = fileName;
|
|
200
|
+
document.body.appendChild(link);
|
|
201
|
+
link.click();
|
|
202
|
+
document.body.removeChild(link);
|
|
203
|
+
return '';
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
return imageStr;
|
|
207
|
+
}
|
|
169
208
|
});
|
|
170
209
|
}
|
|
171
210
|
static _addCameraAnimationToGroup(targetProperty, from, to, framesPerSec, dataType, animationGroup, activeCamera) {
|
|
@@ -194,9 +233,37 @@ class CameraManager {
|
|
|
194
233
|
const distance = Math.max(distanceForHorizontalFrustum, distanceForVerticalFrustum);
|
|
195
234
|
return distance;
|
|
196
235
|
}
|
|
236
|
+
_getScreenshotSize(width, height) {
|
|
237
|
+
const canvas = this.viewer.canvas;
|
|
238
|
+
const aspectRatio = canvas.width / canvas.height;
|
|
239
|
+
let imageWidth = 0;
|
|
240
|
+
let imageHeight = 0;
|
|
241
|
+
if (width && height) {
|
|
242
|
+
imageWidth = width;
|
|
243
|
+
imageHeight = height;
|
|
244
|
+
}
|
|
245
|
+
else if (width && !height) {
|
|
246
|
+
imageWidth = width;
|
|
247
|
+
imageHeight = width / aspectRatio;
|
|
248
|
+
}
|
|
249
|
+
else if (!width && height) {
|
|
250
|
+
imageWidth = height * aspectRatio;
|
|
251
|
+
imageHeight = height;
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
imageWidth = canvas.width;
|
|
255
|
+
imageHeight = canvas.height;
|
|
256
|
+
}
|
|
257
|
+
// canvas size only differs from image size if both width and height are set
|
|
258
|
+
// in this case the aspect ratio differs from the canvas aspect ratio and some parts of the canvas have to be
|
|
259
|
+
// cropped for the screenshot
|
|
260
|
+
const canvasWidth = width && height ? height * aspectRatio : imageWidth;
|
|
261
|
+
const canvasHeight = imageHeight;
|
|
262
|
+
return { imageWidth, imageHeight, canvasWidth, canvasHeight };
|
|
263
|
+
}
|
|
197
264
|
}
|
|
198
265
|
exports.CameraManager = CameraManager;
|
|
199
|
-
CameraManager.CAMERA_ANIMATION_NAME = '
|
|
266
|
+
CameraManager.CAMERA_ANIMATION_NAME = '$cameraAnimation';
|
|
200
267
|
/** @internal */
|
|
201
268
|
CameraManager.DEFAULT_CAMERA_POSITION = {
|
|
202
269
|
alpha: (45 * Math.PI) / 180,
|
|
@@ -212,5 +279,5 @@ CameraManager._AUTOFOCUS_CONSTANTS = {
|
|
|
212
279
|
};
|
|
213
280
|
CameraManager._DEFAULT_AUTOFOCUS_RADIUS_FACTOR = 1;
|
|
214
281
|
CameraManager._DEFAULT_CAM_SPEED_MS = 250;
|
|
215
|
-
CameraManager._SCREENSHOT_CAMERA_NAME = '
|
|
282
|
+
CameraManager._SCREENSHOT_CAMERA_NAME = '$screenshotCamera';
|
|
216
283
|
//# sourceMappingURL=camera-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera-manager.js","sourceRoot":"","sources":["../../../src/manager/camera-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"camera-manager.js","sourceRoot":"","sources":["../../../src/manager/camera-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ export declare class DebugManager {
|
|
|
31
31
|
hideCoordinateSystem(): void;
|
|
32
32
|
/**
|
|
33
33
|
* Draws a wireframe bounding sphere on the next call of {@link CameraManager.autofocusActiveCamera}.\
|
|
34
|
-
* This is
|
|
34
|
+
* This is useful for checking which parts of the scene get centered.
|
|
35
35
|
*/
|
|
36
36
|
showBoundingSphereForAutofocus(): void;
|
|
37
37
|
hideBoundingSphereForAutofocus(): void;
|
|
@@ -104,7 +104,7 @@ The inspector can only be used in development builds.`);
|
|
|
104
104
|
showCoordinateSystem(node, size) {
|
|
105
105
|
// calculate the default size of not provided
|
|
106
106
|
if (!size) {
|
|
107
|
-
const sceneBoundingInfo = this.viewer.calculateBoundingInfo();
|
|
107
|
+
const sceneBoundingInfo = this.viewer.sceneManager.calculateBoundingInfo();
|
|
108
108
|
const radius = sceneBoundingInfo.boundingSphere.radius;
|
|
109
109
|
// takes a third of the radius from scene boundingsphere
|
|
110
110
|
size = radius * (1 / 3);
|
|
@@ -149,7 +149,7 @@ The inspector can only be used in development builds.`);
|
|
|
149
149
|
}
|
|
150
150
|
/**
|
|
151
151
|
* Draws a wireframe bounding sphere on the next call of {@link CameraManager.autofocusActiveCamera}.\
|
|
152
|
-
* This is
|
|
152
|
+
* This is useful for checking which parts of the scene get centered.
|
|
153
153
|
*/
|
|
154
154
|
showBoundingSphereForAutofocus() {
|
|
155
155
|
this._showBoundingSphereForAutofocus = true;
|
|
@@ -231,5 +231,5 @@ The inspector can only be used in development builds.`);
|
|
|
231
231
|
}
|
|
232
232
|
}
|
|
233
233
|
exports.DebugManager = DebugManager;
|
|
234
|
-
DebugManager._BOUNDING_SPHERE_KEY = '
|
|
234
|
+
DebugManager._BOUNDING_SPHERE_KEY = '$boundingSphere';
|
|
235
235
|
//# sourceMappingURL=debug-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-manager.js","sourceRoot":"","sources":["../../../src/manager/debug-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAgBkB;AAElB;;GAEG;AACH,MAAa,YAAY;IAMvB,gBAAgB;IAChB,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAJjC,gBAAW,GAAsB,IAAI,CAAC;QACtC,oCAA+B,GAAY,KAAK,CAAC;IAGb,CAAC;IAE/C;;;OAGG;IACI,8BAA8B;QACnC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,mBAAW,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE,CAChF,IAAI,CAAC,+BAA+B,CAAC,cAAc,CAAC,CACrD,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACU,aAAa,CAAC,OAA2B;;YACpD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;gBAC1C,MAAM,UAAU,GAAG,wDAAa,kCAAkC,CAAC,sBAAsB,GAAC,CAAC;gBAE3F,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,EAAE;oBAC1B,uDAAuD;oBACvD,mGAAmG;oBACnG,mFAAmF;oBACnF,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,mCAAmC,EAAE,CAAC;oBAC3F,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;iBAC5E;qBAAM;oBACL,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,CAAC;iBAC7D;gBAED,sFAAsF;gBACtF,0DAA0D;gBAC1D,wDAAa,8CAA8C,CAAC,wBAAwB,GAAC,CAAC;gBACtF,wDAAa,8CAA8C,CAAC,iCAAiC,GAAC,CAAC;gBAE/F,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,oEAAoE;gBACpE,IAAI,MAAM,CAAC,GAAG,EAAE;oBACd,OAAO,CAAC,IAAI,CAAC;;yFAEoE,CAAC,CAAC;iBACpF;qBAAM;oBACL,OAAO,CAAC,IAAI,CAAC;sDACiC,CAAC,CAAC;iBACjD;gBAED,OAAO,KAAK,CAAC;aACd;QACH,CAAC;KAAA;IAEM,aAAa;;QAClB,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,0CAAE,IAAI,EAAE,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACI,oBAAoB,CAAC,IAAoB,EAAE,IAAa;QAC7D,6CAA6C;QAC7C,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"debug-manager.js","sourceRoot":"","sources":["../../../src/manager/debug-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { Color3, LinesMesh, TransformNode, Vector3, Viewer } from '../index';
|
|
2
|
+
/**
|
|
3
|
+
* General options that are used for each dimension line
|
|
4
|
+
*/
|
|
5
|
+
export declare type DefaultDimensionLineOptions = {
|
|
6
|
+
/**
|
|
7
|
+
* Default: `Color3.Black()`
|
|
8
|
+
*/
|
|
9
|
+
lineColor: Color3;
|
|
10
|
+
/**
|
|
11
|
+
* Default: 50mm
|
|
12
|
+
*/
|
|
13
|
+
closingLineHeight: number;
|
|
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
|
|
44
|
+
*
|
|
45
|
+
* Default: black
|
|
46
|
+
*/
|
|
47
|
+
borderColor: string;
|
|
48
|
+
/**
|
|
49
|
+
* Background color of dimension label
|
|
50
|
+
*
|
|
51
|
+
* Default: white
|
|
52
|
+
*/
|
|
53
|
+
backgroundColor: string;
|
|
54
|
+
/**
|
|
55
|
+
* `true`: html elements can be occluded by other meshes
|
|
56
|
+
* `false`: html elements will always be shown in front of the scene
|
|
57
|
+
*
|
|
58
|
+
* Default: `false`
|
|
59
|
+
*/
|
|
60
|
+
hideIfOccluded?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* `true`: html element size is relative to camera distance, just like a "normal" 3d object
|
|
63
|
+
* `false`: html element size remains constant
|
|
64
|
+
*
|
|
65
|
+
* Default: `false`
|
|
66
|
+
*/
|
|
67
|
+
scaleWithCameraDistance?: boolean;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Specific options for each dimension line
|
|
71
|
+
*/
|
|
72
|
+
export declare type DimensionLineOptions = Partial<DefaultDimensionLineOptions> & {
|
|
73
|
+
/**
|
|
74
|
+
* Optional parent node of dimension line group, can be used for easier calculation of start and end point
|
|
75
|
+
*
|
|
76
|
+
* Default: no parent node set
|
|
77
|
+
*/
|
|
78
|
+
parentNode?: TransformNode;
|
|
79
|
+
/**
|
|
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")
|
|
91
|
+
*/
|
|
92
|
+
labelText?: string;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Manager for dimension lines, which can be used to display certain dimensions like object sizes in the scene
|
|
96
|
+
*/
|
|
97
|
+
export declare class DimensionLineManager {
|
|
98
|
+
protected viewer: Viewer;
|
|
99
|
+
static readonly DIMENSION_LINE_KEY = "$dimLine";
|
|
100
|
+
protected _defaultLineOptions: DefaultDimensionLineOptions;
|
|
101
|
+
protected _dimensionLineObjs: {
|
|
102
|
+
[name: string]: {
|
|
103
|
+
linesMesh: LinesMesh;
|
|
104
|
+
htmlLabelName: string;
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
/** @internal */
|
|
108
|
+
constructor(viewer: Viewer);
|
|
109
|
+
/**
|
|
110
|
+
* Define dimension line options that are used for each line by default.\
|
|
111
|
+
* Options can be overwritten by each line individually.
|
|
112
|
+
*/
|
|
113
|
+
setDefaultDimensionLineOptions(defaultLineOptions: Partial<DefaultDimensionLineOptions>): void;
|
|
114
|
+
/**
|
|
115
|
+
* Create dimension line between two points
|
|
116
|
+
*/
|
|
117
|
+
addDimensionLine(name: string, startPoint: Vector3, endPoint: Vector3, options?: DimensionLineOptions): void;
|
|
118
|
+
/**
|
|
119
|
+
* Remove dimension line and disposes all associated ressources
|
|
120
|
+
*/
|
|
121
|
+
removeDimensionLine(name: string): void;
|
|
122
|
+
/**
|
|
123
|
+
* Remove all dimension lines that have been created with the `DimensionLineManager`
|
|
124
|
+
*/
|
|
125
|
+
removeAllDimensionLines(): void;
|
|
126
|
+
}
|
|
@@ -0,0 +1,138 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.DimensionLineManager = void 0;
|
|
15
|
+
const index_1 = require("../index");
|
|
16
|
+
const lodash_es_1 = require("lodash-es");
|
|
17
|
+
/**
|
|
18
|
+
* Manager for dimension lines, which can be used to display certain dimensions like object sizes in the scene
|
|
19
|
+
*/
|
|
20
|
+
class DimensionLineManager {
|
|
21
|
+
/** @internal */
|
|
22
|
+
constructor(viewer) {
|
|
23
|
+
this.viewer = viewer;
|
|
24
|
+
this._defaultLineOptions = {
|
|
25
|
+
lineColor: index_1.Color3.Black(),
|
|
26
|
+
closingLineHeight: 50,
|
|
27
|
+
labelHeight: 24,
|
|
28
|
+
fontFamily: 'Arial',
|
|
29
|
+
textColor: 'black',
|
|
30
|
+
borderColor: 'black',
|
|
31
|
+
backgroundColor: 'white',
|
|
32
|
+
hideIfOccluded: false,
|
|
33
|
+
scaleWithCameraDistance: false,
|
|
34
|
+
};
|
|
35
|
+
// map with all dimension lines that are currently visible in the scene
|
|
36
|
+
// holds data of all disposable objects for a clean up
|
|
37
|
+
this._dimensionLineObjs = {};
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Define dimension line options that are used for each line by default.\
|
|
41
|
+
* Options can be overwritten by each line individually.
|
|
42
|
+
*/
|
|
43
|
+
setDefaultDimensionLineOptions(defaultLineOptions) {
|
|
44
|
+
(0, lodash_es_1.merge)(this._defaultLineOptions, defaultLineOptions);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Create dimension line between two points
|
|
48
|
+
*/
|
|
49
|
+
addDimensionLine(name, startPoint, endPoint, options) {
|
|
50
|
+
if (this._dimensionLineObjs[name]) {
|
|
51
|
+
console.warn(`Dimension line "${name}" already exists`);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const _a = options !== null && options !== void 0 ? options : {}, { parentNode, closingLineDirection: closingLineDirectionIn, labelText: labelTextIn } = _a, inputDefaultOptions = __rest(_a, ["parentNode", "closingLineDirection", "labelText"]);
|
|
55
|
+
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;
|
|
58
|
+
let closingLineDirection = closingLineDirectionIn;
|
|
59
|
+
if (!closingLineDirection) {
|
|
60
|
+
// evaluate closing line direction if not given
|
|
61
|
+
const normal = endPoint.subtract(startPoint);
|
|
62
|
+
const yIsMainDirection = Math.abs(normal.y) > Math.abs(normal.x) && Math.abs(normal.y) > Math.abs(normal.z);
|
|
63
|
+
closingLineDirection = yIsMainDirection ? index_1.Vector3.Right() : index_1.Vector3.Up();
|
|
64
|
+
}
|
|
65
|
+
// calculate and create main and closing lines
|
|
66
|
+
const lineCenter = index_1.Vector3.Center(startPoint, endPoint);
|
|
67
|
+
const relStartPt = startPoint.subtract(lineCenter);
|
|
68
|
+
const relEndPt = endPoint.subtract(lineCenter);
|
|
69
|
+
const closingLineOffsetVector = closingLineDirection.normalizeToNew().scale(closingLineHeight / 2 / 1000);
|
|
70
|
+
const closingLineStartPts = [relStartPt.add(closingLineOffsetVector), relStartPt.subtract(closingLineOffsetVector)];
|
|
71
|
+
const closingLineEndPts = [relEndPt.add(closingLineOffsetVector), relEndPt.subtract(closingLineOffsetVector)];
|
|
72
|
+
const linesMesh = index_1.MeshBuilder.CreateLineSystem(`${DimensionLineManager.DIMENSION_LINE_KEY}_${name}`, {
|
|
73
|
+
lines: [[relStartPt, relEndPt], closingLineStartPts, closingLineEndPts],
|
|
74
|
+
});
|
|
75
|
+
linesMesh.position = lineCenter;
|
|
76
|
+
linesMesh.color = lineColor;
|
|
77
|
+
// rendering group id 1 reserved for html anchor meshes, which are required for occlusion checking
|
|
78
|
+
linesMesh.renderingGroupId = hideIfOccluded ? 0 : 2;
|
|
79
|
+
// tag can be used to exclude dimension lines from autofocus or gltf export
|
|
80
|
+
index_1.Tags.AddTagsTo(linesMesh, DimensionLineManager.DIMENSION_LINE_KEY);
|
|
81
|
+
if (parentNode) {
|
|
82
|
+
linesMesh.parent = parentNode;
|
|
83
|
+
}
|
|
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
|
+
}
|
|
91
|
+
// create default html element
|
|
92
|
+
const span = document.createElement('span');
|
|
93
|
+
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;
|
|
105
|
+
const htmlLabelName = `${DimensionLineManager.DIMENSION_LINE_KEY}_${name}`;
|
|
106
|
+
this.viewer.htmlAnchorManager.addHtmlAnchor(name, span, index_1.Vector3.Zero(), {
|
|
107
|
+
parentNode: linesMesh,
|
|
108
|
+
group: DimensionLineManager.DIMENSION_LINE_KEY,
|
|
109
|
+
hideIfOccluded,
|
|
110
|
+
scaleWithCameraDistance,
|
|
111
|
+
});
|
|
112
|
+
this._dimensionLineObjs[name] = { linesMesh, htmlLabelName };
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Remove dimension line and disposes all associated ressources
|
|
116
|
+
*/
|
|
117
|
+
removeDimensionLine(name) {
|
|
118
|
+
const dimensionLine = this._dimensionLineObjs[name];
|
|
119
|
+
if (!dimensionLine) {
|
|
120
|
+
console.warn(`Dimension line "${name}" does not exist`);
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
this.viewer.htmlAnchorManager.removeHtmlAnchor(name);
|
|
124
|
+
dimensionLine.linesMesh.dispose(false, true);
|
|
125
|
+
delete this._dimensionLineObjs[name];
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Remove all dimension lines that have been created with the `DimensionLineManager`
|
|
129
|
+
*/
|
|
130
|
+
removeAllDimensionLines() {
|
|
131
|
+
Object.keys(this._dimensionLineObjs).forEach(dimLineName => {
|
|
132
|
+
this.removeDimensionLine(dimLineName);
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
exports.DimensionLineManager = DimensionLineManager;
|
|
137
|
+
DimensionLineManager.DIMENSION_LINE_KEY = '$dimLine';
|
|
138
|
+
//# sourceMappingURL=dimension-line-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dimension-line-manager.js","sourceRoot":"","sources":["../../../src/manager/dimension-line-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { AbstractMesh, ArcRotateCamera, Camera, ScreenshotSize, StandardMaterial, TransformNode, Vector3, Viewer } from '..';
|
|
2
|
+
export declare type HtmlAnchorOptions = {
|
|
3
|
+
/**
|
|
4
|
+
* Associated anchor mesh will be created underneath this parent node.\
|
|
5
|
+
* Can be used to make anchor position calculation easier in nested scene structures.
|
|
6
|
+
*/
|
|
7
|
+
parentNode?: TransformNode;
|
|
8
|
+
/**
|
|
9
|
+
* Can be used to filter affected html anchors in {@link HtmlAnchorManager.removeAllHtmlAnchors}
|
|
10
|
+
*/
|
|
11
|
+
group?: string;
|
|
12
|
+
/**
|
|
13
|
+
* `true`: html elements can be occluded by other meshes
|
|
14
|
+
* `false`: html elements will always be shown in front of the scene
|
|
15
|
+
*
|
|
16
|
+
* Default: `false`
|
|
17
|
+
*/
|
|
18
|
+
hideIfOccluded?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* `true`: html element size is relative to camera distance, just like a "normal" 3d object
|
|
21
|
+
* `false`: html element size remains constant
|
|
22
|
+
*
|
|
23
|
+
* Default: `false`
|
|
24
|
+
*/
|
|
25
|
+
scaleWithCameraDistance?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Activates/deactivates `pointer-events` CSS class of anchor element.\
|
|
28
|
+
* Set this to `true` if the html element should be interactive (e.g. button)
|
|
29
|
+
*
|
|
30
|
+
* Default: `false`
|
|
31
|
+
*/
|
|
32
|
+
enablePointerEvents?: boolean;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Manager for mapping html elements to 3d positions in the scene.\
|
|
36
|
+
* Common use cases are:
|
|
37
|
+
* - **Hotspot buttons**: Interactively add/remove elements in the scene or just show some info on hovering
|
|
38
|
+
* - **Input fields**: Interactively change the size of an element
|
|
39
|
+
* - **Info label**: Just shows some information on a certain position within the scene
|
|
40
|
+
*
|
|
41
|
+
* Html anchors are also used as dimension lables in the {@link DimensionLineManager}
|
|
42
|
+
*/
|
|
43
|
+
export declare class HtmlAnchorManager {
|
|
44
|
+
protected viewer: Viewer;
|
|
45
|
+
protected static readonly _HTML_ANCHOR_KEY = "$htmlAnchor";
|
|
46
|
+
protected _htmlAnchors: {
|
|
47
|
+
[name: string]: {
|
|
48
|
+
parentHtmlElement: HTMLDivElement;
|
|
49
|
+
anchorMesh: AbstractMesh;
|
|
50
|
+
options?: HtmlAnchorOptions;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
protected _anchorMeshMaterial: StandardMaterial | null;
|
|
54
|
+
/** @internal */
|
|
55
|
+
constructor(viewer: Viewer);
|
|
56
|
+
/**
|
|
57
|
+
* Assign a html element to a certain position in the scene.\
|
|
58
|
+
* The html elements 2d position will be updated on each camera render, so that the element appears like a "normal"
|
|
59
|
+
* mesh within the scene.
|
|
60
|
+
*/
|
|
61
|
+
addHtmlAnchor(name: string, htmlElement: HTMLElement, position: Vector3, options?: HtmlAnchorOptions): void;
|
|
62
|
+
/**
|
|
63
|
+
* Remove html anchor element and disposes all associated ressources
|
|
64
|
+
*/
|
|
65
|
+
removeHtmlAnchor(name: string): void;
|
|
66
|
+
/**
|
|
67
|
+
* Removes html anchor elements, as defined by the `groups` input
|
|
68
|
+
*
|
|
69
|
+
* @param groups if set, only html anchors which are part of these groups will be removed\
|
|
70
|
+
* if left `undefined`, ALL html anchors will be removed
|
|
71
|
+
*/
|
|
72
|
+
removeAllHtmlAnchors(groups?: string[]): void;
|
|
73
|
+
/**
|
|
74
|
+
* Creates a screenshot of defined html anchors and returns the associated canvas.\
|
|
75
|
+
* This function is used @internal from the main screenshot function.
|
|
76
|
+
*/
|
|
77
|
+
createScreenshotCanvas(size: ScreenshotSize, camera: ArcRotateCamera, htmlAnchorKeys: string[]): Promise<HTMLCanvasElement>;
|
|
78
|
+
/**
|
|
79
|
+
* Receive html anchor keys that pass the `includeGroups` and `excludeGroups` filter
|
|
80
|
+
* @param allowSystemGroups defines if html anchors created by the viewer should be considered (e.g. dimension line
|
|
81
|
+
* labels)
|
|
82
|
+
* @internal
|
|
83
|
+
*/
|
|
84
|
+
getHtmlAnchorKeys(includeGroups?: string[], excludeGroups?: string[], allowSystemGroups?: boolean): string[];
|
|
85
|
+
/**
|
|
86
|
+
* Check if input mesh is a html anchor mesh, created by this manager.\
|
|
87
|
+
* This check is done via the material, as all html anchor meshes have the generic `_anchorMeshMaterial` set.
|
|
88
|
+
* @internal
|
|
89
|
+
*/
|
|
90
|
+
isHtmlAnchorMesh(mesh: AbstractMesh): boolean;
|
|
91
|
+
protected _updateHtmlAnchor(parentHtmlElement: HTMLDivElement, anchorMesh: AbstractMesh, camera: Camera, width: number, height: number, baseScale: number, options?: HtmlAnchorOptions): void;
|
|
92
|
+
protected _getOrCreateAnchorMeshMaterial(): StandardMaterial;
|
|
93
|
+
}
|