@combeenation/3d-viewer 18.0.0-beta1 → 18.0.0-beta3

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.
Files changed (39) hide show
  1. package/dist/lib-cjs/buildinfo.json +1 -1
  2. package/dist/lib-cjs/commonjs.tsconfig.tsbuildinfo +1 -1
  3. package/dist/lib-cjs/index.d.ts +6 -0
  4. package/dist/lib-cjs/index.js +6 -0
  5. package/dist/lib-cjs/index.js.map +1 -1
  6. package/dist/lib-cjs/internal/cloning-helper.js +1 -1
  7. package/dist/lib-cjs/internal/cloning-helper.js.map +1 -1
  8. package/dist/lib-cjs/manager/camera-manager.d.ts +23 -2
  9. package/dist/lib-cjs/manager/camera-manager.js +90 -25
  10. package/dist/lib-cjs/manager/camera-manager.js.map +1 -1
  11. package/dist/lib-cjs/manager/debug-manager.d.ts +1 -1
  12. package/dist/lib-cjs/manager/debug-manager.js +2 -2
  13. package/dist/lib-cjs/manager/debug-manager.js.map +1 -1
  14. package/dist/lib-cjs/manager/dimension-line-manager.d.ts +87 -0
  15. package/dist/lib-cjs/manager/dimension-line-manager.js +126 -0
  16. package/dist/lib-cjs/manager/dimension-line-manager.js.map +1 -0
  17. package/dist/lib-cjs/manager/html-anchor-manager.d.ts +93 -0
  18. package/dist/lib-cjs/manager/html-anchor-manager.js +228 -0
  19. package/dist/lib-cjs/manager/html-anchor-manager.js.map +1 -0
  20. package/dist/lib-cjs/manager/model-manager.d.ts +0 -1
  21. package/dist/lib-cjs/manager/model-manager.js +0 -1
  22. package/dist/lib-cjs/manager/model-manager.js.map +1 -1
  23. package/dist/lib-cjs/manager/parameter-manager.d.ts +1 -1
  24. package/dist/lib-cjs/manager/scene-manager.js +10 -3
  25. package/dist/lib-cjs/manager/scene-manager.js.map +1 -1
  26. package/dist/lib-cjs/viewer.d.ts +6 -2
  27. package/dist/lib-cjs/viewer.js +13 -1
  28. package/dist/lib-cjs/viewer.js.map +1 -1
  29. package/package.json +2 -1
  30. package/src/index.ts +6 -0
  31. package/src/internal/cloning-helper.ts +1 -1
  32. package/src/manager/camera-manager.ts +152 -40
  33. package/src/manager/debug-manager.ts +2 -2
  34. package/src/manager/dimension-line-manager.ts +210 -0
  35. package/src/manager/html-anchor-manager.ts +332 -0
  36. package/src/manager/model-manager.ts +0 -1
  37. package/src/manager/parameter-manager.ts +1 -1
  38. package/src/manager/scene-manager.ts +12 -3
  39. package/src/viewer.ts +17 -1
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DimensionLineManager = void 0;
4
+ const index_1 = require("../index");
5
+ const lodash_es_1 = require("lodash-es");
6
+ /**
7
+ * Manager for dimension lines, which can be used to display certain dimensions like object sizes in the scene
8
+ */
9
+ class DimensionLineManager {
10
+ /** @internal */
11
+ constructor(viewer) {
12
+ this.viewer = viewer;
13
+ this._defaultLineOptions = {
14
+ lineColor: index_1.Color3.Black(),
15
+ closingLineHeight: 0.05,
16
+ hideIfOccluded: false,
17
+ scaleWithCameraDistance: false,
18
+ labelTextCb: (lengthM) => {
19
+ const lengthRounded = Math.round(lengthM * 1000 * 100) / 100;
20
+ return `${lengthRounded} mm`;
21
+ },
22
+ labelCssClass: '',
23
+ };
24
+ // map with all dimension lines that are currently visible in the scene
25
+ // holds data of all disposable objects for a clean up
26
+ this._dimensionLineObjs = {};
27
+ }
28
+ /**
29
+ * Define dimension line options that are used for each line by default.\
30
+ * Options can be overwritten by each line individually.
31
+ */
32
+ setDefaultDimensionLineOptions(defaultLineOptions) {
33
+ (0, lodash_es_1.merge)(this._defaultLineOptions, defaultLineOptions);
34
+ }
35
+ /**
36
+ * Create dimension line between two points
37
+ */
38
+ addDimensionLine(name, startPoint, endPoint, options) {
39
+ if (this._dimensionLineObjs[name]) {
40
+ console.warn(`Dimension line "${name}" already exists`);
41
+ return;
42
+ }
43
+ const resDefaultOptions = Object.assign({}, this._defaultLineOptions);
44
+ (0, lodash_es_1.merge)(resDefaultOptions, options);
45
+ const { lineColor, closingLineHeight, closingLineDirection: closingLineDirectionIn, parentNode, hideIfOccluded, scaleWithCameraDistance, labelTextCb, labelCssClass, } = resDefaultOptions;
46
+ let closingLineDirection = closingLineDirectionIn;
47
+ if (!closingLineDirection) {
48
+ // evaluate closing line direction if not given
49
+ const normal = endPoint.subtract(startPoint);
50
+ const yIsMainDirection = Math.abs(normal.y) > Math.abs(normal.x) && Math.abs(normal.y) > Math.abs(normal.z);
51
+ closingLineDirection = yIsMainDirection ? index_1.Vector3.Right() : index_1.Vector3.Up();
52
+ }
53
+ // calculate and create main and closing lines
54
+ const lineCenter = index_1.Vector3.Center(startPoint, endPoint);
55
+ const relStartPt = startPoint.subtract(lineCenter);
56
+ const relEndPt = endPoint.subtract(lineCenter);
57
+ const closingLineOffsetVector = closingLineDirection.normalizeToNew().scale(closingLineHeight / 2);
58
+ const closingLineStartPts = [relStartPt.add(closingLineOffsetVector), relStartPt.subtract(closingLineOffsetVector)];
59
+ const closingLineEndPts = [relEndPt.add(closingLineOffsetVector), relEndPt.subtract(closingLineOffsetVector)];
60
+ const linesMesh = index_1.MeshBuilder.CreateLineSystem(`${DimensionLineManager.DIMENSION_LINE_KEY}_${name}`, {
61
+ lines: [[relStartPt, relEndPt], closingLineStartPts, closingLineEndPts],
62
+ });
63
+ linesMesh.position = lineCenter;
64
+ linesMesh.color = lineColor;
65
+ // rendering group id 1 reserved for html anchor meshes, which are required for occlusion checking
66
+ linesMesh.renderingGroupId = hideIfOccluded ? 0 : 2;
67
+ // tag can be used to exclude dimension lines from autofocus or gltf export
68
+ index_1.Tags.AddTagsTo(linesMesh, DimensionLineManager.DIMENSION_LINE_KEY);
69
+ if (parentNode) {
70
+ linesMesh.parent = parentNode;
71
+ }
72
+ const lengthM = index_1.Vector3.Distance(startPoint, endPoint);
73
+ const labelText = labelTextCb(lengthM);
74
+ // create default html element
75
+ const span = document.createElement('span');
76
+ span.textContent = labelText;
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
+ }
93
+ const htmlLabelName = `${DimensionLineManager.DIMENSION_LINE_KEY}_${name}`;
94
+ this.viewer.htmlAnchorManager.addHtmlAnchor(name, span, index_1.Vector3.Zero(), {
95
+ parentNode: linesMesh,
96
+ group: DimensionLineManager.DIMENSION_LINE_KEY,
97
+ hideIfOccluded,
98
+ scaleWithCameraDistance,
99
+ });
100
+ this._dimensionLineObjs[name] = { linesMesh, htmlLabelName };
101
+ }
102
+ /**
103
+ * Remove dimension line and disposes all associated ressources
104
+ */
105
+ removeDimensionLine(name) {
106
+ const dimensionLine = this._dimensionLineObjs[name];
107
+ if (!dimensionLine) {
108
+ console.warn(`Dimension line "${name}" does not exist`);
109
+ return;
110
+ }
111
+ this.viewer.htmlAnchorManager.removeHtmlAnchor(name);
112
+ dimensionLine.linesMesh.dispose(false, true);
113
+ delete this._dimensionLineObjs[name];
114
+ }
115
+ /**
116
+ * Remove all dimension lines that have been created with the `DimensionLineManager`
117
+ */
118
+ removeAllDimensionLines() {
119
+ Object.keys(this._dimensionLineObjs).forEach(dimLineName => {
120
+ this.removeDimensionLine(dimLineName);
121
+ });
122
+ }
123
+ }
124
+ exports.DimensionLineManager = DimensionLineManager;
125
+ DimensionLineManager.DIMENSION_LINE_KEY = '$dimLine';
126
+ //# 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
+ }
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.HtmlAnchorManager = void 0;
16
+ const __1 = require("..");
17
+ const html2canvas_1 = __importDefault(require("html2canvas"));
18
+ /**
19
+ * Manager for mapping html elements to 3d positions in the scene.\
20
+ * Common use cases are:
21
+ * - **Hotspot buttons**: Interactively add/remove elements in the scene or just show some info on hovering
22
+ * - **Input fields**: Interactively change the size of an element
23
+ * - **Info label**: Just shows some information on a certain position within the scene
24
+ *
25
+ * Html anchors are also used as dimension lables in the {@link DimensionLineManager}
26
+ */
27
+ class HtmlAnchorManager {
28
+ /** @internal */
29
+ constructor(viewer) {
30
+ this.viewer = viewer;
31
+ this._htmlAnchors = {};
32
+ this._anchorMeshMaterial = null;
33
+ const canvas = viewer.canvas;
34
+ if (!canvas) {
35
+ return;
36
+ }
37
+ // html element positions need to be updated after each camera render call
38
+ viewer.scene.onAfterRenderCameraObservable.add(() => {
39
+ Object.values(this._htmlAnchors).forEach(({ parentHtmlElement, anchorMesh, options }) => {
40
+ this._updateHtmlAnchor(parentHtmlElement, anchorMesh, viewer.scene.activeCamera, canvas.width, canvas.height, 1, options);
41
+ });
42
+ });
43
+ }
44
+ /**
45
+ * Assign a html element to a certain position in the scene.\
46
+ * The html elements 2d position will be updated on each camera render, so that the element appears like a "normal"
47
+ * mesh within the scene.
48
+ */
49
+ addHtmlAnchor(name, htmlElement, position, options) {
50
+ var _a;
51
+ const canvasParentHtmlElement = (_a = this.viewer.canvas) === null || _a === void 0 ? void 0 : _a.parentElement;
52
+ if (!canvasParentHtmlElement) {
53
+ console.warn(`No parent for desired html anchor available`);
54
+ return;
55
+ }
56
+ if (this._htmlAnchors[name]) {
57
+ console.warn(`Html anchor "${name}" already exists`);
58
+ return;
59
+ }
60
+ const { parentNode, enablePointerEvents } = options !== null && options !== void 0 ? options : {};
61
+ // create a parent for the input html element, which will receive the updated style and transform data
62
+ // in this way the original input element remains untouched
63
+ const parentHtmlElement = document.createElement('div');
64
+ parentHtmlElement.dataset.anchorName = name;
65
+ parentHtmlElement.style.position = 'absolute';
66
+ parentHtmlElement.style.margin = '0';
67
+ parentHtmlElement.appendChild(htmlElement);
68
+ if (!enablePointerEvents) {
69
+ parentHtmlElement.style.pointerEvents = 'none';
70
+ }
71
+ canvasParentHtmlElement.appendChild(parentHtmlElement);
72
+ // NOTE: creates a sphere with fixed size, which could be problematic in scene with "strange" dimensions
73
+ // add a property for the sphere size if required
74
+ const anchorMesh = __1.MeshBuilder.CreateSphere(`${HtmlAnchorManager._HTML_ANCHOR_KEY}_${name}`, { diameter: 0.01 });
75
+ anchorMesh.position = position;
76
+ anchorMesh.parent = parentNode !== null && parentNode !== void 0 ? parentNode : null;
77
+ // anchor mesh will be invisible, we only need it for positioning and occlusion check
78
+ anchorMesh.material = this._getOrCreateAnchorMeshMaterial();
79
+ anchorMesh.occlusionType = __1.AbstractMesh.OCCLUSION_TYPE_OPTIMISTIC;
80
+ anchorMesh.occlusionQueryAlgorithmType = __1.AbstractMesh.OCCLUSION_ALGORITHM_TYPE_CONSERVATIVE;
81
+ // it's important that the occlusion check mesh is rendered after all "normal" meshes, which should be taken into
82
+ // account for the occlusion check
83
+ anchorMesh.renderingGroupId = 1;
84
+ this._htmlAnchors[name] = { parentHtmlElement, anchorMesh, options };
85
+ }
86
+ /**
87
+ * Remove html anchor element and disposes all associated ressources
88
+ */
89
+ removeHtmlAnchor(name) {
90
+ const htmlAnchor = this._htmlAnchors[name];
91
+ if (!htmlAnchor) {
92
+ console.warn(`Html anchor "${name}" does not exist`);
93
+ return;
94
+ }
95
+ htmlAnchor.parentHtmlElement.remove();
96
+ htmlAnchor.anchorMesh.dispose();
97
+ delete this._htmlAnchors[name];
98
+ }
99
+ /**
100
+ * Removes html anchor elements, as defined by the `groups` input
101
+ *
102
+ * @param groups if set, only html anchors which are part of these groups will be removed\
103
+ * if left `undefined`, ALL html anchors will be removed
104
+ */
105
+ removeAllHtmlAnchors(groups) {
106
+ const anchorKeysToRemove = this.getHtmlAnchorKeys(groups, undefined,
107
+ // system groups should not be remove, as there is a dedicated workflow
108
+ // (e.g. `DimensionLineManager.removeDimensionLine`) to do this
109
+ false);
110
+ anchorKeysToRemove.forEach(name => this.removeHtmlAnchor(name));
111
+ }
112
+ /**
113
+ * Creates a screenshot of defined html anchors and returns the associated canvas.\
114
+ * This function is used @internal from the main screenshot function.
115
+ */
116
+ createScreenshotCanvas(size, camera, htmlAnchorKeys) {
117
+ var _a;
118
+ return __awaiter(this, void 0, void 0, function* () {
119
+ const canvasParentHtmlElement = (_a = this.viewer.canvas) === null || _a === void 0 ? void 0 : _a.parentElement;
120
+ if (!canvasParentHtmlElement) {
121
+ console.warn(`No parent for html anchors available`);
122
+ return new HTMLCanvasElement();
123
+ }
124
+ const htmlContainer = document.createElement('div');
125
+ htmlContainer.style.width = `${size.canvasWidth}px`;
126
+ htmlContainer.style.height = `${size.canvasHeight}px`;
127
+ // the `html2canvas` library requires the html to be present in the DOM
128
+ // that's why we create it top level and move it out of the viewport
129
+ // @reviewer: maybe there is a smoother method of doing that?
130
+ document.body.append(htmlContainer);
131
+ htmlContainer.style.position = 'absolute';
132
+ htmlContainer.style.top = `${-size.canvasHeight}px`;
133
+ htmlAnchorKeys.forEach(key => {
134
+ const { parentHtmlElement, anchorMesh, options } = this._htmlAnchors[key];
135
+ // create clones of html anchors, so that the position of the original elements remains untouched
136
+ const clonedHtmlNode = parentHtmlElement.cloneNode(true);
137
+ htmlContainer.append(clonedHtmlNode);
138
+ // reposition that cloned html element, so that it fits to the desired camera position
139
+ const baseScale = size.canvasHeight / this.viewer.canvas.height;
140
+ this._updateHtmlAnchor(clonedHtmlNode, anchorMesh, camera, size.canvasWidth, size.canvasHeight, baseScale, options);
141
+ });
142
+ const screenshotHtmlCanvas = yield (0, html2canvas_1.default)(htmlContainer, {
143
+ width: size.imageWidth,
144
+ height: size.imageHeight,
145
+ // apply difference of canvas and image size as offsets
146
+ x: (size.canvasWidth - size.imageWidth) / 2,
147
+ y: (size.canvasHeight - size.imageHeight) / 2,
148
+ logging: false,
149
+ backgroundColor: null,
150
+ });
151
+ htmlContainer.remove();
152
+ return screenshotHtmlCanvas;
153
+ });
154
+ }
155
+ /**
156
+ * Receive html anchor keys that pass the `includeGroups` and `excludeGroups` filter
157
+ * @param allowSystemGroups defines if html anchors created by the viewer should be considered (e.g. dimension line
158
+ * labels)
159
+ * @internal
160
+ */
161
+ getHtmlAnchorKeys(includeGroups, excludeGroups, allowSystemGroups) {
162
+ const anchorKeys = Object.keys(this._htmlAnchors).filter(name => {
163
+ var _a;
164
+ const group = (_a = this._htmlAnchors[name].options) === null || _a === void 0 ? void 0 : _a.group;
165
+ const passIncludeGroupFilter = includeGroups === undefined || (group !== undefined && includeGroups.includes(group));
166
+ const passExcludeGroupFilter = excludeGroups === undefined || group === undefined || !excludeGroups.includes(group);
167
+ // ATM only dimension labels are system html anchors
168
+ const passSystemGroupFilter = allowSystemGroups || group !== __1.DimensionLineManager.DIMENSION_LINE_KEY;
169
+ return passIncludeGroupFilter && passExcludeGroupFilter && passSystemGroupFilter;
170
+ });
171
+ return anchorKeys;
172
+ }
173
+ /**
174
+ * Check if input mesh is a html anchor mesh, created by this manager.\
175
+ * This check is done via the material, as all html anchor meshes have the generic `_anchorMeshMaterial` set.
176
+ * @internal
177
+ */
178
+ isHtmlAnchorMesh(mesh) {
179
+ return mesh.material === this._anchorMeshMaterial;
180
+ }
181
+ _updateHtmlAnchor(parentHtmlElement, anchorMesh, camera, width, height, baseScale, options) {
182
+ const { hideIfOccluded, scaleWithCameraDistance } = options !== null && options !== void 0 ? options : {};
183
+ const viewMatrix = camera.getViewMatrix();
184
+ const projectionMatrix = camera.getProjectionMatrix();
185
+ const transformMatrix = viewMatrix.multiply(projectionMatrix);
186
+ // convert into 2d space
187
+ const vertexScreenCoords = __1.Vector3.Project(__1.Vector3.Zero(), anchorMesh.getWorldMatrix(), transformMatrix, new __1.Viewport(0, 0, width, height));
188
+ // base scale is used if width and height don't equal the viewer canvas, which is the case for screenshots
189
+ let scale = baseScale;
190
+ if (scaleWithCameraDistance) {
191
+ const meshWorldPos = anchorMesh.getAbsolutePosition();
192
+ // calculate camera world position manually, as there is no help function like for meshes
193
+ const camWorldMatrix = camera.computeWorldMatrix();
194
+ const camWorldPos = camWorldMatrix.getTranslation();
195
+ const distance = __1.Vector3.Distance(meshWorldPos, camWorldPos);
196
+ const frustumSlopeY = Math.tan(camera.fov / 2);
197
+ // if the distance from camera to mesh gets larger, the html elements scaling will be decreased
198
+ // we also consider the cameras FOV, so scale 1 means, that the resulting vertical frustum of the camera
199
+ // distance equals 1
200
+ // ...this is probably too small in some scenarios, so we might have to add a general scale setting here
201
+ scale *= 1 / (distance * frustumSlopeY);
202
+ }
203
+ const elementXOffset = (parentHtmlElement.offsetWidth * scale) / 2;
204
+ const elementYOffset = (parentHtmlElement.offsetHeight * scale) / 2;
205
+ // finally move and scale the HTML element
206
+ parentHtmlElement.style.transform = `translate3d(calc(${vertexScreenCoords.x}px - 50%), calc(${vertexScreenCoords.y}px - 50%), 0px) scale(${scale})`;
207
+ // check for occlusion if desired
208
+ // we use the opacity setting, which could also be animated nicely if we want
209
+ const isInViewport = vertexScreenCoords.x - elementXOffset > 0 &&
210
+ vertexScreenCoords.x + elementXOffset < width &&
211
+ vertexScreenCoords.y - elementYOffset > 0 &&
212
+ vertexScreenCoords.y + elementYOffset < height;
213
+ const isOccluded = hideIfOccluded && anchorMesh.isOccluded;
214
+ parentHtmlElement.style.opacity = isInViewport && !isOccluded ? '1' : '0';
215
+ }
216
+ _getOrCreateAnchorMeshMaterial() {
217
+ if (this._anchorMeshMaterial) {
218
+ return this._anchorMeshMaterial;
219
+ }
220
+ this._anchorMeshMaterial = new __1.StandardMaterial('$matAnchorMesh');
221
+ this._anchorMeshMaterial.alpha = 0;
222
+ this.viewer.scene.removeMaterial(this._anchorMeshMaterial);
223
+ return this._anchorMeshMaterial;
224
+ }
225
+ }
226
+ exports.HtmlAnchorManager = HtmlAnchorManager;
227
+ HtmlAnchorManager._HTML_ANCHOR_KEY = '$htmlAnchor';
228
+ //# sourceMappingURL=html-anchor-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-anchor-manager.js","sourceRoot":"","sources":["../../../src/manager/html-anchor-manager.ts"],"names":[],"mappings":"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"}
@@ -47,7 +47,6 @@ export declare class ModelManager {
47
47
  protected viewer: Viewer;
48
48
  /**
49
49
  * CAUTION: this has to be in sync with the Combeenation backend!
50
- * @internal
51
50
  */
52
51
  static readonly CBN_FALLBACK_MODEL_ASSET_NAME = "$fallback";
53
52
  protected _modelAssets: {
@@ -391,7 +391,6 @@ class ModelManager {
391
391
  exports.ModelManager = ModelManager;
392
392
  /**
393
393
  * CAUTION: this has to be in sync with the Combeenation backend!
394
- * @internal
395
394
  */
396
395
  ModelManager.CBN_FALLBACK_MODEL_ASSET_NAME = '$fallback';
397
396
  //# sourceMappingURL=model-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-manager.js","sourceRoot":"","sources":["../../../src/manager/model-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-manager.js","sourceRoot":"","sources":["../../../src/manager/model-manager.ts"],"names":[],"mappings":"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"}
@@ -73,7 +73,7 @@ export declare type ParameterValues = (ParameterSubject & {
73
73
  export declare type ParameterObserver = (payload: ParameterObserverPayload) => Promise<void>;
74
74
  /**
75
75
  * Payload of parameter observer.\
76
- * Contains current data of parameter entry, which can be usefull for implementing the dedicated observer
76
+ * Contains current data of parameter entry, which can be useful for implementing the dedicated observer
77
77
  */
78
78
  export declare type ParameterObserverPayload = {
79
79
  subject: ParameterSubject;
@@ -190,9 +190,16 @@ class SceneManager {
190
190
  const hasInfiniteDistance = mesh.infiniteDistance;
191
191
  // ignore meshes with "BackgroundMaterial" - usually a ground or skybox
192
192
  const hasBackgroundMaterial = mesh.material instanceof index_1.BackgroundMaterial;
193
+ // ignore dummy meshes for html anchor occlusion check
194
+ const isHtmlAnchorMesh = this.viewer.htmlAnchorManager.isHtmlAnchorMesh(mesh);
193
195
  // ignore excluded meshes
194
196
  const isExcluded = excludeGeometry ? (0, geometry_helper_1.isNodeExcluded)(mesh, excludeGeometry) : false;
195
- return isEnabled && hasValidBBoxInfo && !hasInfiniteDistance && !hasBackgroundMaterial && !isExcluded;
197
+ return (isEnabled &&
198
+ hasValidBBoxInfo &&
199
+ !hasInfiniteDistance &&
200
+ !hasBackgroundMaterial &&
201
+ !isHtmlAnchorMesh &&
202
+ !isExcluded);
196
203
  })
197
204
  .reduce((accBBoxMinMax, curMesh, idx) => {
198
205
  curMesh.refreshBoundingInfo(true, true);
@@ -276,7 +283,7 @@ class SceneManager {
276
283
  this._defaultSceneAsset.settings.clearColor = this._defaultSceneSettings.backgroundColor;
277
284
  // camera
278
285
  if (cameraSettings.create) {
279
- const camera = new index_1.ArcRotateCamera(`${SceneManager._DEFAULT_SCENE_ASSET_NAME}.camera`, cameraSettings.initialPosition.alpha, cameraSettings.initialPosition.beta, cameraSettings.initialPosition.radius, cameraSettings.initialPosition.target, this.viewer.scene);
286
+ const camera = new index_1.ArcRotateCamera(`${SceneManager._DEFAULT_SCENE_ASSET_NAME}_camera`, cameraSettings.initialPosition.alpha, cameraSettings.initialPosition.beta, cameraSettings.initialPosition.radius, cameraSettings.initialPosition.target, this.viewer.scene);
280
287
  camera.minZ = cameraSettings.settings.minZ;
281
288
  camera.lowerRadiusLimit = cameraSettings.settings.lowerRadiusLimit;
282
289
  camera.wheelPrecision = cameraSettings.settings.wheelPrecision;
@@ -318,7 +325,7 @@ class SceneManager {
318
325
  }
319
326
  }
320
327
  exports.SceneManager = SceneManager;
321
- SceneManager._DEFAULT_SCENE_ASSET_NAME = '$default';
328
+ SceneManager._DEFAULT_SCENE_ASSET_NAME = '$defaultScene';
322
329
  SceneManager._DEFAULT_GROUND_PLANE_NAME = 'BackgroundPlane';
323
330
  SceneManager._DEFAULT_GROUND_SIZING_FACTOR = 5;
324
331
  //# sourceMappingURL=scene-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene-manager.js","sourceRoot":"","sources":["../../../src/manager/scene-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAgBkB;AAClB,2DAAsF;AACtF,iEAA6D;AAC7D,yCAAkC;AAmFlC;;;GAGG;AACH,MAAa,YAAY;IAuCvB,gBAAgB;IAChB,YAA6B,MAAc,EAAE,oBAAwD;QAAxE,WAAM,GAAN,MAAM,CAAQ;QAnC3C,yBAAyB;QACzB,yCAAyC;QAC/B,0BAAqB,GAAyB;YACtD,eAAe,EAAE,IAAI,cAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACvC,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI;gBACZ,eAAe,EAAE,qBAAa,CAAC,uBAAuB;gBACtD,QAAQ,EAAE;oBACR,IAAI,EAAE,GAAG;oBACT,gBAAgB,EAAE,CAAC;oBACnB,cAAc,EAAE,GAAG;oBACnB,kBAAkB,EAAE,IAAI;iBACzB;aACF;YAED,WAAW,EAAE;gBACX,MAAM,EAAE,IAAI;gBACZ,GAAG,EAAE,mEAAmE;gBACxE,SAAS,EAAE,CAAC;aACb;SACF,CAAC;QAEQ,iBAAY,GAAmC,EAAE,CAAC;QAClD,uBAAkB,GAAe;YACzC,IAAI,EAAE,YAAY,CAAC,yBAAyB;YAC5C,GAAG,EAAE,EAAE;YACP,KAAK,EAAE,QAAQ;YACf,cAAc,EAAE,IAAI,sBAAc,EAAE;YACpC,QAAQ,EAAE,EAAE;SACb,CAAC;QACQ,0BAAqB,GAAW,EAAE,CAAC;QACnC,4BAAuB,GAAgD,EAAE,CAAC;QAC1E,yBAAoB,GAAG,CAAC,CAAC;QAIjC,IAAA,iBAAK,EAAC,IAAI,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACI,mBAAmB,CAAC,WAAmC;QAC5D,KAAK,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,WAAW,EAAE;YACvC,MAAM,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,kBAAkB,EAAE;gBACtB,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,yBAAyB,CAAC,CAAC;gBAC5D,OAAO;aACR;YAED,MAAM,UAAU,GAAe;gBAC7B,IAAI;gBACJ,GAAG;gBACH,KAAK,EAAE,WAAW;gBAClB,cAAc,EAAE,IAAI,sBAAc,EAAE;gBACpC,QAAQ,EAAE,EAAE;aACb,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;SACtC;IACH,CAAC;IAED;;;OAGG;IACU,aAAa,CAAC,IAAY,EAAE,eAAyB;;YAChE,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,EAAE;gBACf,MAAM,IAAI,mBAAW,CAAC;oBACpB,EAAE,EAAE,sBAAc,CAAC,uBAAuB;oBAC1C,OAAO,EAAE,0BAA0B,IAAI,oCAAoC;iBAC5E,CAAC,CAAC;aACJ;YAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,MAAM,sBAAsB,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAEzD,IAAI,UAAU,CAAC,KAAK,KAAK,WAAW,EAAE;gBACpC,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;aACxC;iBAAM,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE;gBACzC,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;aAC1C;iBAAM,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE;gBACzC,OAAO,CAAC,IAAI,CAAC,eAAe,IAAI,oBAAoB,CAAC,CAAC;gBACtD,OAAO;aACR;YAED,4CAA4C;YAC5C,IAAI,sBAAsB,KAAK,IAAI,CAAC,oBAAoB,EAAE;gBACxD,OAAO;aACR;YAED,IAAI,CAAC,eAAe,EAAE;gBACpB,MAAM,IAAA,mCAAoB,EAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;aACrD;YAED,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACtD,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC;gBAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;aAC/D;YAED,IAAI,UAAU,CAAC,cAAc,CAAC,kBAAkB,EAAE;gBAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,UAAU,CAAC,cAAc,CAAC,kBAAkB,CAAC;aACrF;YACD,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE;gBAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;aAC/D;YACD,IAAI,UAAU,CAAC,QAAQ,CAAC,oBAAoB,KAAK,SAAS,EAAE;gBAC1D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,UAAU,CAAC,QAAQ,CAAC,oBAAoB,CAAC;aACnF;YAED,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC;YAE7B,2BAA2B;YAC3B,iHAAiH;YACjH,kBAAkB;YAClB,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACzE,IAAI,gBAAgB,EAAE;gBACpB,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;aACxC;YAED,wCAAwC;YACxC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QACpC,CAAC;KAAA;IAED;;OAEG;IACI,oBAAoB;QACzB,4CAA4C;QAC5C,+FAA+F;QAC/F,4EAA4E;QAC5E,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAED;;;OAGG;IACU,6BAA6B,CAAC,IAAY;;YACrD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,EAAE;gBACf,MAAM,IAAI,mBAAW,CAAC;oBACpB,EAAE,EAAE,sBAAc,CAAC,uBAAuB;oBAC1C,OAAO,EAAE,6CAA6C,IAAI,oCAAoC;iBAC/F,CAAC,CAAC;aACJ;YAED,IAAI,UAAU,CAAC,KAAK,KAAK,WAAW,EAAE;gBACpC,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;aACxC;iBAAM,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE;gBACzC,MAAM,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aACrD;YAED,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE;gBAClC,MAAM,IAAA,mCAAoB,EAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;aACrD;YAED,OAAO,UAAU,CAAC,cAAc,CAAC;QACnC,CAAC;KAAA;IAED;;;;;;;OAOG;IACI,qBAAqB,CAAC,eAAsC;QACjE,iEAAiE;QACjE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAE3B,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;aAC1C,MAAM,CAAC,IAAI,CAAC,EAAE;YACb,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACnC,4CAA4C;YAC5C,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1E,sEAAsE;YACtE,MAAM,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAClD,uEAAuE;YACvE,MAAM,qBAAqB,GAAG,IAAI,CAAC,QAAQ,YAAY,0BAAkB,CAAC;YAC1E,yBAAyB;YACzB,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,IAAA,gCAAc,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAEnF,OAAO,SAAS,IAAI,gBAAgB,IAAI,CAAC,mBAAmB,IAAI,CAAC,qBAAqB,IAAI,CAAC,UAAU,CAAC;QACxG,CAAC,CAAC;aACD,MAAM,CACL,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;YAC9B,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC;YACnD,iGAAiG;YACjG,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,eAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACnG,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,eAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACnG,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACtB,CAAC,EACD,EAAE,GAAG,EAAE,IAAI,eAAO,EAAE,EAAE,GAAG,EAAE,IAAI,eAAO,EAAE,EAAE,CAC3C,CAAC;QAEJ,MAAM,YAAY,GAAG,IAAI,oBAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAChD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACI,YAAY,CAAC,QAA+B;;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,CAAC,CAAC;QAEvE,MAAM,UAAU,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,mCAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;QACpH,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YACpE,OAAO;SACR;QAED,wCAAwC;QACxC,MAAM,MAAM,GACV,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,mCAAI,YAAY,CAAC,6BAA6B,CAAC,CAAC;QACxG,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC;QACrD,UAAU,CAAC,OAAO,GAAG,IAAI,eAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACpD,UAAU,CAAC,QAAQ,GAAG,IAAI,eAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACI,aAAa,CAAC,QAAgC;;QACnD,MAAM,gBAAgB,GACpB,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,gBAAgB,mCACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAwB,CAAC;QAE5G,MAAM,kBAAkB,GAAmB,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACtC,MAAM,gBAAgB,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,EAAC,CAAC,CAAC,CAAC,IAAA,gCAAc,EAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5G,IAAI,gBAAgB,EAAE;gBACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;aAC5B;YAED,+GAA+G;YAC/G,+FAA+F;YAC/F,MAAM,qBAAqB,GAAG,IAAI,CAAC,QAAQ,YAAY,0BAAkB,CAAC;YAC1E,MAAM,cAAc,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,aAAa,EAAC,CAAC,CAAC,CAAC,IAAA,gCAAc,EAAC,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACtG,IAAI,cAAc,IAAI,CAAC,qBAAqB,EAAE;gBAC5C,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC/B;QACH,CAAC,CAAC,CAAC;QAEH,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YACnC,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;YAC3C,IAAI,CAAC,SAAS,EAAE;gBACd,OAAO;aACR;YAED,SAAS,CAAC,UAAU,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC;YAC/C,SAAS,CAAC,iBAAiB,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,2BAA2B;QAChC,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC;QAE3D,8GAA8G;QAC9G,cAAc;QACd,IAAI,CAAC,kBAAkB,GAAG;YACxB,IAAI,EAAE,YAAY,CAAC,yBAAyB;YAC5C,GAAG,EAAE,EAAE;YACP,KAAK,EAAE,QAAQ;YACf,cAAc,EAAE,IAAI,sBAAc,EAAE;YACpC,QAAQ,EAAE,EAAE;SACb,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC;QAEzF,SAAS;QACT,IAAI,cAAc,CAAC,MAAM,EAAE;YACzB,MAAM,MAAM,GAAG,IAAI,uBAAe,CAChC,GAAG,YAAY,CAAC,yBAAyB,SAAS,EAClD,cAAc,CAAC,eAAe,CAAC,KAAK,EACpC,cAAc,CAAC,eAAe,CAAC,IAAI,EACnC,cAAc,CAAC,eAAe,CAAC,MAAM,EACrC,cAAc,CAAC,eAAe,CAAC,MAAM,EACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAClB,CAAC;YACF,MAAM,CAAC,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3C,MAAM,CAAC,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACnE,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC/D,MAAM,CAAC,kBAAkB,GAAG,cAAc,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACvE,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAEtC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;SACxC;QAED,cAAc;QACd,IAAI,WAAW,CAAC,MAAM,EAAE;YACtB,MAAM,UAAU,GAAG,mBAAW,CAAC,yBAAyB,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE7F,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,kBAAkB,GAAG,UAAU,CAAC;YACvE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,oBAAoB,GAAG,WAAW,CAAC,SAAS,CAAC;SAC/E;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAES,cAAc,CAAC,IAAY;QACnC,IAAI,IAAI,KAAK,YAAY,CAAC,yBAAyB,EAAE;YACnD,OAAO,IAAI,CAAC,kBAAkB,CAAC;SAChC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,UAAU,CAAC;IACpB,CAAC;IAEe,eAAe,CAAC,UAAsB;;YACpD,MAAM,qBAAqB,GAAG,GAAwB,EAAE;gBACtD,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,IAAA,wBAAS,EAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEvE,UAAU,CAAC,QAAQ,GAAG,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,EAAE,CAAC;gBAE9C,OAAO,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACvD,CAAC,CAAA,CAAC;YAEF,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,qBAAqB,EAAE,CAAC;YACxE,OAAO,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;KAAA;IAES,eAAe,CAAC,UAAsB;QAC9C,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QAC5E,UAAU,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;QAC5C,UAAU,CAAC,KAAK,GAAG,QAAQ,CAAC;IAC9B,CAAC;;AA7VH,oCA8VC;AA7VkB,sCAAyB,GAAG,UAAU,CAAC;AACvC,uCAA0B,GAAG,iBAAiB,CAAC;AAC/C,0CAA6B,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"scene-manager.js","sourceRoot":"","sources":["../../../src/manager/scene-manager.ts"],"names":[],"mappings":"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"}