@combeenation/3d-viewer 18.1.0 → 18.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/dist/lib-cjs/buildinfo.json +1 -1
- package/dist/lib-cjs/commonjs.tsconfig.tsbuildinfo +1 -1
- package/dist/lib-cjs/internal/cloning-helper.js.map +1 -1
- package/dist/lib-cjs/internal/geometry-helper.d.ts +1 -8
- package/dist/lib-cjs/internal/geometry-helper.js +1 -32
- package/dist/lib-cjs/internal/geometry-helper.js.map +1 -1
- package/dist/lib-cjs/internal/metadata-helper.d.ts +2 -1
- package/dist/lib-cjs/internal/metadata-helper.js.map +1 -1
- package/dist/lib-cjs/internal/node-helper.d.ts +15 -0
- package/dist/lib-cjs/internal/node-helper.js +51 -0
- package/dist/lib-cjs/internal/node-helper.js.map +1 -0
- package/dist/lib-cjs/manager/camera-manager.d.ts +5 -5
- package/dist/lib-cjs/manager/camera-manager.js +5 -7
- package/dist/lib-cjs/manager/camera-manager.js.map +1 -1
- package/dist/lib-cjs/manager/dimension-line-manager.d.ts +6 -0
- package/dist/lib-cjs/manager/dimension-line-manager.js +8 -0
- package/dist/lib-cjs/manager/dimension-line-manager.js.map +1 -1
- package/dist/lib-cjs/manager/gltf-export-manager.d.ts +11 -11
- package/dist/lib-cjs/manager/gltf-export-manager.js +29 -30
- package/dist/lib-cjs/manager/gltf-export-manager.js.map +1 -1
- package/dist/lib-cjs/manager/html-anchor-manager.d.ts +6 -6
- package/dist/lib-cjs/manager/html-anchor-manager.js +10 -8
- package/dist/lib-cjs/manager/html-anchor-manager.js.map +1 -1
- package/dist/lib-cjs/manager/parameter-manager.js +13 -4
- package/dist/lib-cjs/manager/parameter-manager.js.map +1 -1
- package/dist/lib-cjs/manager/scene-manager.d.ts +9 -9
- package/dist/lib-cjs/manager/scene-manager.js +32 -29
- package/dist/lib-cjs/manager/scene-manager.js.map +1 -1
- package/dist/lib-cjs/viewer.d.ts +4 -4
- package/dist/lib-cjs/viewer.js.map +1 -1
- package/package.json +1 -1
- package/src/internal/cloning-helper.ts +1 -1
- package/src/internal/geometry-helper.ts +0 -37
- package/src/internal/metadata-helper.ts +6 -1
- package/src/internal/node-helper.ts +73 -0
- package/src/manager/camera-manager.ts +10 -12
- package/src/manager/dimension-line-manager.ts +9 -0
- package/src/manager/gltf-export-manager.ts +31 -31
- package/src/manager/html-anchor-manager.ts +11 -9
- package/src/manager/parameter-manager.ts +13 -4
- package/src/manager/scene-manager.ts +40 -40
- package/src/viewer.ts +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloning-helper.js","sourceRoot":"","sources":["../../../src/internal/cloning-helper.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cloning-helper.js","sourceRoot":"","sources":["../../../src/internal/cloning-helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
/**
|
|
3
|
-
* Find out if a node is part of a list of excluded geometry
|
|
4
|
-
* @param node BJS node
|
|
5
|
-
* @param list list of excluded geometry
|
|
6
|
-
* @returns boolean based on whether node (or one of its parents) was found in list
|
|
7
|
-
*/
|
|
8
|
-
export declare function isNodeExcluded(nodeToCheck: TransformNode, list: ExcludedGeometryList): boolean;
|
|
1
|
+
import { InstancedMesh, Mesh, TransformNode } from '../index';
|
|
9
2
|
/**
|
|
10
3
|
* Creates a "standard" mesh from an instanced mesh, by cloning the source mesh and applying transformation data
|
|
11
4
|
*/
|
|
@@ -1,39 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resetTransformation = exports.bakeGeometryOfMesh = exports.createMeshFromInstancedMesh =
|
|
3
|
+
exports.resetTransformation = exports.bakeGeometryOfMesh = exports.createMeshFromInstancedMesh = void 0;
|
|
4
4
|
const index_1 = require("../index");
|
|
5
5
|
const metadata_helper_1 = require("./metadata-helper");
|
|
6
|
-
/**
|
|
7
|
-
* Find out if a node is part of a list of excluded geometry
|
|
8
|
-
* @param node BJS node
|
|
9
|
-
* @param list list of excluded geometry
|
|
10
|
-
* @returns boolean based on whether node (or one of its parents) was found in list
|
|
11
|
-
*/
|
|
12
|
-
function isNodeExcluded(nodeToCheck, list) {
|
|
13
|
-
// CAUTION: node has to be the same instance
|
|
14
|
-
const checkNode = (excludedNode) => excludedNode === nodeToCheck;
|
|
15
|
-
const checkTagManagerSubject = (excludedSubject) => {
|
|
16
|
-
const nameMatches = !!excludedSubject.nodeName && excludedSubject.nodeName === nodeToCheck.name;
|
|
17
|
-
const tagMatches = !!excludedSubject.tagName && index_1.Tags.MatchesQuery(nodeToCheck, excludedSubject.tagName);
|
|
18
|
-
return nameMatches || tagMatches;
|
|
19
|
-
};
|
|
20
|
-
const check = (geometryToExclude) => {
|
|
21
|
-
if (geometryToExclude instanceof index_1.TransformNode) {
|
|
22
|
-
return checkNode(geometryToExclude);
|
|
23
|
-
}
|
|
24
|
-
if (geometryToExclude.tagName || geometryToExclude.nodeName) {
|
|
25
|
-
return checkTagManagerSubject(geometryToExclude);
|
|
26
|
-
}
|
|
27
|
-
return false;
|
|
28
|
-
};
|
|
29
|
-
let isExcluded = list.some(geometryToExclude => check(geometryToExclude));
|
|
30
|
-
// consider parent as well
|
|
31
|
-
if (!isExcluded && nodeToCheck.parent instanceof index_1.TransformNode) {
|
|
32
|
-
isExcluded = isNodeExcluded(nodeToCheck.parent, list);
|
|
33
|
-
}
|
|
34
|
-
return isExcluded;
|
|
35
|
-
}
|
|
36
|
-
exports.isNodeExcluded = isNodeExcluded;
|
|
37
6
|
/**
|
|
38
7
|
* Creates a "standard" mesh from an instanced mesh, by cloning the source mesh and applying transformation data
|
|
39
8
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometry-helper.js","sourceRoot":"","sources":["../../../src/internal/geometry-helper.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"geometry-helper.js","sourceRoot":"","sources":["../../../src/internal/geometry-helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ declare type MetadataValueMap = {
|
|
|
8
8
|
exchangeMaterialWith: number;
|
|
9
9
|
cloneSource: number;
|
|
10
10
|
cloneTarget: number;
|
|
11
|
+
isHtmlAnchorMesh: boolean;
|
|
11
12
|
};
|
|
12
13
|
declare type MetadataKeys = keyof MetadataValueMap;
|
|
13
14
|
/**
|
|
@@ -18,7 +19,7 @@ declare type MetadataKeys = keyof MetadataValueMap;
|
|
|
18
19
|
*/
|
|
19
20
|
export declare function setInternalMetadataValue<K extends MetadataKeys>(object: MetadataTarget, key: K, value: MetadataValueMap[K]): void;
|
|
20
21
|
export declare function clearInternalMetadataValue(object: MetadataTarget, key: MetadataKeys): void;
|
|
21
|
-
export declare function getInternalMetadataValue<K extends MetadataKeys>(object: MetadataTarget, key: K): MetadataValueMap[K];
|
|
22
|
+
export declare function getInternalMetadataValue<K extends MetadataKeys>(object: MetadataTarget, key: K): MetadataValueMap[K] | undefined;
|
|
22
23
|
/**
|
|
23
24
|
* This only creates a (shallow) clone of the CBN internal metadata, as we need to have individual metadata for our
|
|
24
25
|
* viewer state handling in each node.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-helper.js","sourceRoot":"","sources":["../../../src/internal/metadata-helper.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"metadata-helper.js","sourceRoot":"","sources":["../../../src/internal/metadata-helper.ts"],"names":[],"mappings":";;;AAwBA;;;;;GAKG;AACH,SAAgB,wBAAwB,CACtC,MAAsB,EACtB,GAAM,EACN,KAA0B;IAE1B,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE;QAC7B,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC/B;IACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE;QACjC,MAAM,CAAC,iBAAiB,CAAC,GAAG,GAAG,EAAE,CAAC;KACnC;IAED,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC5C,CAAC;AAbD,4DAaC;AAED,SAAgB,0BAA0B,CAAC,MAAsB,EAAE,GAAiB;;IAC3E,MAAA,MAAA,MAAM,CAAC,iBAAiB,0CAAE,GAAG,+CAAG,GAAG,CAAC,CAAC;AAC9C,CAAC;AAFD,gEAEC;AAED,SAAgB,wBAAwB,CACtC,MAAsB,EACtB,GAAM;;IAEN,OAAO,MAAA,MAAA,MAAM,CAAC,iBAAiB,0CAAE,GAAG,0CAAG,GAAG,CAAC,CAAC;AAC9C,CAAC;AALD,4DAKC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,YAA4B,EAAE,YAA4B;;IAC9F,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE;QACnC,OAAO,YAAY,CAAC,iBAAiB,CAAC;KACvC;SAAM;QACL,gEAAgE;QAChE,YAAY,CAAC,iBAAiB,qBAAQ,YAAY,CAAC,iBAAiB,CAAE,CAAC;QACvE,IAAI,MAAA,YAAY,CAAC,iBAAiB,0CAAE,GAAG,EAAE;YACvC,2CAA2C;YAC3C,YAAY,CAAC,iBAAiB,CAAC,GAAG,qBAAQ,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAE,CAAC;SAChF;KACF;AACH,CAAC;AAXD,sDAWC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ParameterSubject, TransformNode } from '..';
|
|
2
|
+
declare type NodeCheckCriteria = {
|
|
3
|
+
isInList?: (TransformNode | ParameterSubject)[];
|
|
4
|
+
isDisabled?: boolean;
|
|
5
|
+
hasInvalidBoundingInfo?: boolean;
|
|
6
|
+
hasInfiniteDistance?: boolean;
|
|
7
|
+
isGeneratedBackgroundMesh?: boolean;
|
|
8
|
+
isHtmlAnchorMesh?: boolean;
|
|
9
|
+
isDimensionLine?: boolean;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Checks if transform node matches any of the given criterias.
|
|
13
|
+
*/
|
|
14
|
+
export declare function nodeMatchesAnyCriteria(nodeToCheck: TransformNode, criteria: NodeCheckCriteria): boolean;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.nodeMatchesAnyCriteria = void 0;
|
|
4
|
+
const __1 = require("..");
|
|
5
|
+
const _DEFAULT_BACKGROUND_PARENT_NAME = 'BackgroundHelper';
|
|
6
|
+
/**
|
|
7
|
+
* Checks if transform node matches any of the given criterias.
|
|
8
|
+
*/
|
|
9
|
+
function nodeMatchesAnyCriteria(nodeToCheck, criteria) {
|
|
10
|
+
const { isInList, isDisabled, hasInvalidBoundingInfo, hasInfiniteDistance, isGeneratedBackgroundMesh, isHtmlAnchorMesh, isDimensionLine, } = criteria !== null && criteria !== void 0 ? criteria : {};
|
|
11
|
+
const matchesIsInList = (isInList !== null && isInList !== void 0 ? isInList : []).some(geometryToExclude => {
|
|
12
|
+
if (geometryToExclude instanceof __1.TransformNode) {
|
|
13
|
+
// CAUTION: node has to be the same instance
|
|
14
|
+
return geometryToExclude === nodeToCheck;
|
|
15
|
+
}
|
|
16
|
+
if (geometryToExclude.tagName || geometryToExclude.nodeName) {
|
|
17
|
+
const nameMatches = !!geometryToExclude.nodeName && geometryToExclude.nodeName === nodeToCheck.name;
|
|
18
|
+
const tagMatches = !!geometryToExclude.tagName && __1.Tags.MatchesQuery(nodeToCheck, geometryToExclude.tagName);
|
|
19
|
+
return nameMatches || tagMatches;
|
|
20
|
+
}
|
|
21
|
+
return false;
|
|
22
|
+
});
|
|
23
|
+
const isMesh = nodeToCheck instanceof __1.AbstractMesh;
|
|
24
|
+
const matchesIsDisabled = !!isDisabled && !nodeToCheck.isEnabled(false);
|
|
25
|
+
const matchesHasInvalidBoundingInfo = !!hasInvalidBoundingInfo && isMesh && nodeToCheck.getBoundingInfo().boundingSphere.radius === 0;
|
|
26
|
+
const matchesHasInfiniteDistance = !!hasInfiniteDistance && nodeToCheck.infiniteDistance;
|
|
27
|
+
// this targets generated ground and skybox meshes from `scene.createDefaultEnvironment`, as they are located
|
|
28
|
+
// underneath `BackgroundHelper`
|
|
29
|
+
const matchesIsGeneratedBackgroundMesh = !!isGeneratedBackgroundMesh && nodeToCheck.name === _DEFAULT_BACKGROUND_PARENT_NAME;
|
|
30
|
+
const matchesIsHtmlAnchorMesh = !!isHtmlAnchorMesh && __1.HtmlAnchorManager.isHtmlAnchorMesh(nodeToCheck);
|
|
31
|
+
const matchesIsDimensionLine = !!isDimensionLine && __1.DimensionLineManager.isDimensionLineMesh(nodeToCheck);
|
|
32
|
+
let matchesAnyCriteria = matchesIsInList ||
|
|
33
|
+
matchesIsDisabled ||
|
|
34
|
+
matchesHasInvalidBoundingInfo ||
|
|
35
|
+
matchesHasInfiniteDistance ||
|
|
36
|
+
matchesIsGeneratedBackgroundMesh ||
|
|
37
|
+
matchesIsHtmlAnchorMesh ||
|
|
38
|
+
matchesIsDimensionLine;
|
|
39
|
+
// consider parent as well, BUT ONLY for list and disabled state, as the other criterias have nothing to do with a
|
|
40
|
+
// child-parent relation
|
|
41
|
+
if (!matchesAnyCriteria && nodeToCheck.parent instanceof __1.TransformNode) {
|
|
42
|
+
matchesAnyCriteria = nodeMatchesAnyCriteria(nodeToCheck.parent, {
|
|
43
|
+
isInList,
|
|
44
|
+
isDisabled,
|
|
45
|
+
isGeneratedBackgroundMesh,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return matchesAnyCriteria;
|
|
49
|
+
}
|
|
50
|
+
exports.nodeMatchesAnyCriteria = nodeMatchesAnyCriteria;
|
|
51
|
+
//# sourceMappingURL=node-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-helper.js","sourceRoot":"","sources":["../../../src/internal/node-helper.ts"],"names":[],"mappings":";;;AAAA,0BAAkH;AAYlH,MAAM,+BAA+B,GAAG,kBAAkB,CAAC;AAE3D;;GAEG;AACH,SAAgB,sBAAsB,CAAC,WAA0B,EAAE,QAA2B;IAC5F,MAAM,EACJ,QAAQ,EACR,UAAU,EACV,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,eAAe,GAChB,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC;IAEnB,MAAM,eAAe,GAAG,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;QAChE,IAAI,iBAAiB,YAAY,iBAAa,EAAE;YAC9C,4CAA4C;YAC5C,OAAO,iBAAiB,KAAK,WAAW,CAAC;SAC1C;QACD,IAAI,iBAAiB,CAAC,OAAO,IAAI,iBAAiB,CAAC,QAAQ,EAAE;YAC3D,MAAM,WAAW,GAAG,CAAC,CAAC,iBAAiB,CAAC,QAAQ,IAAI,iBAAiB,CAAC,QAAQ,KAAK,WAAW,CAAC,IAAI,CAAC;YACpG,MAAM,UAAU,GAAG,CAAC,CAAC,iBAAiB,CAAC,OAAO,IAAI,QAAI,CAAC,YAAY,CAAC,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC5G,OAAO,WAAW,IAAI,UAAU,CAAC;SAClC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,WAAW,YAAY,gBAAY,CAAC;IACnD,MAAM,iBAAiB,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACxE,MAAM,6BAA6B,GACjC,CAAC,CAAC,sBAAsB,IAAI,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC;IAClG,MAAM,0BAA0B,GAAG,CAAC,CAAC,mBAAmB,IAAI,WAAW,CAAC,gBAAgB,CAAC;IACzF,6GAA6G;IAC7G,gCAAgC;IAChC,MAAM,gCAAgC,GACpC,CAAC,CAAC,yBAAyB,IAAI,WAAW,CAAC,IAAI,KAAK,+BAA+B,CAAC;IACtF,MAAM,uBAAuB,GAAG,CAAC,CAAC,gBAAgB,IAAI,qBAAiB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACtG,MAAM,sBAAsB,GAAG,CAAC,CAAC,eAAe,IAAI,wBAAoB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAE1G,IAAI,kBAAkB,GACpB,eAAe;QACf,iBAAiB;QACjB,6BAA6B;QAC7B,0BAA0B;QAC1B,gCAAgC;QAChC,uBAAuB;QACvB,sBAAsB,CAAC;IACzB,kHAAkH;IAClH,wBAAwB;IACxB,IAAI,CAAC,kBAAkB,IAAI,WAAW,CAAC,MAAM,YAAY,iBAAa,EAAE;QACtE,kBAAkB,GAAG,sBAAsB,CAAC,WAAW,CAAC,MAAM,EAAE;YAC9D,QAAQ;YACR,UAAU;YACV,yBAAyB;SAC1B,CAAC,CAAC;KACJ;IAED,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAvDD,wDAuDC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnimationGroup, ArcRotateCamera, BoundingSphere,
|
|
1
|
+
import { AnimationGroup, ArcRotateCamera, BoundingSphere, NodeDescription, Vector3, Viewer } from '../index';
|
|
2
2
|
export declare type CameraPosition = {
|
|
3
3
|
alpha: number;
|
|
4
4
|
beta: number;
|
|
@@ -15,8 +15,8 @@ export declare type AutofocusSettings = {
|
|
|
15
15
|
alpha?: number;
|
|
16
16
|
/** Desired vertical camera angle, this won't be overwritten by the autofocus function */
|
|
17
17
|
beta?: number;
|
|
18
|
-
/** Optional list of
|
|
19
|
-
|
|
18
|
+
/** Optional list of nodes to be excluded from camera distance calculation for autofocusing */
|
|
19
|
+
excludeNodes?: NodeDescription[];
|
|
20
20
|
durationMs?: number;
|
|
21
21
|
};
|
|
22
22
|
export declare type ScreenshotSettings = {
|
|
@@ -45,8 +45,8 @@ export declare type ScreenshotSettings = {
|
|
|
45
45
|
/** Can be used to automatically calculate camera `radius` and `target`, if these 2 settings are not defined
|
|
46
46
|
* explicitely */
|
|
47
47
|
autofocusScene?: boolean;
|
|
48
|
-
/** Optional list of
|
|
49
|
-
|
|
48
|
+
/** Optional list of nodes to be excluded from screenshot */
|
|
49
|
+
excludeNodes?: NodeDescription[];
|
|
50
50
|
/**
|
|
51
51
|
* Optional list of html anchor groups (see {@link HtmlAnchorManager}), that should be excluded from the screenshot.\
|
|
52
52
|
* Excludes ALL html anchor groups if set to `true`.
|
|
@@ -11,7 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.CameraManager = void 0;
|
|
13
13
|
const index_1 = require("../index");
|
|
14
|
-
const
|
|
14
|
+
const node_helper_1 = require("../internal/node-helper");
|
|
15
15
|
const screenshot_helper_1 = require("../internal/screenshot-helper");
|
|
16
16
|
/**
|
|
17
17
|
* Manager for camera related tasks
|
|
@@ -35,7 +35,7 @@ class CameraManager {
|
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
37
|
// get bounding box of all visible meshes, this is the base for the autofocus algorithm
|
|
38
|
-
const boundingInfo = this.viewer.sceneManager.calculateBoundingInfo(settings === null || settings === void 0 ? void 0 : settings.
|
|
38
|
+
const boundingInfo = this.viewer.sceneManager.calculateBoundingInfo(settings === null || settings === void 0 ? void 0 : settings.excludeNodes);
|
|
39
39
|
// optionally show bounding sphere for debugging purpose
|
|
40
40
|
this.viewer.eventManager.fireEvent(index_1.ViewerEvent.AutofocusStart, boundingInfo.boundingSphere);
|
|
41
41
|
const distance = this._getAutofocusZoomingDistance(boundingInfo.boundingSphere, activeCamera);
|
|
@@ -129,9 +129,9 @@ class CameraManager {
|
|
|
129
129
|
createScreenshot(settings) {
|
|
130
130
|
var _a, _b, _c;
|
|
131
131
|
return __awaiter(this, void 0, void 0, function* () {
|
|
132
|
-
const { width, height, alpha, beta, radius, target, autofocusScene,
|
|
132
|
+
const { width, height, alpha, beta, radius, target, autofocusScene, excludeNodes, excludeHtmlAnchorGroups, cropTransparentArea, fileName, samples, antialiasing, renderSprites, enableStencilBuffer, useLayerMask, quality, } = settings !== null && settings !== void 0 ? settings : {};
|
|
133
133
|
const screenshotCam = (_a = this.viewer.scene.activeCamera) === null || _a === void 0 ? void 0 : _a.clone(CameraManager._SCREENSHOT_CAMERA_NAME);
|
|
134
|
-
const boundingInfo = autofocusScene ? this.viewer.sceneManager.calculateBoundingInfo(
|
|
134
|
+
const boundingInfo = autofocusScene ? this.viewer.sceneManager.calculateBoundingInfo(excludeNodes) : undefined;
|
|
135
135
|
if (alpha !== undefined) {
|
|
136
136
|
screenshotCam.alpha = alpha;
|
|
137
137
|
}
|
|
@@ -161,9 +161,7 @@ class CameraManager {
|
|
|
161
161
|
const imageStr3d = yield index_1.ScreenshotTools.CreateScreenshotUsingRenderTargetAsync(this.viewer.engine, screenshotCam, { width: screenshotSize.imageWidth, height: screenshotSize.imageHeight }, mimeType,
|
|
162
162
|
// default to "8", since Babylon.js default "1" is really ugly
|
|
163
163
|
samples !== null && samples !== void 0 ? samples : 8, antialiasing, undefined, renderSprites, enableStencilBuffer, useLayerMask, quality, texture => {
|
|
164
|
-
|
|
165
|
-
// we'll have to wait for a fix or solve the visibility in a different way (e.g. camera layer mask)
|
|
166
|
-
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));
|
|
164
|
+
texture.renderList = this.viewer.scene.meshes.filter(mesh => !(0, node_helper_1.nodeMatchesAnyCriteria)(mesh, { isInList: excludeNodes }));
|
|
167
165
|
});
|
|
168
166
|
let imageStr = '';
|
|
169
167
|
const htmlAnchorKeys = excludeHtmlAnchorGroups === true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera-manager.js","sourceRoot":"","sources":["../../../src/manager/camera-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAYkB;AAClB,
|
|
1
|
+
{"version":3,"file":"camera-manager.js","sourceRoot":"","sources":["../../../src/manager/camera-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,12 @@ export declare class DimensionLineManager {
|
|
|
65
65
|
htmlLabelName: string;
|
|
66
66
|
};
|
|
67
67
|
};
|
|
68
|
+
/**
|
|
69
|
+
* Check if input node is a dimension line mesh, created by this manager.\
|
|
70
|
+
* Dimension lines have a dedicated tag set, which is checked here.
|
|
71
|
+
* @internal
|
|
72
|
+
*/
|
|
73
|
+
static isDimensionLineMesh(node: TransformNode): boolean;
|
|
68
74
|
/** @internal */
|
|
69
75
|
constructor(viewer: Viewer);
|
|
70
76
|
/**
|
|
@@ -25,6 +25,14 @@ class DimensionLineManager {
|
|
|
25
25
|
// holds data of all disposable objects for a clean up
|
|
26
26
|
this._dimensionLineObjs = {};
|
|
27
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Check if input node is a dimension line mesh, created by this manager.\
|
|
30
|
+
* Dimension lines have a dedicated tag set, which is checked here.
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
static isDimensionLineMesh(node) {
|
|
34
|
+
return index_1.Tags.MatchesQuery(node, DimensionLineManager.DIMENSION_LINE_KEY);
|
|
35
|
+
}
|
|
28
36
|
/**
|
|
29
37
|
* Define dimension line options that are used for each line by default.\
|
|
30
38
|
* Options can be overwritten by each line individually.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dimension-line-manager.js","sourceRoot":"","sources":["../../../src/manager/dimension-line-manager.ts"],"names":[],"mappings":";;;AAAA,oCAAgG;AAChG,yCAAkC;AAwDlC;;GAEG;AACH,MAAa,oBAAoB;
|
|
1
|
+
{"version":3,"file":"dimension-line-manager.js","sourceRoot":"","sources":["../../../src/manager/dimension-line-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IExportOptions, Material, Node, NodeDescription, TransformNode, Viewer } from '../index';
|
|
2
2
|
/**
|
|
3
3
|
* Manager for gltf export and augmented reality features
|
|
4
4
|
*/
|
|
@@ -11,11 +11,11 @@ export declare class GltfExportManager {
|
|
|
11
11
|
* stay `true` in order to make the AR export work.
|
|
12
12
|
* We could theoretically allow it if AR optimization is not desired, but this may confuse the user.
|
|
13
13
|
*/
|
|
14
|
-
protected static _gltfExportOptions(optimizeForAR: boolean,
|
|
14
|
+
protected static _gltfExportOptions(optimizeForAR: boolean, excludeNodes?: NodeDescription[]): IExportOptions;
|
|
15
15
|
/**
|
|
16
16
|
* Checks if a node should be available in the export
|
|
17
17
|
*/
|
|
18
|
-
protected static _shouldExportNode(node: Node,
|
|
18
|
+
protected static _shouldExportNode(node: Node, excludeNodes?: NodeDescription[]): boolean;
|
|
19
19
|
/**
|
|
20
20
|
* Creates a clone of the material which should be used for the export.
|
|
21
21
|
* This is mostly required for recreating textures with lower sizes.
|
|
@@ -34,30 +34,30 @@ export declare class GltfExportManager {
|
|
|
34
34
|
* @param filename Optional name of the exported .GLB file.
|
|
35
35
|
* @param optimizeForAR Adjusts the exported GLB so that known issues get automatically fixed, this
|
|
36
36
|
* is mostly targeting Apples .usdz format.
|
|
37
|
-
* @param
|
|
37
|
+
* @param excludeNodes Optional list of nodes to be excluded from the export.
|
|
38
38
|
*/
|
|
39
|
-
exportGlb(filename?: string, optimizeForAR?: boolean,
|
|
39
|
+
exportGlb(filename?: string, optimizeForAR?: boolean, excludeNodes?: NodeDescription[]): Promise<File | undefined>;
|
|
40
40
|
/**
|
|
41
41
|
* Exports selected nodes to GLTF. This may result in more than one file, since textures are exported seperately.
|
|
42
42
|
* @param filename Name of the main (text-based) .GLTF file referring to separate texture files.
|
|
43
43
|
* @param optimizeForAR Adjusts the exported GLB so that known issues get automatically fixed, this
|
|
44
44
|
* is mostly targeting Apples .usdz format.
|
|
45
|
-
* @param
|
|
45
|
+
* @param excludeNodes Optional list of nodes to be excluded from the export.
|
|
46
46
|
*/
|
|
47
|
-
exportGltfToFile(filename: string, optimizeForAR?: boolean,
|
|
47
|
+
exportGltfToFile(filename: string, optimizeForAR?: boolean, excludeNodes?: NodeDescription[]): Promise<void>;
|
|
48
48
|
/**
|
|
49
49
|
* Exports selected nodes to GLB. This results in one binary file.
|
|
50
50
|
* @param filename Name of the main (text-based) .GLTF file referring to seperate texture files.
|
|
51
51
|
* @param optimizeForAR Adjusts the exported GLB so that known issues get automatically fixed, this
|
|
52
52
|
* is mostly targeting Apples .usdz format.
|
|
53
|
-
* @param
|
|
53
|
+
* @param excludeNodes Optional list of nodes to be excluded from the export.
|
|
54
54
|
*/
|
|
55
|
-
exportGlbToFile(filename: string, optimizeForAR?: boolean,
|
|
55
|
+
exportGlbToFile(filename: string, optimizeForAR?: boolean, excludeNodes?: NodeDescription[]): Promise<void>;
|
|
56
56
|
/**
|
|
57
57
|
* Prepares scene for GLB export.
|
|
58
58
|
* This is very important for AR exports, since we have to do a lot of conversions to satisfy Apples .usdz format.
|
|
59
59
|
*/
|
|
60
|
-
protected _exportPreProcess(optimizeForAR: boolean,
|
|
60
|
+
protected _exportPreProcess(optimizeForAR: boolean, excludeNodes?: NodeDescription[]): Promise<void>;
|
|
61
61
|
/**
|
|
62
62
|
* Cleans up scene after export
|
|
63
63
|
*/
|
|
@@ -66,7 +66,7 @@ export declare class GltfExportManager {
|
|
|
66
66
|
* Creates a clone of the node which should be used for the export.
|
|
67
67
|
* Also switches to the cloned material if required.
|
|
68
68
|
*/
|
|
69
|
-
protected _prepareNodeForExport(node: Node, clonedParent: TransformNode | null,
|
|
69
|
+
protected _prepareNodeForExport(node: Node, clonedParent: TransformNode | null, excludeNodes?: NodeDescription[]): void;
|
|
70
70
|
/**
|
|
71
71
|
* Help function for receiving all nodes that are marked for the export
|
|
72
72
|
*/
|
|
@@ -13,8 +13,8 @@ exports.GltfExportManager = void 0;
|
|
|
13
13
|
const index_1 = require("../index");
|
|
14
14
|
const device_helper_1 = require("../internal/device-helper");
|
|
15
15
|
const geometry_helper_1 = require("../internal/geometry-helper");
|
|
16
|
-
const geometry_helper_2 = require("../internal/geometry-helper");
|
|
17
16
|
const metadata_helper_1 = require("../internal/metadata-helper");
|
|
17
|
+
const node_helper_1 = require("../internal/node-helper");
|
|
18
18
|
/**
|
|
19
19
|
* Manager for gltf export and augmented reality features
|
|
20
20
|
*/
|
|
@@ -31,16 +31,16 @@ class GltfExportManager {
|
|
|
31
31
|
* stay `true` in order to make the AR export work.
|
|
32
32
|
* We could theoretically allow it if AR optimization is not desired, but this may confuse the user.
|
|
33
33
|
*/
|
|
34
|
-
static _gltfExportOptions(optimizeForAR,
|
|
34
|
+
static _gltfExportOptions(optimizeForAR, excludeNodes) {
|
|
35
35
|
return {
|
|
36
36
|
shouldExportNode: function (node) {
|
|
37
37
|
if (optimizeForAR) {
|
|
38
38
|
// we explicitely marked nodes, that should be exported in AR mode
|
|
39
|
-
return (0, metadata_helper_1.getInternalMetadataValue)(node, 'exportNode');
|
|
39
|
+
return !!(0, metadata_helper_1.getInternalMetadataValue)(node, 'exportNode');
|
|
40
40
|
}
|
|
41
41
|
else {
|
|
42
42
|
// use the default export node check (enabled state, exclusion list, etc...)
|
|
43
|
-
return GltfExportManager._shouldExportNode(node,
|
|
43
|
+
return GltfExportManager._shouldExportNode(node, excludeNodes);
|
|
44
44
|
}
|
|
45
45
|
},
|
|
46
46
|
shouldExportAnimation: (animation) => !optimizeForAR,
|
|
@@ -49,18 +49,17 @@ class GltfExportManager {
|
|
|
49
49
|
/**
|
|
50
50
|
* Checks if a node should be available in the export
|
|
51
51
|
*/
|
|
52
|
-
static _shouldExportNode(node,
|
|
52
|
+
static _shouldExportNode(node, excludeNodes) {
|
|
53
53
|
if (!(node instanceof index_1.TransformNode)) {
|
|
54
54
|
return false;
|
|
55
55
|
}
|
|
56
|
-
//
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
return true;
|
|
56
|
+
// maybe add some other criterias like "hasInfiniteDistance" and "isGeneratedBackgroundMesh" here as well
|
|
57
|
+
const isExcluded = (0, node_helper_1.nodeMatchesAnyCriteria)(node, {
|
|
58
|
+
isInList: excludeNodes,
|
|
59
|
+
isDisabled: true,
|
|
60
|
+
isHtmlAnchorMesh: true,
|
|
61
|
+
});
|
|
62
|
+
return !isExcluded;
|
|
64
63
|
}
|
|
65
64
|
/**
|
|
66
65
|
* Creates a clone of the material which should be used for the export.
|
|
@@ -100,12 +99,12 @@ class GltfExportManager {
|
|
|
100
99
|
* @param filename Optional name of the exported .GLB file.
|
|
101
100
|
* @param optimizeForAR Adjusts the exported GLB so that known issues get automatically fixed, this
|
|
102
101
|
* is mostly targeting Apples .usdz format.
|
|
103
|
-
* @param
|
|
102
|
+
* @param excludeNodes Optional list of nodes to be excluded from the export.
|
|
104
103
|
*/
|
|
105
|
-
exportGlb(filename = 'glb-export.glb', optimizeForAR = false,
|
|
104
|
+
exportGlb(filename = 'glb-export.glb', optimizeForAR = false, excludeNodes) {
|
|
106
105
|
return __awaiter(this, void 0, void 0, function* () {
|
|
107
|
-
yield this._exportPreProcess(optimizeForAR,
|
|
108
|
-
const glbData = yield index_1.GLTF2Export.GLBAsync(this.viewer.scene, 'dummy', GltfExportManager._gltfExportOptions(optimizeForAR,
|
|
106
|
+
yield this._exportPreProcess(optimizeForAR, excludeNodes);
|
|
107
|
+
const glbData = yield index_1.GLTF2Export.GLBAsync(this.viewer.scene, 'dummy', GltfExportManager._gltfExportOptions(optimizeForAR, excludeNodes));
|
|
109
108
|
yield this._exportPostProcess(optimizeForAR);
|
|
110
109
|
const resBlob = glbData.glTFFiles['dummy.glb'];
|
|
111
110
|
// check if result is valid, according to the typings this could also be a string
|
|
@@ -126,12 +125,12 @@ class GltfExportManager {
|
|
|
126
125
|
* @param filename Name of the main (text-based) .GLTF file referring to separate texture files.
|
|
127
126
|
* @param optimizeForAR Adjusts the exported GLB so that known issues get automatically fixed, this
|
|
128
127
|
* is mostly targeting Apples .usdz format.
|
|
129
|
-
* @param
|
|
128
|
+
* @param excludeNodes Optional list of nodes to be excluded from the export.
|
|
130
129
|
*/
|
|
131
|
-
exportGltfToFile(filename, optimizeForAR = false,
|
|
130
|
+
exportGltfToFile(filename, optimizeForAR = false, excludeNodes) {
|
|
132
131
|
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
-
yield this._exportPreProcess(optimizeForAR,
|
|
134
|
-
const gltf = yield index_1.GLTF2Export.GLTFAsync(this.viewer.scene, filename, GltfExportManager._gltfExportOptions(optimizeForAR,
|
|
132
|
+
yield this._exportPreProcess(optimizeForAR, excludeNodes);
|
|
133
|
+
const gltf = yield index_1.GLTF2Export.GLTFAsync(this.viewer.scene, filename, GltfExportManager._gltfExportOptions(optimizeForAR, excludeNodes));
|
|
135
134
|
gltf.downloadFiles();
|
|
136
135
|
this._exportPostProcess(optimizeForAR);
|
|
137
136
|
});
|
|
@@ -141,12 +140,12 @@ class GltfExportManager {
|
|
|
141
140
|
* @param filename Name of the main (text-based) .GLTF file referring to seperate texture files.
|
|
142
141
|
* @param optimizeForAR Adjusts the exported GLB so that known issues get automatically fixed, this
|
|
143
142
|
* is mostly targeting Apples .usdz format.
|
|
144
|
-
* @param
|
|
143
|
+
* @param excludeNodes Optional list of nodes to be excluded from the export.
|
|
145
144
|
*/
|
|
146
|
-
exportGlbToFile(filename, optimizeForAR = false,
|
|
145
|
+
exportGlbToFile(filename, optimizeForAR = false, excludeNodes) {
|
|
147
146
|
return __awaiter(this, void 0, void 0, function* () {
|
|
148
|
-
yield this._exportPreProcess(optimizeForAR,
|
|
149
|
-
const glb = yield index_1.GLTF2Export.GLBAsync(this.viewer.scene, filename, GltfExportManager._gltfExportOptions(optimizeForAR,
|
|
147
|
+
yield this._exportPreProcess(optimizeForAR, excludeNodes);
|
|
148
|
+
const glb = yield index_1.GLTF2Export.GLBAsync(this.viewer.scene, filename, GltfExportManager._gltfExportOptions(optimizeForAR, excludeNodes));
|
|
150
149
|
glb.downloadFiles();
|
|
151
150
|
yield this._exportPostProcess(optimizeForAR);
|
|
152
151
|
});
|
|
@@ -155,7 +154,7 @@ class GltfExportManager {
|
|
|
155
154
|
* Prepares scene for GLB export.
|
|
156
155
|
* This is very important for AR exports, since we have to do a lot of conversions to satisfy Apples .usdz format.
|
|
157
156
|
*/
|
|
158
|
-
_exportPreProcess(optimizeForAR,
|
|
157
|
+
_exportPreProcess(optimizeForAR, excludeNodes) {
|
|
159
158
|
return __awaiter(this, void 0, void 0, function* () {
|
|
160
159
|
if (!optimizeForAR) {
|
|
161
160
|
// actually nothing to do if AR optimization is not required
|
|
@@ -185,7 +184,7 @@ class GltfExportManager {
|
|
|
185
184
|
// export
|
|
186
185
|
this.viewer.scene.rootNodes
|
|
187
186
|
// .filter(rootNode => rootNode.name !== GltfExportManager._EXPORT_ROOT_NAME)
|
|
188
|
-
.forEach(rootNode => this._prepareNodeForExport(rootNode, null,
|
|
187
|
+
.forEach(rootNode => this._prepareNodeForExport(rootNode, null, excludeNodes));
|
|
189
188
|
// bake transformation of all meshes, so that no negative scalings are left
|
|
190
189
|
// it's important that this is done AFTER instanced meshes have been converted (_prepareNodeForExport)
|
|
191
190
|
this._getNodesMarkedForExport(true).forEach(mesh => (0, geometry_helper_1.bakeGeometryOfMesh)(mesh));
|
|
@@ -224,8 +223,8 @@ class GltfExportManager {
|
|
|
224
223
|
* Creates a clone of the node which should be used for the export.
|
|
225
224
|
* Also switches to the cloned material if required.
|
|
226
225
|
*/
|
|
227
|
-
_prepareNodeForExport(node, clonedParent,
|
|
228
|
-
if (!GltfExportManager._shouldExportNode(node,
|
|
226
|
+
_prepareNodeForExport(node, clonedParent, excludeNodes) {
|
|
227
|
+
if (!GltfExportManager._shouldExportNode(node, excludeNodes)) {
|
|
229
228
|
return;
|
|
230
229
|
}
|
|
231
230
|
// from here on we only have TransformNodes
|
|
@@ -248,7 +247,7 @@ class GltfExportManager {
|
|
|
248
247
|
(0, metadata_helper_1.setInternalMetadataValue)(clonedNode, 'deleteAfterExport', true);
|
|
249
248
|
// handle children
|
|
250
249
|
const childs = transformNode.getChildTransformNodes(true);
|
|
251
|
-
childs.forEach(child => this._prepareNodeForExport(child, clonedNode,
|
|
250
|
+
childs.forEach(child => this._prepareNodeForExport(child, clonedNode, excludeNodes));
|
|
252
251
|
}
|
|
253
252
|
/**
|
|
254
253
|
* Help function for receiving all nodes that are marked for the export
|