@roomle/web-sdk 2.34.0 → 2.35.0-alpha.3
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/lib/banana-for-scale-4e1ff862.nomodule.js +2 -0
- package/lib/{banana-for-scale-939e4df7.nomodule.js.map → banana-for-scale-4e1ff862.nomodule.js.map} +1 -1
- package/lib/banana-for-scale-b778f262.js +2 -0
- package/lib/{banana-for-scale-3442b519.js.map → banana-for-scale-b778f262.js.map} +1 -1
- package/lib/{budgeteer-measure-700b4d27.js → budgeteer-measure-6fb6d4b2.js} +2 -2
- package/lib/{budgeteer-measure-700b4d27.js.map → budgeteer-measure-6fb6d4b2.js.map} +1 -1
- package/lib/budgeteer-measure.nomodule.js +1 -1
- package/lib/component-dimensioning-b84a7943.nomodule.js +2 -0
- package/lib/component-dimensioning-b84a7943.nomodule.js.map +1 -0
- package/lib/component-dimensioning-eff542d1.js +2 -0
- package/lib/component-dimensioning-eff542d1.js.map +1 -0
- package/lib/component-raycast-helper-103ce506.nomodule.js +2 -0
- package/lib/component-raycast-helper-103ce506.nomodule.js.map +1 -0
- package/lib/component-raycast-helper-3f961f36.js +2 -0
- package/lib/component-raycast-helper-3f961f36.js.map +1 -0
- package/lib/configurator-54888a13.nomodule.js +2 -0
- package/lib/configurator-54888a13.nomodule.js.map +1 -0
- package/lib/configurator-d519d88a.js +2 -0
- package/lib/configurator-d519d88a.js.map +1 -0
- package/lib/configurator-main-8bdd7746.js +2 -0
- package/lib/configurator-main-8bdd7746.js.map +1 -0
- package/lib/configurator-main.nomodule.js +1 -1
- package/lib/default-light-setting-2ccb8e14.js +2 -0
- package/lib/default-light-setting-2ccb8e14.js.map +1 -0
- package/lib/default-light-setting-70a3f927.nomodule.js +2 -0
- package/lib/default-light-setting-70a3f927.nomodule.js.map +1 -0
- package/lib/definitions/common-core/mock/kernel-instances.d.ts +6 -0
- package/lib/definitions/common-core/src/cameracontrol/camera-control-3d.d.ts +4 -1
- package/lib/definitions/common-core/src/cameracontrol/camera-control.d.ts +2 -2
- package/lib/definitions/common-core/src/{kernel-access.d.ts → configurator-kernel-access.d.ts} +7 -5
- package/lib/definitions/common-core/src/rapi-access.d.ts +2 -0
- package/lib/definitions/common-core/src/services/common-kernel-access.d.ts +3 -2
- package/lib/definitions/common-core/src/view-model/configurator-plan-object-view-model.d.ts +4 -0
- package/lib/definitions/common-core/src/view-model/configurator-view-model.d.ts +5 -4
- package/lib/definitions/common-core/src/view-model/plan-element-view-model.d.ts +2 -2
- package/lib/definitions/common-core/src/webgl/configurator-context.d.ts +4 -1
- package/lib/definitions/common-core/src/webgl/layer.d.ts +6 -5
- package/lib/definitions/common-core/src/webgl/mesh-generator.d.ts +4 -0
- package/lib/definitions/common-core/src/webgl/scene-manager.d.ts +1 -1
- package/lib/definitions/configurator-core/__tests__/{scene-helper.d.ts → configurator-scene-manager.d.ts} +0 -0
- package/lib/definitions/configurator-core/src/roomle-configurator.d.ts +5 -2
- package/lib/definitions/configurator-core/src/utils/component-dimensioning-helper.d.ts +1 -1
- package/lib/definitions/configurator-core/src/utils/event-dispatcher.d.ts +3 -0
- package/lib/definitions/configurator-core/src/webgl/configurator-mesh-generator.d.ts +0 -4
- package/lib/definitions/configurator-core/src/webgl/configurator-scene-event-handler.d.ts +2 -0
- package/lib/definitions/configurator-core/src/webgl/configurator-scene-manager.d.ts +17 -12
- package/lib/definitions/planner-core/mock/planner-mock-helper.d.ts +1 -0
- package/lib/definitions/planner-core/src/roomle-planner-ui-callback.d.ts +4 -1
- package/lib/definitions/planner-core/src/roomle-planner.d.ts +9 -5
- package/lib/definitions/planner-core/src/services/planner-kernel-access.d.ts +8 -57
- package/lib/definitions/planner-core/src/view-model/plan-view-model.d.ts +6 -5
- package/lib/definitions/planner-core/src/webgl/planner-mesh-generator.d.ts +1 -1
- package/lib/definitions/planner-core/src/webgl/planner-scene-event-handler.d.ts +3 -1
- package/lib/definitions/planner-core/src/webgl/planner-scene-manager.d.ts +22 -15
- package/lib/definitions/typings/planner.d.ts +1 -0
- package/lib/dimensioning-helper-a0918223.nomodule.js +2 -0
- package/lib/{dimensioning-helper-8f8c7de4.nomodule.js.map → dimensioning-helper-a0918223.nomodule.js.map} +1 -1
- package/lib/dimensioning-helper-f0788db6.js +2 -0
- package/lib/{dimensioning-helper-a2f701e1.js.map → dimensioning-helper-f0788db6.js.map} +1 -1
- package/lib/glb-viewer-05c35fc4.nomodule.js +2 -0
- package/lib/{glb-viewer-eac461db.nomodule.js.map → glb-viewer-05c35fc4.nomodule.js.map} +1 -1
- package/lib/glb-viewer-48964570.js +2 -0
- package/lib/{glb-viewer-44cb38e7.js.map → glb-viewer-48964570.js.map} +1 -1
- package/lib/glb-viewer-main-9b440cd3.js +2 -0
- package/lib/glb-viewer-main-9b440cd3.js.map +1 -0
- package/lib/glb-viewer-main.nomodule.js +1 -1
- package/lib/legacy/banana-for-scale-05953f3a.legacy.js +2 -0
- package/lib/legacy/{banana-for-scale-6af330cd.legacy.js.map → banana-for-scale-05953f3a.legacy.js.map} +1 -1
- package/lib/legacy/budgeteer-measure.legacy.js +1 -1
- package/lib/{component-dimensioning-707b0007.js → legacy/component-dimensioning-3ca935b6.legacy.js} +2 -2
- package/lib/legacy/component-dimensioning-3ca935b6.legacy.js.map +1 -0
- package/lib/legacy/component-raycast-helper-9e24e1e0.legacy.js +2 -0
- package/lib/legacy/component-raycast-helper-9e24e1e0.legacy.js.map +1 -0
- package/lib/legacy/configurator-bf2334cf.legacy.js +2 -0
- package/lib/legacy/configurator-bf2334cf.legacy.js.map +1 -0
- package/lib/legacy/configurator-main.legacy.js +1 -1
- package/lib/legacy/default-light-setting-a9e295c1.legacy.js +2 -0
- package/lib/legacy/default-light-setting-a9e295c1.legacy.js.map +1 -0
- package/lib/legacy/dimensioning-helper-fea9c628.legacy.js +2 -0
- package/lib/legacy/{dimensioning-helper-d2d6f040.legacy.js.map → dimensioning-helper-fea9c628.legacy.js.map} +1 -1
- package/lib/legacy/glb-viewer-a376f61e.legacy.js +2 -0
- package/lib/legacy/{glb-viewer-efc13817.legacy.js.map → glb-viewer-a376f61e.legacy.js.map} +1 -1
- package/lib/legacy/glb-viewer-main.legacy.js +1 -1
- package/lib/legacy/{main-thread-to-worker-fb98950d.legacy.js → main-thread-to-worker-6f382b43.legacy.js} +2 -2
- package/lib/legacy/main-thread-to-worker-6f382b43.legacy.js.map +1 -0
- package/lib/legacy/material-viewer-1ef980c2.legacy.js +2 -0
- package/lib/legacy/material-viewer-1ef980c2.legacy.js.map +1 -0
- package/lib/legacy/material-viewer-main.legacy.js +1 -1
- package/lib/legacy/pixotron-524dc32c.legacy.js +2 -0
- package/lib/legacy/{pixotron-3225a8b2.legacy.js.map → pixotron-524dc32c.legacy.js.map} +1 -1
- package/lib/legacy/planner-e2073039.legacy.js +2 -0
- package/lib/legacy/{planner-586ddb9d.legacy.js.map → planner-e2073039.legacy.js.map} +1 -1
- package/lib/legacy/planner-main.legacy.js +1 -1
- package/lib/legacy/roomle-configurator-3ec722b7.legacy.js +2 -0
- package/lib/legacy/roomle-configurator-3ec722b7.legacy.js.map +1 -0
- package/lib/legacy/roomle-dependency-injection-f3e1c08f.legacy.js +16 -0
- package/lib/legacy/roomle-dependency-injection-f3e1c08f.legacy.js.map +1 -0
- package/lib/legacy/roomle-sdk.legacy.js +1 -1
- package/lib/legacy/static/shaders-e247614ba88a3032.json +1 -0
- package/lib/legacy/stats-helper-12751b3b.legacy.js +2 -0
- package/lib/legacy/{stats-helper-40981b2e.legacy.js.map → stats-helper-12751b3b.legacy.js.map} +1 -1
- package/lib/{main-thread-to-worker-97315397.nomodule.js → main-thread-to-worker-1f6a23af.nomodule.js} +2 -2
- package/lib/main-thread-to-worker-1f6a23af.nomodule.js.map +1 -0
- package/lib/main-thread-to-worker-ed1f7708.js +2 -0
- package/lib/main-thread-to-worker-ed1f7708.js.map +1 -0
- package/lib/material-viewer-2e7a7a9e.js +2 -0
- package/lib/material-viewer-2e7a7a9e.js.map +1 -0
- package/lib/material-viewer-ec7ce282.nomodule.js +2 -0
- package/lib/material-viewer-ec7ce282.nomodule.js.map +1 -0
- package/lib/material-viewer-main-b0887a5b.js +2 -0
- package/lib/material-viewer-main-b0887a5b.js.map +1 -0
- package/lib/material-viewer-main.nomodule.js +1 -1
- package/lib/pixotron-10410354.nomodule.js +2 -0
- package/lib/{pixotron-9fb32201.nomodule.js.map → pixotron-10410354.nomodule.js.map} +1 -1
- package/lib/pixotron-22342376.js +2 -0
- package/lib/{pixotron-e06b4406.js.map → pixotron-22342376.js.map} +1 -1
- package/lib/planner-0cbd5ce0.nomodule.js +2 -0
- package/lib/{planner-c8feb6cc.nomodule.js.map → planner-0cbd5ce0.nomodule.js.map} +1 -1
- package/lib/planner-d16735a0.js +2 -0
- package/lib/{planner-cc924d07.js.map → planner-d16735a0.js.map} +1 -1
- package/lib/planner-dummy-app.js +1 -1
- package/lib/planner-dummy-app.js.map +1 -1
- package/lib/planner-dummy.html +3 -0
- package/lib/planner-main-c1acf5bc.js +2 -0
- package/lib/planner-main-c1acf5bc.js.map +1 -0
- package/lib/planner-main.nomodule.js +1 -1
- package/lib/roomle-configurator-70ab0c60.nomodule.js +2 -0
- package/lib/roomle-configurator-70ab0c60.nomodule.js.map +1 -0
- package/lib/roomle-configurator-d9d2192e.js +2 -0
- package/lib/roomle-configurator-d9d2192e.js.map +1 -0
- package/lib/roomle-dependency-injection-d051fe8b.js +16 -0
- package/lib/roomle-dependency-injection-d051fe8b.js.map +1 -0
- package/lib/roomle-dependency-injection-fcee42fb.nomodule.js +16 -0
- package/lib/roomle-dependency-injection-fcee42fb.nomodule.js.map +1 -0
- package/lib/roomle-sdk-6f364cbd.js +2 -0
- package/lib/roomle-sdk-6f364cbd.js.map +1 -0
- package/lib/roomle-sdk.nomodule.js +1 -1
- package/lib/static/shaders-e247614ba88a3032.json +1 -0
- package/lib/stats-helper-2abb9e45.js +2 -0
- package/lib/{stats-helper-f8ec7e6b.js.map → stats-helper-2abb9e45.js.map} +1 -1
- package/lib/stats-helper-ac0cefb6.nomodule.js +2 -0
- package/lib/{stats-helper-2ba40e23.nomodule.js.map → stats-helper-ac0cefb6.nomodule.js.map} +1 -1
- package/package.json +2 -2
- package/lib/banana-for-scale-3442b519.js +0 -2
- package/lib/banana-for-scale-939e4df7.nomodule.js +0 -2
- package/lib/component-dimensioning-707b0007.js.map +0 -1
- package/lib/component-dimensioning-a2828832.nomodule.js +0 -2
- package/lib/component-dimensioning-a2828832.nomodule.js.map +0 -1
- package/lib/configurator-92943a85.js +0 -2
- package/lib/configurator-92943a85.js.map +0 -1
- package/lib/configurator-9f1bcb78.nomodule.js +0 -2
- package/lib/configurator-9f1bcb78.nomodule.js.map +0 -1
- package/lib/configurator-main-262ae1ac.js +0 -2
- package/lib/configurator-main-262ae1ac.js.map +0 -1
- package/lib/configurator-mesh-generator-ab964e61.nomodule.js +0 -2
- package/lib/configurator-mesh-generator-ab964e61.nomodule.js.map +0 -1
- package/lib/configurator-mesh-generator-fdbe8e27.js +0 -2
- package/lib/configurator-mesh-generator-fdbe8e27.js.map +0 -1
- package/lib/default-light-setting-1980d70c.nomodule.js +0 -2
- package/lib/default-light-setting-1980d70c.nomodule.js.map +0 -1
- package/lib/default-light-setting-5690f3c6.js +0 -2
- package/lib/default-light-setting-5690f3c6.js.map +0 -1
- package/lib/definitions/planner-core/__tests__/backstack.d.ts +0 -1
- package/lib/definitions/planner-core/src/services/backstack.d.ts +0 -30
- package/lib/dimensioning-helper-8f8c7de4.nomodule.js +0 -2
- package/lib/dimensioning-helper-a2f701e1.js +0 -2
- package/lib/glb-viewer-44cb38e7.js +0 -2
- package/lib/glb-viewer-eac461db.nomodule.js +0 -2
- package/lib/glb-viewer-main-0ef0fd4e.js +0 -2
- package/lib/glb-viewer-main-0ef0fd4e.js.map +0 -1
- package/lib/image-renderer-5777b9d7.js +0 -2
- package/lib/image-renderer-5777b9d7.js.map +0 -1
- package/lib/image-renderer-bf04d0a9.nomodule.js +0 -2
- package/lib/image-renderer-bf04d0a9.nomodule.js.map +0 -1
- package/lib/legacy/banana-for-scale-6af330cd.legacy.js +0 -2
- package/lib/legacy/component-dimensioning-2c1ef0a0.legacy.js +0 -2
- package/lib/legacy/component-dimensioning-2c1ef0a0.legacy.js.map +0 -1
- package/lib/legacy/configurator-aaf3a182.legacy.js +0 -2
- package/lib/legacy/configurator-aaf3a182.legacy.js.map +0 -1
- package/lib/legacy/configurator-mesh-generator-929313c6.legacy.js +0 -2
- package/lib/legacy/configurator-mesh-generator-929313c6.legacy.js.map +0 -1
- package/lib/legacy/default-light-setting-135fb853.legacy.js +0 -2
- package/lib/legacy/default-light-setting-135fb853.legacy.js.map +0 -1
- package/lib/legacy/dimensioning-helper-d2d6f040.legacy.js +0 -2
- package/lib/legacy/glb-viewer-efc13817.legacy.js +0 -2
- package/lib/legacy/image-renderer-3059c670.legacy.js +0 -2
- package/lib/legacy/image-renderer-3059c670.legacy.js.map +0 -1
- package/lib/legacy/main-thread-to-worker-fb98950d.legacy.js.map +0 -1
- package/lib/legacy/material-viewer-014c4b3c.legacy.js +0 -2
- package/lib/legacy/material-viewer-014c4b3c.legacy.js.map +0 -1
- package/lib/legacy/mesh-generator-e4d5131c.legacy.js +0 -2
- package/lib/legacy/mesh-generator-e4d5131c.legacy.js.map +0 -1
- package/lib/legacy/pixotron-3225a8b2.legacy.js +0 -2
- package/lib/legacy/planner-586ddb9d.legacy.js +0 -2
- package/lib/legacy/rapi-access-3bfec303.legacy.js +0 -16
- package/lib/legacy/rapi-access-3bfec303.legacy.js.map +0 -1
- package/lib/legacy/static/shaders-783e0f3c8bfe6cc2.json +0 -1
- package/lib/legacy/stats-helper-40981b2e.legacy.js +0 -2
- package/lib/main-thread-to-worker-97315397.nomodule.js.map +0 -1
- package/lib/main-thread-to-worker-9d399850.js +0 -2
- package/lib/main-thread-to-worker-9d399850.js.map +0 -1
- package/lib/material-viewer-68be1ea0.js +0 -2
- package/lib/material-viewer-68be1ea0.js.map +0 -1
- package/lib/material-viewer-d450271d.nomodule.js +0 -2
- package/lib/material-viewer-d450271d.nomodule.js.map +0 -1
- package/lib/material-viewer-main-df962eec.js +0 -2
- package/lib/material-viewer-main-df962eec.js.map +0 -1
- package/lib/mesh-generator-68230db7.js +0 -2
- package/lib/mesh-generator-68230db7.js.map +0 -1
- package/lib/mesh-generator-7425611d.nomodule.js +0 -2
- package/lib/mesh-generator-7425611d.nomodule.js.map +0 -1
- package/lib/pixotron-9fb32201.nomodule.js +0 -2
- package/lib/pixotron-e06b4406.js +0 -2
- package/lib/planner-c8feb6cc.nomodule.js +0 -2
- package/lib/planner-cc924d07.js +0 -2
- package/lib/planner-main-0b4d1c48.js +0 -2
- package/lib/planner-main-0b4d1c48.js.map +0 -1
- package/lib/rapi-access-9de4b8ee.js +0 -16
- package/lib/rapi-access-9de4b8ee.js.map +0 -1
- package/lib/rapi-access-c3754bb1.nomodule.js +0 -16
- package/lib/rapi-access-c3754bb1.nomodule.js.map +0 -1
- package/lib/roomle-sdk-25237d27.js +0 -2
- package/lib/roomle-sdk-25237d27.js.map +0 -1
- package/lib/static/shaders-783e0f3c8bfe6cc2.json +0 -1
- package/lib/stats-helper-2ba40e23.nomodule.js +0 -2
- package/lib/stats-helper-f8ec7e6b.js +0 -2
|
@@ -6,42 +6,47 @@ import { KernelComponent, PlanObject, UiPossibleChild } from '../../../typings/k
|
|
|
6
6
|
import { SceneSettings } from '../../../common-core/src/scene-settings-loader';
|
|
7
7
|
import { RapiMaterial } from '../../../typings/rapi-types';
|
|
8
8
|
import { BakedShadowParams } from '../../../typings/pixotron';
|
|
9
|
-
import
|
|
9
|
+
import ConfiguratorContext from '../../../common-core/src/webgl/configurator-context';
|
|
10
|
+
import ConfiguratorViewModel, { ConfiguratorViewModelCallbackI } from '../../../common-core/src/view-model/configurator-view-model';
|
|
10
11
|
import { CameraParameter } from '../../../common-core/src/cameracontrol/camera-control';
|
|
11
|
-
import { PrepareImageOptions, RenderOptions } from '../../../common-core/src/webgl/image-renderer';
|
|
12
|
+
import { CameraTarget, PrepareImageOptions, RenderOptions } from '../../../common-core/src/webgl/image-renderer';
|
|
12
13
|
import SceneManager from '../../../common-core/src/webgl/scene-manager';
|
|
13
14
|
import { CAMERA_TYPE } from '../../../common-core/src/cameracontrol/camera-type';
|
|
15
|
+
import PlannerKernelAccess from '../../../planner-core/src/services/planner-kernel-access';
|
|
14
16
|
export default class ConfiguratorSceneManager extends SceneManager implements ConfiguratorViewModelCallbackI {
|
|
15
17
|
_creator_: string;
|
|
16
18
|
private _configuratorInputManager;
|
|
17
19
|
private _configuratorUiCallbacks;
|
|
18
20
|
private _configuratorMeshGenerator;
|
|
19
21
|
private _memoryManager;
|
|
20
|
-
|
|
21
|
-
private _kernelAccess;
|
|
22
|
+
protected _configuratorContext: ConfiguratorContext;
|
|
22
23
|
private _componentDimensioningHelper;
|
|
23
|
-
private _configuratorViewModel;
|
|
24
24
|
private _configuratorHistory;
|
|
25
|
+
protected _plannerKernelAccess: PlannerKernelAccess;
|
|
26
|
+
protected _viewModel: ConfiguratorViewModel;
|
|
25
27
|
private _componentFactory;
|
|
26
28
|
private _componentRaycastHelper;
|
|
27
29
|
private _dimensionHelper;
|
|
28
30
|
private _uiIntersectionHelper;
|
|
29
31
|
private _sceneEventHandler;
|
|
30
|
-
|
|
31
|
-
constructor(creator: string, offset: CanvasOffset);
|
|
32
|
+
constructor(creator: string, offset: CanvasOffset, mode?: CAMERA_TYPE);
|
|
32
33
|
private _initOptionalModules;
|
|
34
|
+
enableConfiguratorEvents(): void;
|
|
35
|
+
disableConfiguratorEvents(): void;
|
|
36
|
+
protected _getViewModel(): ConfiguratorViewModel;
|
|
37
|
+
protected _getKernelAccess(): PlannerKernelAccess;
|
|
33
38
|
private _showDockings;
|
|
34
39
|
cancelDockings(): void;
|
|
35
40
|
private _cancelDockings;
|
|
36
41
|
private _onHoverOn;
|
|
37
42
|
private _onHoverOff;
|
|
38
|
-
private
|
|
43
|
+
private _highlightComponent;
|
|
39
44
|
protected shouldClearShadowsAndAO(): boolean;
|
|
40
45
|
resume(): void;
|
|
41
46
|
private _materialLoaded;
|
|
42
47
|
private _applySSR;
|
|
43
48
|
pause(): void;
|
|
44
|
-
protected _setupScene(offset?: CanvasOffset): void;
|
|
49
|
+
protected _setupScene(offset?: CanvasOffset, transparent?: boolean): void;
|
|
45
50
|
sceneCleared(shouldHardReset: boolean): void;
|
|
46
51
|
display(component: RoomleComponent): void;
|
|
47
52
|
debugSceneGraph(id?: number): void;
|
|
@@ -53,7 +58,7 @@ export default class ConfiguratorSceneManager extends SceneManager implements Co
|
|
|
53
58
|
preparePerspectiveImage(options?: PrepareImageOptions): Promise<Base64Image>;
|
|
54
59
|
renderImage(renderOptions: RenderOptions): Promise<Base64Image>;
|
|
55
60
|
preparePartImage(partId: number, options: PrepareImageOptions): Promise<any>;
|
|
56
|
-
|
|
61
|
+
protected _calculateBoundingBoxOfAllMeshes(spacing?: number, showDimensions?: boolean): CameraTarget;
|
|
57
62
|
private _externalMeshesAndMaterialsReady;
|
|
58
63
|
prepareTopImage(options?: PrepareImageOptions): Promise<Base64Image>;
|
|
59
64
|
enableDragIn(dragEvent: DragEvent): void;
|
|
@@ -70,7 +75,7 @@ export default class ConfiguratorSceneManager extends SceneManager implements Co
|
|
|
70
75
|
protected _onKeyDown(event: KeyboardEvent): void;
|
|
71
76
|
protected _onKeyUp(event: KeyboardEvent): void;
|
|
72
77
|
cancelPreviousDockings(): void;
|
|
73
|
-
|
|
78
|
+
cancelComponentSelection(resetCamera?: boolean): void;
|
|
74
79
|
private _cancelSelection;
|
|
75
80
|
private _selectComponent;
|
|
76
81
|
private _deselectComponent;
|
|
@@ -106,7 +111,7 @@ export default class ConfiguratorSceneManager extends SceneManager implements Co
|
|
|
106
111
|
highlightParts(ids: number[]): void;
|
|
107
112
|
private _shouldHighlight;
|
|
108
113
|
protected _getInputManager(): InputManager;
|
|
109
|
-
createCameraControl(_mode: CAMERA_TYPE, offset: CanvasOffset): void;
|
|
114
|
+
protected createCameraControl(_mode: CAMERA_TYPE, offset: CanvasOffset): void;
|
|
110
115
|
getBakedShadowParams(): BakedShadowParams;
|
|
111
116
|
getBounds(): THREE.Box3;
|
|
112
117
|
getPixotronParams(): any;
|
|
@@ -5,6 +5,7 @@ export declare const createPlanObject: () => PlanObject;
|
|
|
5
5
|
export declare const getRapiItem: () => RapiItem;
|
|
6
6
|
export declare const MOCK_RUNTIME_COMPONENTID = 49;
|
|
7
7
|
export declare const MOCK_MESHID = "adidas-focs:ShelfTable_Table_Large_Metall";
|
|
8
|
+
export declare const MOCK_MESH_ID_NUMBER = 42;
|
|
8
9
|
export declare const MOCK_GEOMETRY_ID = "#asdfjaksdklfasd";
|
|
9
10
|
export declare const MOCK_MATERIALID = "adidas:Metal";
|
|
10
11
|
export declare const MOCK_TRANSFORM: Float32Array;
|
|
@@ -14,7 +14,6 @@ export interface SelectionPayload {
|
|
|
14
14
|
export default class RoomlePlannerUiCallback extends UiCallback {
|
|
15
15
|
constructor(creator: string);
|
|
16
16
|
onItemsLoaded: () => void;
|
|
17
|
-
onBackStackChanged: (backStack: string[]) => void;
|
|
18
17
|
onCameraChanged: (type: CAMERA_TYPE) => void;
|
|
19
18
|
onTotalFloorAreaChanged: (totalFloorArea: number) => void;
|
|
20
19
|
onPlanInteractionHandlerCreated: (planInteractionHandler: PlanInteractionHandler) => void;
|
|
@@ -46,6 +45,10 @@ export default class RoomlePlannerUiCallback extends UiCallback {
|
|
|
46
45
|
* When something in the plan has changed
|
|
47
46
|
*/
|
|
48
47
|
onPlanChanged: () => void;
|
|
48
|
+
/**
|
|
49
|
+
* When an element in the plan has been added, removed or changed
|
|
50
|
+
*/
|
|
51
|
+
onPlanElementChanged: () => void;
|
|
49
52
|
/**
|
|
50
53
|
* When the plan has been completely loaded
|
|
51
54
|
*/
|
|
@@ -4,7 +4,6 @@ import Main, { ExternalEmbeddable, GlobalAPI, KernelUtilityForUi } from '../../c
|
|
|
4
4
|
import { Configurator } from '../../configurator-core/src/configurator';
|
|
5
5
|
import { GlobalInitDataDefinition, InitDataDefinition } from '../../common-core/src/utils/shims';
|
|
6
6
|
import { RapiId, RapiItem } from '../../typings/rapi-types';
|
|
7
|
-
import { BackstackCallbacks } from './services/backstack';
|
|
8
7
|
import { Context } from '../../common-core/src/di/context';
|
|
9
8
|
import { KernelObject, KernelWall, PlanInteractionHandler, PlanModelViewHelper, PlanOverview } from '../../typings/planner';
|
|
10
9
|
import { KernelAccessCallbackI } from '../../common-core/src/kernel-access-callback';
|
|
@@ -13,6 +12,7 @@ import { CanvasOffset, Position3 } from '../../common-core/src/common-interfaces
|
|
|
13
12
|
import { PrepareImageOptions } from '../../common-core/src/webgl/image-renderer';
|
|
14
13
|
import { DynamicLightSettingSource } from '../../common-core/src/lightsetting/dynamic-light-setting-loader';
|
|
15
14
|
import { KernelParameter, KernelPartList, UiPlanObject } from '../../typings/kernel';
|
|
15
|
+
import RoomleConfigurator from '../../configurator-core/src/roomle-configurator';
|
|
16
16
|
export interface RoomlePlannerCallback {
|
|
17
17
|
switchToConfigurator: () => Promise<Configurator>;
|
|
18
18
|
switchToViewer: () => Promise<GlbViewer>;
|
|
@@ -31,7 +31,7 @@ export interface WallDefinition {
|
|
|
31
31
|
export interface InteractionOptions {
|
|
32
32
|
keepInteractionOpen?: boolean;
|
|
33
33
|
}
|
|
34
|
-
export default class RoomlePlanner implements KernelAccessCallbackI, RoomlePlannerCallback, GlobalAPI,
|
|
34
|
+
export default class RoomlePlanner implements KernelAccessCallbackI, RoomlePlannerCallback, GlobalAPI, Context, KernelUtilityForUi, ExternalEmbeddable<RoomlePlannerUiCallback> {
|
|
35
35
|
_creator_: string;
|
|
36
36
|
private _domHelper;
|
|
37
37
|
private _scriptLoader;
|
|
@@ -41,7 +41,6 @@ export default class RoomlePlanner implements KernelAccessCallbackI, RoomlePlann
|
|
|
41
41
|
private _singlePromiseFactory;
|
|
42
42
|
private _roomlePlannerUiCallback;
|
|
43
43
|
private _lifeCycleManager;
|
|
44
|
-
private _backstack;
|
|
45
44
|
private _threeLoader;
|
|
46
45
|
private _dataSyncer;
|
|
47
46
|
protected _initData: InitData;
|
|
@@ -54,6 +53,8 @@ export default class RoomlePlanner implements KernelAccessCallbackI, RoomlePlann
|
|
|
54
53
|
private _kernelReadyCallback;
|
|
55
54
|
private _hscInstance;
|
|
56
55
|
private _glbInstance;
|
|
56
|
+
private _configurator;
|
|
57
|
+
private _currentMode;
|
|
57
58
|
constructor(creator: string);
|
|
58
59
|
deleteSelection(): void;
|
|
59
60
|
/**
|
|
@@ -79,6 +80,10 @@ export default class RoomlePlanner implements KernelAccessCallbackI, RoomlePlann
|
|
|
79
80
|
enableHD(source?: DynamicLightSettingSource): Promise<void>;
|
|
80
81
|
isReady(): void;
|
|
81
82
|
showBenchmarks(): void;
|
|
83
|
+
getConfiguratorApi(): RoomleConfigurator;
|
|
84
|
+
startViewing(): void;
|
|
85
|
+
startConfiguring(): void;
|
|
86
|
+
backToPlanner(): void;
|
|
82
87
|
switchToConfigurator(): Promise<Configurator>;
|
|
83
88
|
switchToViewer(): Promise<GlbViewer>;
|
|
84
89
|
switchToPlanner(id?: string): void;
|
|
@@ -94,10 +99,9 @@ export default class RoomlePlanner implements KernelAccessCallbackI, RoomlePlann
|
|
|
94
99
|
get callbacks(): RoomlePlannerUiCallback;
|
|
95
100
|
set callbacks(callback: RoomlePlannerUiCallback);
|
|
96
101
|
showStats(): void;
|
|
97
|
-
onBackStackChanged(currentStack: string[]): void;
|
|
98
102
|
onCloseHSC(): void;
|
|
99
103
|
back(): void;
|
|
100
|
-
backTo(
|
|
104
|
+
backTo(_cssClass: string): void;
|
|
101
105
|
getConfigurator(): Configurator;
|
|
102
106
|
getCurrentSkin(): Promise<import("../../typings/rapi-types").RapiSkin>;
|
|
103
107
|
/**
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { KernelEnum
|
|
2
|
-
import PlanViewModel from '../view-model/plan-view-model';
|
|
1
|
+
import { KernelEnum } from '../../../typings/kernel';
|
|
3
2
|
import { KernelObject, Plan, PlanElement, PlanInteractionHandler, PlanObject } from '../../../typings/planner';
|
|
4
|
-
import
|
|
5
|
-
import { ConfigurationString, RapiConfiguration, RapiId, RapiItem } from '../../../typings/rapi-types';
|
|
3
|
+
import { RapiConfiguration, RapiItem } from '../../../typings/rapi-types';
|
|
6
4
|
import RoomlePlannerUiCallback from '../roomle-planner-ui-callback';
|
|
7
5
|
import PlanElementViewModel from '../../../common-core/src/view-model/plan-element-view-model';
|
|
8
6
|
import { Position3 } from '../../../common-core/src/common-interfaces';
|
|
7
|
+
import ConfiguratorKernelAccess from '../../../common-core/src/configurator-kernel-access';
|
|
9
8
|
export interface PlannerKernelCallbackI {
|
|
10
|
-
handlerSwitchedPlans(
|
|
9
|
+
handlerSwitchedPlans(fromPlan: Plan, toPlan: Plan): void;
|
|
11
10
|
planCompletelyLoaded(plan: Plan): void;
|
|
12
11
|
beginPlanConstruction(plan: Plan): void;
|
|
13
12
|
addMesh(planElement: PlanElement, material: any, vertices: Int32Array, indices: Int32Array, uvCoords: Float32Array, normals: Float32Array): void;
|
|
@@ -20,15 +19,15 @@ export interface PlannerKernelCallbackI {
|
|
|
20
19
|
planObjectConfigurationLoaded(plan: Plan, element: PlanElement, success: boolean): void;
|
|
21
20
|
planBoundsChanged(): void;
|
|
22
21
|
}
|
|
23
|
-
export default class PlannerKernelAccess extends
|
|
22
|
+
export default class PlannerKernelAccess extends ConfiguratorKernelAccess {
|
|
24
23
|
private _kernelAccessCallback;
|
|
25
24
|
private _roomlePlannerUiCallback;
|
|
26
25
|
private _planInteractionHandler;
|
|
27
26
|
private _plannerKernelCallbackListener;
|
|
28
27
|
get kernelContainer(): any;
|
|
29
28
|
constructor(creator: string);
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
protected _loadSuccess(): void;
|
|
30
|
+
protected _loadError(): void;
|
|
32
31
|
private _createPlanInteractionHandler;
|
|
33
32
|
addPlannerListener(listener: PlannerKernelCallbackI): void;
|
|
34
33
|
removePlannerListener(listener: PlannerKernelCallbackI): void;
|
|
@@ -39,58 +38,10 @@ export default class PlannerKernelAccess extends CommonKernelAccess {
|
|
|
39
38
|
catalogItemLoaded(catalogItem: RapiItem): void;
|
|
40
39
|
insertItems(itemList: Array<RapiItem | RapiConfiguration>): Promise<void>;
|
|
41
40
|
private _rapiItemToKernelItem;
|
|
42
|
-
onLoadComponentError(_error: Error, _id: RapiId): void;
|
|
43
|
-
configurationLoaded(_conversationId: number, _objectId: number, _componentId: number, _hash: string, _errors: any): void;
|
|
44
|
-
componentDefinitionLoaded(_conversationId: number, _componentId: number): void;
|
|
45
|
-
componentDefinitionLoadingError(_conversationId: number, _errorMessage: string): void;
|
|
46
|
-
configurationLoadingError(): void;
|
|
47
|
-
componentConfigurationUpdated(_componentId: number): void;
|
|
48
|
-
componentParameters(): void;
|
|
49
|
-
requestComponentDimensions(): void;
|
|
50
|
-
planObjectCreated(_conversationId: number, _planObjectId: number): void;
|
|
51
|
-
planObjectUpdated(_planObjectId: number): void;
|
|
52
|
-
planObjectConfigurationUpdated(_planObjectId: number, _configuration: ConfigurationString, _hash: string): void;
|
|
53
41
|
planObjectDeleted(): void;
|
|
54
42
|
requestPlanObjectDimensions(): void;
|
|
55
43
|
cleanUpCallbacks(): void;
|
|
56
44
|
registerCallbacks(): void;
|
|
57
|
-
requestExternalMesh(meshId: string, quality: number): Promise<void>;
|
|
58
|
-
Editor3dRootComponentCreated(id: number, position: KernelVector3, eulerAngles: KernelVector3, parentObjectRuntimeId: number): void;
|
|
59
|
-
Editor3dPlanObjectConstructionDone(_planObjectId: number): void;
|
|
60
|
-
Editor3dBeginGroup(): void;
|
|
61
|
-
Editor3dEndGroup(): void;
|
|
62
|
-
Editor3dSetMaterial(): void;
|
|
63
|
-
Editor3dLoadMaterial(): void;
|
|
64
|
-
Editor3dAddDockPreview(_componentId: number, _previewId: number): void;
|
|
65
|
-
Editor3dSetPreviewPointAssociations(_dockPairs: any, _previewId: number): void;
|
|
66
|
-
Editor3dSetPreviewLineAssociations(_dockLines: any, _previewId: number): void;
|
|
67
|
-
Editor3dPreviewConstructionDone(_componentId: number, _objectId: number): void;
|
|
68
|
-
Editor3dTranslateBy(): void;
|
|
69
|
-
Editor3dRotateBy(): void;
|
|
70
|
-
Editor3dRotateAround(): void;
|
|
71
|
-
Editor3dAddCube(): void;
|
|
72
|
-
Editor3dAddCubeUVMod(): void;
|
|
73
|
-
Editor3dAddSphere(): void;
|
|
74
|
-
Editor3dAddSphereUVMod(): void;
|
|
75
|
-
Editor3dAddRectangle(): void;
|
|
76
|
-
Editor3dAddRectangleUVMod(): void;
|
|
77
|
-
Editor3dAddMesh(): void;
|
|
78
|
-
Editor3dAddMeshUVMod(): void;
|
|
79
|
-
Editor3dAddMeshUVCoord(): void;
|
|
80
|
-
Editor3dAddCylinder(): void;
|
|
81
|
-
Editor3dAddCylinderUVMod(): void;
|
|
82
|
-
Editor3dAddPrism(): void;
|
|
83
|
-
Editor3dAddPrismUVMod(): void;
|
|
84
|
-
Editor3dAddFittingPoint(): void;
|
|
85
|
-
Editor3dAddFittingLine(): void;
|
|
86
|
-
Editor3dSelectObject(): void;
|
|
87
|
-
Editor3dCopy(): void;
|
|
88
|
-
Editor3dUpdatePlanObjectPosition(): void;
|
|
89
|
-
Editor3dUpdatePlanObjectRotation(): void;
|
|
90
|
-
Editor3dUpdatePlanObjectTransform(): void;
|
|
91
|
-
Editor3dUpdatePlanComponentPosition(): void;
|
|
92
|
-
Editor3dUpdatePlanComponentRotation(): void;
|
|
93
|
-
Editor3dUpdatePlanComponentTransform(): void;
|
|
94
45
|
planElementRemoved(element: PlanElement): void;
|
|
95
46
|
handlerSwitchedPlans(fromPlan: Plan, toPlan: Plan): void;
|
|
96
47
|
planBoundsChanged(): void;
|
|
@@ -113,6 +64,6 @@ export default class PlannerKernelAccess extends CommonKernelAccess {
|
|
|
113
64
|
addPlanMesh(plan: Plan, material: any, vertices: Int32Array, indices: Int32Array, uvCoords: Float32Array, normals: Float32Array, type: KernelEnum): void;
|
|
114
65
|
endPlanConstruction(plan: Plan): void;
|
|
115
66
|
addPlanObjectFromItem(rapiElement: RapiItem | RapiConfiguration, position?: Position3, rotation?: number): KernelObject | Promise<void>;
|
|
116
|
-
|
|
67
|
+
coupleReferences(jsObject: any, coreReference: KernelObject): void;
|
|
117
68
|
private _decoupleReferences;
|
|
118
69
|
}
|
|
@@ -6,7 +6,6 @@ import PlannerSceneEventHandler from '../webgl/planner-scene-event-handler';
|
|
|
6
6
|
import StaticPlanObjectViewModel from './static-plan-object-view-model';
|
|
7
7
|
import ConfiguratorViewModel from '../../../common-core/src/view-model/configurator-view-model';
|
|
8
8
|
import { KernelEnum, KernelVector3 } from '../../../typings/kernel';
|
|
9
|
-
import CommonKernelAccess from '../../../common-core/src/services/common-kernel-access';
|
|
10
9
|
import PlanElementViewModel from '../../../common-core/src/view-model/plan-element-view-model';
|
|
11
10
|
import MeshGenerator from '../../../common-core/src/webgl/mesh-generator';
|
|
12
11
|
export declare const GROUP_CONSTRUCTION = "Construction";
|
|
@@ -14,6 +13,7 @@ export declare const GROUP_CEILING = "Ceiling";
|
|
|
14
13
|
export declare const GROUP_FLOOR = "Ceiling";
|
|
15
14
|
export default class PlanViewModel extends ConfiguratorViewModel implements PlannerKernelCallbackI {
|
|
16
15
|
private _plannerMeshGenerator;
|
|
16
|
+
private _roomlePlannerUiCallback;
|
|
17
17
|
private _coreReference;
|
|
18
18
|
private _configurablePlanObjectViewModels;
|
|
19
19
|
private _staticPlanObjectViewModels;
|
|
@@ -23,7 +23,6 @@ export default class PlanViewModel extends ConfiguratorViewModel implements Plan
|
|
|
23
23
|
private _plannerSceneEventHandler;
|
|
24
24
|
constructor(creator: string);
|
|
25
25
|
planBoundsChanged(): void;
|
|
26
|
-
protected _getKernelAccess(): CommonKernelAccess;
|
|
27
26
|
setReference(plan: Plan): void;
|
|
28
27
|
clearReference(): void;
|
|
29
28
|
getCorePlan(): Plan;
|
|
@@ -51,12 +50,11 @@ export default class PlanViewModel extends ConfiguratorViewModel implements Plan
|
|
|
51
50
|
setPlannerSceneEventHandler(plannerSceneEventHandler: PlannerSceneEventHandler): void;
|
|
52
51
|
sceneCleared(): void;
|
|
53
52
|
getStaticPlanObjectViewModels(): StaticPlanObjectViewModel[];
|
|
54
|
-
|
|
55
|
-
protected _generateMesh(_runtimeComponentId: number, meshId: string, material: any, vertices: Int32Array, indices: Int32Array, uvCoords: Float32Array, normals: Float32Array, type?: KernelEnum, newGeometryInstance?: boolean): THREE.Mesh;
|
|
53
|
+
protected _generateMesh(runtimeComponentId: number, geometryId: string, material: any, vertices: Int32Array, indices: Int32Array, uvCoords: Float32Array, normals: Float32Array, type?: KernelEnum, newGeometryInstance?: boolean): THREE.Mesh;
|
|
56
54
|
protected _setMaterial(mesh: THREE.Mesh, material: any, _type?: KernelEnum): void;
|
|
57
55
|
Editor3dComponentCreated(id: number, position: KernelVector3, eulerAngles: KernelVector3, parentObjectRuntimeId: number, isRootComponent: boolean): void;
|
|
58
56
|
addPlanObjectToScene(_planViewModel: PlanElementViewModel): void;
|
|
59
|
-
handlerSwitchedPlans(
|
|
57
|
+
handlerSwitchedPlans(_fromPlan: Plan, _toPlan: Plan): void;
|
|
60
58
|
planCompletelyLoaded(_plan: Plan): void;
|
|
61
59
|
beginPlanConstruction(_plan: Plan): void;
|
|
62
60
|
addPlanMesh(_plan: Plan, _material: any, _vertices: Int32Array, _indices: Int32Array, _uvCoords: Float32Array, _normals: Float32Array, _type: KernelEnum): void;
|
|
@@ -68,4 +66,7 @@ export default class PlanViewModel extends ConfiguratorViewModel implements Plan
|
|
|
68
66
|
private _isConstructionType;
|
|
69
67
|
planElementRemoved(element: PlanElement): void;
|
|
70
68
|
protected getMeshGenerator(): MeshGenerator;
|
|
69
|
+
componentConfigurationUpdated(runtimeComponentId: number, geometryChanged: boolean): void;
|
|
70
|
+
hideAllExcept(planObjectId: number): void;
|
|
71
|
+
showAll(): void;
|
|
71
72
|
}
|
|
@@ -9,7 +9,7 @@ export default class PlannerMeshGenerator extends MeshGenerator {
|
|
|
9
9
|
private _defaultMaterial;
|
|
10
10
|
constructor(creator: string);
|
|
11
11
|
generateGeometry(meshId: string, vertices: Int32Array, indices: Int32Array, uvCoords: Float32Array, normals: Float32Array, newGeometryInstance?: boolean): THREE.BufferGeometry;
|
|
12
|
-
generateMesh(
|
|
12
|
+
generateMesh(runtimeComponentId: number, geometryId: string, materialId: BaseMaterial | string, vertices: Int32Array, indices: Int32Array, uvCoords: Float32Array, normals: Float32Array, type?: KernelEnum, newGeometryInstance?: boolean): THREE.Mesh;
|
|
13
13
|
setMaterial(mesh: THREE.Mesh, material: BaseMaterial | string, type?: KernelEnum): Promise<void>;
|
|
14
14
|
set maxAnisotropy(maxAnisotropy: number);
|
|
15
15
|
private _checkWallMaterial;
|
|
@@ -40,8 +40,10 @@ export default class PlannerSceneEventHandler extends SceneEventHandler<SceneEve
|
|
|
40
40
|
private _position;
|
|
41
41
|
private _state;
|
|
42
42
|
constructor(creator: string, scene: THREE.Scene, camera: THREE.Camera, inputManager: InputManager);
|
|
43
|
+
disable(): void;
|
|
44
|
+
enable(): void;
|
|
43
45
|
getSelectionMode(): SELECTION_MODE;
|
|
44
|
-
addPlanObjectHandlers(planObjectViewModel: PlanObjectViewModel, object?: THREE.Object3D):
|
|
46
|
+
addPlanObjectHandlers(planObjectViewModel: PlanObjectViewModel, object?: THREE.Object3D): void;
|
|
45
47
|
addWallHandlers(planElementViewModel: PlanElementViewModel): void;
|
|
46
48
|
private _addPlanObjectHandlers;
|
|
47
49
|
private _addPlanElementHandlers;
|
|
@@ -1,25 +1,24 @@
|
|
|
1
1
|
import { Base64Image, CanvasOffset } from '../../../common-core/src/common-interfaces';
|
|
2
2
|
import { PlannerKernelCallbackI } from '../services/planner-kernel-access';
|
|
3
3
|
import { Plan, PlanElement } from '../../../typings/planner';
|
|
4
|
-
import PlanViewModel from '../view-model/plan-view-model';
|
|
5
|
-
import SceneManager from '../../../common-core/src/webgl/scene-manager';
|
|
6
4
|
import { KernelEnum } from '../../../typings/kernel';
|
|
7
5
|
import PlannerSceneEventHandler from './planner-scene-event-handler';
|
|
8
6
|
import { RoomlePlannerCallback } from '../roomle-planner';
|
|
9
7
|
import InputManager from '../../../common-core/src/input/input-manager';
|
|
8
|
+
import { SelectionPayload } from '../roomle-planner-ui-callback';
|
|
10
9
|
import { CAMERA_TYPE } from '../../../common-core/src/cameracontrol/camera-type';
|
|
11
10
|
import PlanElementViewModel from '../../../common-core/src/view-model/plan-element-view-model';
|
|
12
11
|
import { BakedShadowParams } from '../../../typings/pixotron';
|
|
13
|
-
import { PrepareImageOptions } from '../../../common-core/src/webgl/image-renderer';
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
import { CameraTarget, PrepareImageOptions } from '../../../common-core/src/webgl/image-renderer';
|
|
13
|
+
import PlanViewModel from '../view-model/plan-view-model';
|
|
14
|
+
import ConfiguratorSceneManager from '../../../configurator-core/src/webgl/configurator-scene-manager';
|
|
15
|
+
export default class PlannerSceneManager extends ConfiguratorSceneManager implements PlannerKernelCallbackI {
|
|
16
16
|
private _rapiAccess;
|
|
17
17
|
private _plannerMeshGenerator;
|
|
18
18
|
private _plannerInputManager;
|
|
19
19
|
private _roomlePlannerUiCallback;
|
|
20
20
|
private _localStorageHelper;
|
|
21
21
|
private _plannerSceneEventHandler;
|
|
22
|
-
private _planViewModel;
|
|
23
22
|
private _roomlePlannerCallback;
|
|
24
23
|
private _sky;
|
|
25
24
|
private _planId;
|
|
@@ -27,30 +26,36 @@ export default class PlannerSceneManager extends SceneManager implements Planner
|
|
|
27
26
|
private _staticItemGuard;
|
|
28
27
|
private _configurableItemGuard;
|
|
29
28
|
private _dragStartBounds;
|
|
30
|
-
|
|
29
|
+
currentSelection: SelectionPayload;
|
|
30
|
+
constructor(creator: string, offset: CanvasOffset, plannerCallback: RoomlePlannerCallback, mode: CAMERA_TYPE);
|
|
31
|
+
protected _getViewModel(): PlanViewModel;
|
|
31
32
|
private _getDragPosition;
|
|
32
33
|
private _onSelectionChange;
|
|
34
|
+
private _onSelectionCancel;
|
|
35
|
+
resetConfiguratorContext(): void;
|
|
33
36
|
protected _setupScene(offset?: CanvasOffset, transparent?: boolean): void;
|
|
34
37
|
protected onBeforeRender(): void;
|
|
35
38
|
protected _getInputManager(): InputManager;
|
|
36
39
|
protected createCameraControl(mode: CAMERA_TYPE, _offset: CanvasOffset): void;
|
|
40
|
+
startViewing(): void;
|
|
41
|
+
startConfiguring(): void;
|
|
42
|
+
backToPlanner(): void;
|
|
37
43
|
resetCamera(): void;
|
|
38
44
|
resetCameraToState(): void;
|
|
39
|
-
resetCameraPositionToStart(): void;
|
|
40
45
|
private _getYRotationOfObject;
|
|
41
46
|
loadStaticPlanObjects(): void;
|
|
42
47
|
private _staticItemsLoaded;
|
|
43
48
|
preload(id: string): void;
|
|
44
49
|
planXMLLoaded(plan: Plan): void;
|
|
45
50
|
planCompletelyLoaded(_plan: Plan): void;
|
|
46
|
-
handlerSwitchedPlans(
|
|
51
|
+
handlerSwitchedPlans(fromPlan: Plan, toPlan: Plan): void;
|
|
47
52
|
private _itemsLoaded;
|
|
48
53
|
beginPlanConstruction(_plan: Plan): void;
|
|
49
54
|
addPlanMesh(_plan: Plan, _material: any, _vertices: Int32Array, _indices: Int32Array, _uvCoords: Float32Array, _normals: Float32Array, _type: KernelEnum): void;
|
|
50
55
|
endPlanConstruction(_plan: Plan): void;
|
|
51
56
|
addPlanObjectToScene(planViewModel: PlanElementViewModel): void;
|
|
52
57
|
removePlanObjectFromScene(planViewModel: PlanElementViewModel): void;
|
|
53
|
-
planElementChanged(_plan: Plan,
|
|
58
|
+
planElementChanged(_plan: Plan, _planViewModel: PlanElementViewModel): void;
|
|
54
59
|
exportGLB(exportObjects?: THREE.Object3D[], id?: string): void;
|
|
55
60
|
importGLB(url: string): void;
|
|
56
61
|
clearScene(): void;
|
|
@@ -66,7 +71,7 @@ export default class PlannerSceneManager extends SceneManager implements Planner
|
|
|
66
71
|
private _checkNumKey;
|
|
67
72
|
protected _onKeyUp(event: KeyboardEvent): void;
|
|
68
73
|
setMode(mode: CAMERA_TYPE): void;
|
|
69
|
-
private
|
|
74
|
+
private _highlightPlanElement;
|
|
70
75
|
destroy(): void;
|
|
71
76
|
getPixotronParams(): any;
|
|
72
77
|
getBakedShadowParams(): BakedShadowParams;
|
|
@@ -76,17 +81,19 @@ export default class PlannerSceneManager extends SceneManager implements Planner
|
|
|
76
81
|
private _updateCamera;
|
|
77
82
|
private _zoomToBounds;
|
|
78
83
|
getBounds(): THREE.Box3;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
84
|
+
cancelPlanElementSelection(): void;
|
|
85
|
+
deletePlanElementSelection(): void;
|
|
86
|
+
rotatePlanElementSelection(rotateBy: number): void;
|
|
82
87
|
planBoundsChanged(): void;
|
|
83
88
|
planElementRemoved(_element: PlanElement): void;
|
|
84
89
|
private _onPlanChanged;
|
|
85
90
|
prepareTopImage(options?: PrepareImageOptions): Promise<Base64Image>;
|
|
86
91
|
preparePerspectiveImage(options?: PrepareImageOptions): Promise<Base64Image>;
|
|
87
|
-
|
|
92
|
+
protected _calculateBoundingBoxOfAllMeshes(spacing?: number): CameraTarget;
|
|
88
93
|
enableRotation(): void;
|
|
89
94
|
disableRotation(): void;
|
|
90
95
|
dragIn(dragEvent: DragEvent): void;
|
|
91
96
|
getPlannerSceneEventHandler(): PlannerSceneEventHandler;
|
|
97
|
+
disablePlannerEvents(): void;
|
|
98
|
+
enablePlannerEvents(): void;
|
|
92
99
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["./roomle-dependency-injection-fcee42fb.nomodule.js","./main-thread-to-worker-1f6a23af.nomodule.js"],(function(e){var t,i,s,n,h;return{setters:[function(e){t=e.m,i=e._,s=e.i,n=e.e,h=e.ae},function(){}],execute:function(){const o="component_dimensioning_plane_material",a="component_dimensioning_text_material";let _=(()=>{class e extends THREE.Object3D{constructor(e){super(),this._label="",this._parameters={font:null,size:.1,height:.001,curveSegments:2,bevelEnabled:!0,bevelThickness:.001,bevelSize:.001},this.topDown=!1,this._parameters.font=e,this._position=new THREE.Vector3,this._initMaterials(),this._init(),this._update()}_initMaterials(){this._cacheHolder.materialCache.has(o)?this._planeMaterial=this._cacheHolder.materialCache.get(o):(this._planeMaterial=new THREE.MeshBasicMaterial({color:16777215,side:THREE.DoubleSide,opacity:.8,transparent:!0}),this._cacheHolder.materialCache.set(o,this._planeMaterial)),this._cacheHolder.materialCache.has(a)?this._textMaterial=this._cacheHolder.materialCache.get(a):(this._textMaterial=new THREE.MeshPhongMaterial({color:3618615}),this._cacheHolder.materialCache.set(a,this._textMaterial))}_init(){let e=new THREE.Geometry;this._text=new THREE.Mesh(e,this._textMaterial),this._text.name="text with background text "+this._label,this._plane=new THREE.Mesh(e,this._planeMaterial),this._plane.name="text with background plane "+this._label,this._textGeometry=new THREE.TextGeometry(this._label,this._parameters),this._textGeometry.computeBoundingBox(),this._text.geometry=this._textGeometry,this.add(this._text),this.add(this._plane)}update(e,t,i,s){this._position.copy(e),this._dimensioningType=t,this._cameraPosition=s,this._label=i;const n=this._cameraPosition.distanceTo(this._text.position),h=Math.max(.01,n/100),o=Math.max(5e-4,n/5e3);this._parameters.bevelThickness=o,this._parameters.bevelSize=o,this._parameters.size=h,this._textGeometry=new THREE.TextGeometry(this._label,this._parameters),this._textGeometry.computeBoundingBox(),this._text.geometry=this._textGeometry,this._update()}_update(){if(this.topDown){let e=new THREE.Quaternion;e.setFromAxisAngle(new THREE.Vector3(-1,0,0),Math.PI/2),this._updateText(this._textGeometry,e,new THREE.Vector3)}else if(this._updateText(this._textGeometry,new THREE.Quaternion,new THREE.Vector3),this._cameraPosition){const e=Math.atan2(this._cameraPosition.x-this._position.x,this._cameraPosition.z-this._position.z);this._text.rotation.y=e,this._plane.rotation.y=e}}_updateText(e,t,i){let s=new THREE.Vector3;s.copy(this._position),i.x*=this._getXSign(),s.add(i);let n=e.boundingBox.getSize(new THREE.Vector3);e.center(),this._text.position.copy(s),this._text.quaternion.copy(t);let h=new THREE.PlaneGeometry(n.x+.02,n.y+.02,32);h.center(),this._plane.geometry=h,this._plane.position.copy(s),this._plane.quaternion.copy(t)}_getXSign(){return!this._cameraPosition||this._cameraPosition.x>=0?1:-1}dispose(){t(this)}}return i([s],e.prototype,"_cacheHolder",void 0),e})();e("default",(()=>{class e{constructor(e){this._cameraPosition=new THREE.Vector3,this._textUpdated=!1,this._topDimensions=!1,this._initialized=new n,this._enabled=!1,this._dimensionsVisible=!1,this._creator_=e,this._lineMaterial=new THREE.LineBasicMaterial({color:3618615,linewidth:2});let t=new THREE.Geometry;this._widthLine=new THREE.Line(t,this._lineMaterial),this._widthLine.name="dimension width line",this._heightLine=new THREE.Line(t,this._lineMaterial),this._heightLine.name="dimension height line",this._depthLine=new THREE.Line(t,this._lineMaterial),this._depthLine.name="dimension depth line",this._planeMaterial=new THREE.MeshBasicMaterial({color:16777215,side:THREE.DoubleSide,opacity:.8,transparent:!0}),h.loadFont("static/rubik_regular_sub-eb3f3b61078695cc.json").then(e=>{this._font=e,this._loaded()})}_loaded(){this.update(!1),this.addToScene(this._scene,this._uiScene),this._initialized.resolve()}_performUpdate(e){this._enabled&&(this._lineBounds||e)&&this._font&&(this._updateHeight(),this._updateWidth(),this._updateDepth())}_updateWidth(){let e=new THREE.Geometry,t=this._getWidthEdge();e.vertices.push(t.start,t.end),this._widthLine.geometry.dispose(),this._widthLine.geometry=e;let i=t.getCenter(new THREE.Vector3);this._widthText||(this._widthText=new _(this._font)),this._widthText.topDown=this._topDimensions;const s=this._unitFormatter.formatMMValueToUnitString(1e3*this._dimensions.x);this._widthText.update(i,0,s,this._cameraPosition)}_updateHeight(){let e=new THREE.Geometry,t=this._getHeightEdge();e.vertices.push(t.start,t.end),this._heightLine.geometry.dispose(),this._heightLine.geometry=e;let i=t.getCenter(new THREE.Vector3);this._heightText||(this._heightText=new _(this._font)),this._heightText.topDown=this._topDimensions;const s=this._unitFormatter.formatMMValueToUnitString(1e3*this._dimensions.y);this._heightText.update(i,1,s,this._cameraPosition)}_updateDepth(){let e=new THREE.Geometry,t=this._getDepthEdge();e.vertices.push(t.start,t.end),this._depthLine.geometry.dispose(),this._depthLine.geometry=e;let i=t.getCenter(new THREE.Vector3);this._depthText||(this._depthText=new _(this._font)),this._depthText.topDown=this._topDimensions;const s=this._unitFormatter.formatMMValueToUnitString(1e3*this._dimensions.z);this._depthText.update(i,2,s,this._cameraPosition)}updateBounds(e){this._dimensions=e.getSize(new THREE.Vector3),this._lineBounds=e.clone();let t=this._lineBounds.min.y<0?this._lineBounds.min.y:0;t-=.01,this._lineBounds.expandByVector(new THREE.Vector3(.05,t,.05)),this._textUpdated=!1,this.update()}update(e=!1){this._enabled&&!this._dimensionsVisible&&(this._dimensionsVisible=!0,this._visibilityChangedCallback()),this._performUpdate(e)}addToScene(e,t){this._widthText&&this._widthLine&&this._heightText&&this._heightLine&&this._heightText&&this._heightLine&&(e.add(this._widthLine),t.add(this._widthText),e.add(this._heightLine),t.add(this._heightText),e.add(this._depthLine),t.add(this._depthText))}removeFromScene(e,t){e.remove(this._widthLine),t.remove(this._widthText),e.remove(this._heightLine),t.remove(this._heightText),e.remove(this._depthLine),t.remove(this._depthText)}_getWidthEdge(){return this._cameraPosition.z>=0?new THREE.Line3(new THREE.Vector3(this._lineBounds.min.x,this._lineBounds.min.y,this._lineBounds.max.z),new THREE.Vector3(this._lineBounds.max.x,this._lineBounds.min.y,this._lineBounds.max.z)):new THREE.Line3(new THREE.Vector3(this._lineBounds.min.x,this._lineBounds.min.y,this._lineBounds.min.z),new THREE.Vector3(this._lineBounds.max.x,this._lineBounds.min.y,this._lineBounds.min.z))}_getDepthEdge(){return this._cameraPosition.x>=0?new THREE.Line3(new THREE.Vector3(this._lineBounds.max.x,this._lineBounds.min.y,this._lineBounds.min.z),new THREE.Vector3(this._lineBounds.max.x,this._lineBounds.min.y,this._lineBounds.max.z)):new THREE.Line3(new THREE.Vector3(this._lineBounds.min.x,this._lineBounds.min.y,this._lineBounds.min.z),new THREE.Vector3(this._lineBounds.min.x,this._lineBounds.min.y,this._lineBounds.max.z))}_getHeightEdge(){return this._cameraPosition.x>=0&&this._cameraPosition.z>=0?new THREE.Line3(new THREE.Vector3(this._lineBounds.max.x,this._lineBounds.min.y,this._lineBounds.max.z),new THREE.Vector3(this._lineBounds.max.x,this._lineBounds.max.y,this._lineBounds.max.z)):this._cameraPosition.x<0&&this._cameraPosition.z>=0?new THREE.Line3(new THREE.Vector3(this._lineBounds.min.x,this._lineBounds.min.y,this._lineBounds.max.z),new THREE.Vector3(this._lineBounds.min.x,this._lineBounds.max.y,this._lineBounds.max.z)):this._cameraPosition.x>=0&&this._cameraPosition.z<0?new THREE.Line3(new THREE.Vector3(this._lineBounds.max.x,this._lineBounds.min.y,this._lineBounds.min.z),new THREE.Vector3(this._lineBounds.max.x,this._lineBounds.max.y,this._lineBounds.min.z)):new THREE.Line3(new THREE.Vector3(this._lineBounds.min.x,this._lineBounds.min.y,this._lineBounds.min.z),new THREE.Vector3(this._lineBounds.min.x,this._lineBounds.max.y,this._lineBounds.min.z))}onDimensionsVisibilityChanged(e){this._onChange=e}enableTopDimensions(){this.enableDimensions(),this._topDimensions=!0,this._heightLine.visible=!1,this._heightText.visible=!1,this.update(!0)}disableTopDimensions(){this._topDimensions=!1,this._heightLine.visible=!0,this._heightText.visible=!0,this.disableDimensions()}enableDimensions(){this._enabled=!0,this.update(!0),this.addToScene(this._scene,this._uiScene)}disableDimensions(){this._enabled=!1,this._dimensionsVisible&&(this._dimensionsVisible=!1,this._visibilityChangedCallback()),this.removeFromScene(this._scene,this._uiScene)}_visibilityChangedCallback(){this._onChange&&this._onChange(this._dimensionsVisible)}_clear(){this._lineMaterial.dispose(),this._planeMaterial.dispose(),this._widthLine.geometry.dispose(),this._heightLine.geometry.dispose(),this._depthLine.geometry.dispose(),this._heightText.dispose(),this._heightText.dispose(),this._depthText.dispose()}getBoundingBox(){const e=new THREE.Box3;return e.expandByObject(this._widthLine),e.expandByObject(this._widthText),e.expandByObject(this._heightLine),e.expandByObject(this._heightText),e.expandByObject(this._depthLine),e.expandByObject(this._depthText),e}setVisibility(e){this._heightLine&&this._widthLine&&this._depthLine&&this._heightText&&this._widthText&&this._depthText&&(this._heightLine.visible=e,this._heightText.visible=e,this._widthLine.visible=e,this._widthText.visible=e,this._depthLine.visible=e,this._depthText.visible=e)}moveCameraStart(e){this.setVisibility(!1),this._cameraPosition=e,this.update()}moveCameraEnd(e){this.setVisibility(!0),this._cameraPosition=e,this.update()}clearScene(e){this._clear()}setScene(e){this._scene=e}setUiScene(e){this._uiScene=e}needsUiScene(){return!0}isInitialized(){return this._initialized.wait()}areDimensionsEnabled(){return this._enabled}}return i([s],e.prototype,"_unitFormatter",void 0),e})())}}}));
|
|
2
|
+
//# sourceMappingURL=dimensioning-helper-a0918223.nomodule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dimensioning-helper-
|
|
1
|
+
{"version":3,"file":"dimensioning-helper-a0918223.nomodule.js","sources":["../../packages/configurator-core/public/fonts/rubik_regular_sub.json"],"sourcesContent":["export default \"static/rubik_regular_sub-eb3f3b61078695cc.json\""],"names":[],"mappings":"ioHAAe"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{m as dispose,_ as __decorate,i as inject,e as AsyncGuard,ae as AsyncDependencyLoader}from"./roomle-dependency-injection-d051fe8b.js";import"./main-thread-to-worker-ed1f7708.js";const PLANE_MATERIAL="component_dimensioning_plane_material",TEXT_MATERIAL="component_dimensioning_text_material";let TextWithBackground=(()=>{class e extends THREE.Object3D{constructor(e){super(),this._label="",this._parameters={font:null,size:.1,height:.001,curveSegments:2,bevelEnabled:!0,bevelThickness:.001,bevelSize:.001},this.topDown=!1,this._parameters.font=e,this._position=new THREE.Vector3,this._initMaterials(),this._init(),this._update()}_initMaterials(){this._cacheHolder.materialCache.has(PLANE_MATERIAL)?this._planeMaterial=this._cacheHolder.materialCache.get(PLANE_MATERIAL):(this._planeMaterial=new THREE.MeshBasicMaterial({color:16777215,side:THREE.DoubleSide,opacity:.8,transparent:!0}),this._cacheHolder.materialCache.set(PLANE_MATERIAL,this._planeMaterial)),this._cacheHolder.materialCache.has(TEXT_MATERIAL)?this._textMaterial=this._cacheHolder.materialCache.get(TEXT_MATERIAL):(this._textMaterial=new THREE.MeshPhongMaterial({color:3618615}),this._cacheHolder.materialCache.set(TEXT_MATERIAL,this._textMaterial))}_init(){let e=new THREE.Geometry;this._text=new THREE.Mesh(e,this._textMaterial),this._text.name="text with background text "+this._label,this._plane=new THREE.Mesh(e,this._planeMaterial),this._plane.name="text with background plane "+this._label,this._textGeometry=new THREE.TextGeometry(this._label,this._parameters),this._textGeometry.computeBoundingBox(),this._text.geometry=this._textGeometry,this.add(this._text),this.add(this._plane)}update(e,i,t,s){this._position.copy(e),this._dimensioningType=i,this._cameraPosition=s,this._label=t;const n=this._cameraPosition.distanceTo(this._text.position),h=Math.max(.01,n/100),o=Math.max(5e-4,n/5e3);this._parameters.bevelThickness=o,this._parameters.bevelSize=o,this._parameters.size=h,this._textGeometry=new THREE.TextGeometry(this._label,this._parameters),this._textGeometry.computeBoundingBox(),this._text.geometry=this._textGeometry,this._update()}_update(){if(this.topDown){let e=new THREE.Quaternion;e.setFromAxisAngle(new THREE.Vector3(-1,0,0),Math.PI/2),this._updateText(this._textGeometry,e,new THREE.Vector3)}else if(this._updateText(this._textGeometry,new THREE.Quaternion,new THREE.Vector3),this._cameraPosition){const e=Math.atan2(this._cameraPosition.x-this._position.x,this._cameraPosition.z-this._position.z);this._text.rotation.y=e,this._plane.rotation.y=e}}_updateText(e,i,t){let s=new THREE.Vector3;s.copy(this._position),t.x*=this._getXSign(),s.add(t);let n=e.boundingBox.getSize(new THREE.Vector3);e.center(),this._text.position.copy(s),this._text.quaternion.copy(i);let h=new THREE.PlaneGeometry(n.x+.02,n.y+.02,32);h.center(),this._plane.geometry=h,this._plane.position.copy(s),this._plane.quaternion.copy(i)}_getXSign(){return!this._cameraPosition||this._cameraPosition.x>=0?1:-1}dispose(){dispose(this)}}return __decorate([inject],e.prototype,"_cacheHolder",void 0),e})(),DimensioningHelper=(()=>{class e{constructor(e){this._cameraPosition=new THREE.Vector3,this._textUpdated=!1,this._topDimensions=!1,this._initialized=new AsyncGuard,this._enabled=!1,this._dimensionsVisible=!1,this._creator_=e,this._lineMaterial=new THREE.LineBasicMaterial({color:3618615,linewidth:2});let i=new THREE.Geometry;this._widthLine=new THREE.Line(i,this._lineMaterial),this._widthLine.name="dimension width line",this._heightLine=new THREE.Line(i,this._lineMaterial),this._heightLine.name="dimension height line",this._depthLine=new THREE.Line(i,this._lineMaterial),this._depthLine.name="dimension depth line",this._planeMaterial=new THREE.MeshBasicMaterial({color:16777215,side:THREE.DoubleSide,opacity:.8,transparent:!0}),AsyncDependencyLoader.loadFont("static/rubik_regular_sub-eb3f3b61078695cc.json").then(e=>{this._font=e,this._loaded()})}_loaded(){this.update(!1),this.addToScene(this._scene,this._uiScene),this._initialized.resolve()}_performUpdate(e){this._enabled&&(this._lineBounds||e)&&this._font&&(this._updateHeight(),this._updateWidth(),this._updateDepth())}_updateWidth(){let e=new THREE.Geometry,i=this._getWidthEdge();e.vertices.push(i.start,i.end),this._widthLine.geometry.dispose(),this._widthLine.geometry=e;let t=i.getCenter(new THREE.Vector3);this._widthText||(this._widthText=new TextWithBackground(this._font)),this._widthText.topDown=this._topDimensions;const s=this._unitFormatter.formatMMValueToUnitString(1e3*this._dimensions.x);this._widthText.update(t,0,s,this._cameraPosition)}_updateHeight(){let e=new THREE.Geometry,i=this._getHeightEdge();e.vertices.push(i.start,i.end),this._heightLine.geometry.dispose(),this._heightLine.geometry=e;let t=i.getCenter(new THREE.Vector3);this._heightText||(this._heightText=new TextWithBackground(this._font)),this._heightText.topDown=this._topDimensions;const s=this._unitFormatter.formatMMValueToUnitString(1e3*this._dimensions.y);this._heightText.update(t,1,s,this._cameraPosition)}_updateDepth(){let e=new THREE.Geometry,i=this._getDepthEdge();e.vertices.push(i.start,i.end),this._depthLine.geometry.dispose(),this._depthLine.geometry=e;let t=i.getCenter(new THREE.Vector3);this._depthText||(this._depthText=new TextWithBackground(this._font)),this._depthText.topDown=this._topDimensions;const s=this._unitFormatter.formatMMValueToUnitString(1e3*this._dimensions.z);this._depthText.update(t,2,s,this._cameraPosition)}updateBounds(e){this._dimensions=e.getSize(new THREE.Vector3),this._lineBounds=e.clone();let i=this._lineBounds.min.y<0?this._lineBounds.min.y:0;i-=.01,this._lineBounds.expandByVector(new THREE.Vector3(.05,i,.05)),this._textUpdated=!1,this.update()}update(e=!1){this._enabled&&!this._dimensionsVisible&&(this._dimensionsVisible=!0,this._visibilityChangedCallback()),this._performUpdate(e)}addToScene(e,i){this._widthText&&this._widthLine&&this._heightText&&this._heightLine&&this._heightText&&this._heightLine&&(e.add(this._widthLine),i.add(this._widthText),e.add(this._heightLine),i.add(this._heightText),e.add(this._depthLine),i.add(this._depthText))}removeFromScene(e,i){e.remove(this._widthLine),i.remove(this._widthText),e.remove(this._heightLine),i.remove(this._heightText),e.remove(this._depthLine),i.remove(this._depthText)}_getWidthEdge(){return this._cameraPosition.z>=0?new THREE.Line3(new THREE.Vector3(this._lineBounds.min.x,this._lineBounds.min.y,this._lineBounds.max.z),new THREE.Vector3(this._lineBounds.max.x,this._lineBounds.min.y,this._lineBounds.max.z)):new THREE.Line3(new THREE.Vector3(this._lineBounds.min.x,this._lineBounds.min.y,this._lineBounds.min.z),new THREE.Vector3(this._lineBounds.max.x,this._lineBounds.min.y,this._lineBounds.min.z))}_getDepthEdge(){return this._cameraPosition.x>=0?new THREE.Line3(new THREE.Vector3(this._lineBounds.max.x,this._lineBounds.min.y,this._lineBounds.min.z),new THREE.Vector3(this._lineBounds.max.x,this._lineBounds.min.y,this._lineBounds.max.z)):new THREE.Line3(new THREE.Vector3(this._lineBounds.min.x,this._lineBounds.min.y,this._lineBounds.min.z),new THREE.Vector3(this._lineBounds.min.x,this._lineBounds.min.y,this._lineBounds.max.z))}_getHeightEdge(){return this._cameraPosition.x>=0&&this._cameraPosition.z>=0?new THREE.Line3(new THREE.Vector3(this._lineBounds.max.x,this._lineBounds.min.y,this._lineBounds.max.z),new THREE.Vector3(this._lineBounds.max.x,this._lineBounds.max.y,this._lineBounds.max.z)):this._cameraPosition.x<0&&this._cameraPosition.z>=0?new THREE.Line3(new THREE.Vector3(this._lineBounds.min.x,this._lineBounds.min.y,this._lineBounds.max.z),new THREE.Vector3(this._lineBounds.min.x,this._lineBounds.max.y,this._lineBounds.max.z)):this._cameraPosition.x>=0&&this._cameraPosition.z<0?new THREE.Line3(new THREE.Vector3(this._lineBounds.max.x,this._lineBounds.min.y,this._lineBounds.min.z),new THREE.Vector3(this._lineBounds.max.x,this._lineBounds.max.y,this._lineBounds.min.z)):new THREE.Line3(new THREE.Vector3(this._lineBounds.min.x,this._lineBounds.min.y,this._lineBounds.min.z),new THREE.Vector3(this._lineBounds.min.x,this._lineBounds.max.y,this._lineBounds.min.z))}onDimensionsVisibilityChanged(e){this._onChange=e}enableTopDimensions(){this.enableDimensions(),this._topDimensions=!0,this._heightLine.visible=!1,this._heightText.visible=!1,this.update(!0)}disableTopDimensions(){this._topDimensions=!1,this._heightLine.visible=!0,this._heightText.visible=!0,this.disableDimensions()}enableDimensions(){this._enabled=!0,this.update(!0),this.addToScene(this._scene,this._uiScene)}disableDimensions(){this._enabled=!1,this._dimensionsVisible&&(this._dimensionsVisible=!1,this._visibilityChangedCallback()),this.removeFromScene(this._scene,this._uiScene)}_visibilityChangedCallback(){this._onChange&&this._onChange(this._dimensionsVisible)}_clear(){this._lineMaterial.dispose(),this._planeMaterial.dispose(),this._widthLine.geometry.dispose(),this._heightLine.geometry.dispose(),this._depthLine.geometry.dispose(),this._heightText.dispose(),this._heightText.dispose(),this._depthText.dispose()}getBoundingBox(){const e=new THREE.Box3;return e.expandByObject(this._widthLine),e.expandByObject(this._widthText),e.expandByObject(this._heightLine),e.expandByObject(this._heightText),e.expandByObject(this._depthLine),e.expandByObject(this._depthText),e}setVisibility(e){this._heightLine&&this._widthLine&&this._depthLine&&this._heightText&&this._widthText&&this._depthText&&(this._heightLine.visible=e,this._heightText.visible=e,this._widthLine.visible=e,this._widthText.visible=e,this._depthLine.visible=e,this._depthText.visible=e)}moveCameraStart(e){this.setVisibility(!1),this._cameraPosition=e,this.update()}moveCameraEnd(e){this.setVisibility(!0),this._cameraPosition=e,this.update()}clearScene(e){this._clear()}setScene(e){this._scene=e}setUiScene(e){this._uiScene=e}needsUiScene(){return!0}isInitialized(){return this._initialized.wait()}areDimensionsEnabled(){return this._enabled}}return __decorate([inject],e.prototype,"_unitFormatter",void 0),e})();export default DimensioningHelper;
|
|
2
|
+
//# sourceMappingURL=dimensioning-helper-f0788db6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dimensioning-helper-
|
|
1
|
+
{"version":3,"file":"dimensioning-helper-f0788db6.js","sources":["../../packages/configurator-core/public/fonts/rubik_regular_sub.json"],"sourcesContent":["export default \"static/rubik_regular_sub-eb3f3b61078695cc.json\""],"names":[],"mappings":"wvHAAe"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["./query-params-helper-c231e1b8.nomodule.js","./roomle-dependency-injection-fcee42fb.nomodule.js","./main-thread-to-worker-1f6a23af.nomodule.js","./pixotron-10410354.nomodule.js","./default-light-setting-70a3f927.nomodule.js"],(function(e){var t,i,r,n,s,a,o,h,c,l,d,_,m,u,p,g,w,f,E,b,S,v,L,C,M;return{setters:[function(){},function(e){t=e.a3,i=e.D,r=e.L,n=e.R,s=e.k,a=e._,o=e.i,h=e.G,c=e.n,l=e.J,d=e.m,_=e.a1,m=e.a2,u=e.b},function(e){p=e.j},function(e){g=e.S,w=e.C,f=e.L,E=e.b,b=e.B,S=e.T,v=e.P,L=e.d,C=e.M},function(e){M=e.D}],execute:function(){const y=[new i("script-loader",g),new i("glb-input-manager",class extends t{},1),new i("logger",r),new i("rapi-access",n)];class R extends w{constructor(){super(...arguments),this.shouldIgnoreStandardBehavior=!1}adjust(e,t,i,r,n){let s=new THREE.Vector3(-e.x/2,0,-e.z/2),a=new THREE.Vector3(e.x/2,e.y,e.z/2);this._boundingBox=new THREE.Box3(s,a);let o=new THREE.Euler(-Math.PI/2+r,i,0,"ZYX"),h=(new THREE.Quaternion).setFromEuler(o);this._camera.updateProjectionMatrix(),this._camera.quaternion.copy(h),this._camera.position.copy(t)}_update(e){this.shouldIgnoreStandardBehavior?this._saveYawAndPitch():super._update(e)}animateCamera(e){return!!this.shouldIgnoreStandardBehavior||super.animateCamera(e)}}class B extends f{constructor(e,t){super(e,t),this._params={ambientLight:{color:"#ffffff"}},this._ambientLight=new THREE.AmbientLight(new THREE.Color(this._params.ambientLight.color),.5),this.addToScene()}addToScene(){this._scene.add(this._ambientLight)}removeFromScene(){this._scene.remove(this._ambientLight)}reload(){this.removeFromScene(),this.addToScene()}showGUI(){let e=s();if(e&&this._ambientLight){let t=e.addFolder("Ambient Light");t.add(this._ambientLight,"visible"),t.add(this._ambientLight,"intensity").min(0).max(5).step(.1),t.addColor(this._params.ambientLight,"color").onChange(e=>{this._ambientLight.color=new THREE.Color(e)})}}}let T=(()=>{class e extends E{constructor(e,t){super(e,t,h.GLB),this._itemsCount=0,this._standardSceneBackgroundColor=this._scene.background,this._renderer.capabilities.maxTextures>8?this.loadDynamicLightSetting(c.createDynamicLightSettingSource(null,l.CAMERA)):(console.warn("this device has a maximum of 8 texture units thus we are using a simpler light setting"),this._lightSetting=new B(this._scene)),this._setEnvironment(new b(this._scene,this._environment))}createCameraControl(e,t){this._cameraControl=new R(this._creator_,this._getInputManager(),new THREE.Vector3(-1,1,1))}_getInputManager(){return this._glbInputManager}async loadStaticItem(e,t){const i=await this._rapiAccess.getItem(e);if(i.configuration)return Promise.reject();const r=p(i);return r?this.loadGLB(r,!0,void 0,t):Promise.reject(new Error("GLB Url not detected"))}loadGLB(e,t=!0,i=new THREE.Vector3(1,1,1),r){return this.clearScene(),new Promise((n,s)=>{this._loadGLB(e,new THREE.Vector3(0,0,0),0,void 0,i,void 0,void 0,r).then(e=>{this._currentGLB=e,this._scene.add(this._currentGLB);let i=(new THREE.Box3).setFromObject(this._currentGLB);if(t){let e=i.getCenter(new THREE.Vector3);this._cameraControl instanceof R&&(this._cameraControl.updateToBounds(i,!1,!0,e),this._cameraControl.reset(i,e,-15,0))}this._updateBounds(i),n()},s)})}preparePerspectiveImage(e,t,i){return new Promise(r=>{t||(t=1e3),i||(i=1e3),e||((e=new THREE.WebGLRenderer({antialias:!0})).setSize(t,i),e.outputEncoding=THREE.sRGBEncoding,e.autoClear=!1,e.shadowMap.enabled=!0,e.shadowMap.type=THREE.BasicShadowMap);let n=this._cameraControl.getCamera().clone();n instanceof THREE.PerspectiveCamera&&(n.aspect=t/i,n.updateProjectionMatrix()),this._lightSetting.removeFromScene();let s=new M(this._scene);e.render(this._scene,n);let a=e.domElement.toDataURL();e.domElement.toBlob(e=>{r({image:a,width:t,height:i,blob:e})},"image/png"),s.removeFromScene(),this._lightSetting.addToScene()})}adjustCamera(e,t,i,r){if(this._cameraControl instanceof R){let n=(new THREE.Box3).setFromObject(this._scene).getSize(new THREE.Vector3);this._cameraControl.adjust(n,e,t,i,r),this._requestRender()}}onStart(e){this._itemsCount=e,this._scene.background=null,this._cameraControl instanceof R&&(this._cameraControl.shouldIgnoreStandardBehavior=!0)}onElementFinished(e){this._itemsCount,Math.round(100/this._itemsCount*e)}onFinished(e){this._scene.background=this._standardSceneBackgroundColor,this._cameraControl instanceof R&&(this._cameraControl.shouldIgnoreStandardBehavior=!1)}clearScene(){this._currentGLB&&(this._scene.remove(this._currentGLB),d(this._currentGLB),this._currentGLB=null),super.clearScene()}enableHD(){super.enableHD(),this._pixotron.enableAA=!1,this._pixotron.getSAOPass().enabled=!0}sceneChanged(){}getPixotronParams(){return{saoparams:{intensity:.25,occlusionWorldRadius:.4,smoothTransition:!0,samplesPerFrame:4,bias:.016,numSamples:200,accumulative:!1,falloff:1.5},shadowparams:{shadowMapResolution:1024,shadowRadius:3,shadowQuality:1,smoothTransition:!0,enableAccumulation:!0,shadowBiasMultiplier:.6,nearPlane:.01,farPlane:50,fov:110,side:THREE.FrontSide,numSamples:100}}}getBakedShadowParams(){return{enable:!0,shadowMapResolution:512,smoothTransition:!0,numSamples:500,numSamplesPerFrame:4,bShadowMaterial:!0,falloff:1.5,darkness:.2,size:1.6,lightDirection:new THREE.Vector3(0,1,.5),lightSolidAngle:40}}getBounds(){return this._currentGLB?(new THREE.Box3).setFromObject(this._currentGLB):null}}return a([o],e.prototype,"_glbInputManager",void 0),a([o],e.prototype,"_rapiAccess",void 0),e})();class x{constructor(e,t,i){this._prefix="https://furniture.roomle.com/3d/glb/",this._listeners=new Set,this._finishedItems=0,this._sceneManager=e,this._renderer=new THREE.WebGLRenderer({antialias:!0,alpha:!0}),this._width=t,this._height=i,this._renderer.setSize(t,i),this._renderer.setClearColor(16777215,0),this._renderer.outputEncoding=THREE.sRGBEncoding}addListener(e){this._listeners.add(e)}removeListener(e){this._listeners.delete(e)}start(e){return this._entries=[],e.forEach(e=>{this._entries.push(this._transform(e))}),this._finishedItems=0,this._listeners.forEach(e=>e.onStart(this._entries.length)),this._zip=new window.JSZip,this._doNextEntry(),new Promise(e=>{this._resolve=e})}_transform(e){return{name:e.path.replace(".glb",".png"),url:this._prefix+e.path,position:new THREE.Vector3(e.camera.position.x,e.camera.position.z,-e.camera.position.y),fov:2*e.camera.fieldOfView,yaw:e.camera.rotation.z,pitch:e.camera.rotation.x}}_doNextEntry(){0===this._entries.length?(this._listeners.forEach(e=>e.onFinished(this._zip)),this._resolve(this._zip)):this._processEntry(this._entries[0])}_processEntry(e){this._sceneManager.loadGLB(e.url,!1,void 0).then(()=>{this._sceneManager.adjustCamera(e.position,e.yaw,e.pitch,e.fov),this._sceneManager.preparePerspectiveImage(this._renderer,this._width,this._height).then(t=>{this._entryFinished(e,t)})})}_entryFinished(e,t){let i=this._entries.indexOf(e);i>-1&&this._entries.splice(i,1),this._finishedItems++,this._listeners.forEach(e=>e.onElementFinished(this._finishedItems)),this._zip.file(e.name,t.blob),this._doNextEntry()}}let H=(()=>{class e{constructor(e){this._currentIdOrUrl=null,this._creator_=e}setCameraOffset(e){this._sceneManager.setCameraOffset(e)}getCameraOffset(){return this._sceneManager.getCameraOffset()}init(e,t){return this.setOverrides(t),this._domHelper.setDomElement(e),this._sceneManager?(this._lifeCycleManager.resume(),Promise.resolve()):new Promise(this._initPromiseCallback.bind(this))}_initPromiseCallback(e,t){this._threeLoader.fetch().then(()=>{let t=this._scriptLoader.fetch(_,{id:"gltf-loader"}),i=this._scriptLoader.fetch(m,{id:"draco-loader"}),r=this._scriptLoader.fetch(S,{id:"tween-js"});Promise.all([t,i,r]).then(()=>{this._sceneManager=new T(this._creator_,{left:0,top:1,right:1,bottom:0}),this.enableHD(),e()})})}enableHD(){return new Promise((e,t)=>{const i=()=>{this._sceneManager.enableHD(),e()};Promise.all(v.map(e=>this._scriptLoader.fetch(e,{id:e}))).then(()=>{this._scriptLoader.fetch(L,{id:"pi-js"}).then(i,t)},t)})}clearScene(){this._sceneManager.clearScene()}loadGLB(e,t=1,i){return this._currentIdOrUrl=e,this._rapiAccess.trackView(e),this._sceneManager.loadGLB(e,!0,new THREE.Vector3(t,t,t),i)}loadStaticItem(e,t){return this._currentIdOrUrl=e,this._rapiAccess.trackView(e),this._sceneManager.loadStaticItem(e,t)}getCurrentId(){return this._currentIdOrUrl}loadSceneSetting(e){return this._sceneManager.loadSceneSettings(e)}loadQualitySetting(e){this._sceneManager.loadQualitySetting(e)}preparePerspectiveImage(){return this._sceneManager.preparePerspectiveImage()}processRenderList(e,t=320,i=320){let r=JSON.parse(e);this._scriptLoader.fetch("static/jszip.min-dd6c9829408677a1.js",{id:"jszip-js"}).then(()=>{let e=new x(this._sceneManager,t,i);e.addListener(this._sceneManager),e.start(r.items).then(t=>{t.generateAsync({type:"blob"}).then(t=>{let i=document.createElement("a");i.href=URL.createObjectURL(t),i.download="content.zip",i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i),e.removeListener(this._sceneManager)})})})}setOverrides(e){e&&(this._initData.setOverrides(e),this._globalInitData.setOverrides(e))}updateSize(){this._sceneManager.updateCamera()}getMain(){}resumeTest(e){this._domHelper.setDomElement(e),this._lifeCycleManager.resume()}pauseTest(){this._lifeCycleManager.pause()}showGUI(){this._sceneManager.showGUI()}get callbacks(){return{}}getScene(){return this._sceneManager.getScene()}updateScene(){this._sceneManager.updateScene()}}return a([o],e.prototype,"_rapiAccess",void 0),a([o],e.prototype,"_domHelper",void 0),a([o],e.prototype,"_scriptLoader",void 0),a([o],e.prototype,"_lifeCycleManager",void 0),a([o],e.prototype,"_threeLoader",void 0),a([o],e.prototype,"_initData",void 0),a([o],e.prototype,"_globalInitData",void 0),e})();e("GlbViewer",class extends C{setupGlobals(){}setupDependencies(){u.setup(y),this.lookup("logger",this._context)}cleanUpGlobals(){throw new Error("Method not implemented.")}cleanUpDependencies(){throw new Error("Method not implemented.")}bootFinished(){this._viewer=new H(this._context),window.RoomleGLBViewer||(window.RoomleGLBViewer=this._viewer)}getApi(){return this._viewer}getContextName(){return"glb-viewer"}})}}}));
|
|
2
|
+
//# sourceMappingURL=glb-viewer-05c35fc4.nomodule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glb-viewer-
|
|
1
|
+
{"version":3,"file":"glb-viewer-05c35fc4.nomodule.js","sources":["../../node_modules/jszip/dist/jszip.min.js"],"sourcesContent":["export default \"static/jszip.min-dd6c9829408677a1.js\""],"names":[],"mappings":"65QAAe"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"./query-params-helper-a271f9dc.js";import{a3 as InputManager,D as DependencyInjectionAssignment,L as Logger,R as RapiAccess,k as getGUI,_ as __decorate,i as inject,G as CANVAS_ID,n as DynamicLightSettingLoader,J as PREDEFINED_LIGHTSETTING,m as dispose,a1 as GLTF_LOADER_FILE_NAME,a2 as DRACO_LOADER_FILE_NAME,b as RoomleDependencyInjection}from"./roomle-dependency-injection-d051fe8b.js";import{j as getGlbUrl}from"./main-thread-to-worker-ed1f7708.js";import{S as ScriptLoader,C as CameraControl3D,L as LightSetting,b as SceneManager,B as BakedShadowEnvironment,T as TWEEN_FILE_NAME,P as PIXOTRON_EFFETCS,d as PIXOTRON_FILE_NAME,M as Main}from"./pixotron-22342376.js";import{D as DefaultLightSetting}from"./default-light-setting-2ccb8e14.js";const INJECTABLES=[new DependencyInjectionAssignment("script-loader",ScriptLoader),new DependencyInjectionAssignment("glb-input-manager",class extends InputManager{},1),new DependencyInjectionAssignment("logger",Logger),new DependencyInjectionAssignment("rapi-access",RapiAccess)];class AdjustableCameraControl3D extends CameraControl3D{constructor(){super(...arguments),this.shouldIgnoreStandardBehavior=!1}adjust(e,t,n,r,i){let s=new THREE.Vector3(-e.x/2,0,-e.z/2),a=new THREE.Vector3(e.x/2,e.y,e.z/2);this._boundingBox=new THREE.Box3(s,a);let o=new THREE.Euler(-Math.PI/2+r,n,0,"ZYX"),c=(new THREE.Quaternion).setFromEuler(o);this._camera.updateProjectionMatrix(),this._camera.quaternion.copy(c),this._camera.position.copy(t)}_update(e){this.shouldIgnoreStandardBehavior?this._saveYawAndPitch():super._update(e)}animateCamera(e){return!!this.shouldIgnoreStandardBehavior||super.animateCamera(e)}}class GLBViewerLightSetting extends LightSetting{constructor(e,t){super(e,t),this._params={ambientLight:{color:"#ffffff"}},this._ambientLight=new THREE.AmbientLight(new THREE.Color(this._params.ambientLight.color),.5),this.addToScene()}addToScene(){this._scene.add(this._ambientLight)}removeFromScene(){this._scene.remove(this._ambientLight)}reload(){this.removeFromScene(),this.addToScene()}showGUI(){let e=getGUI();if(e&&this._ambientLight){let t=e.addFolder("Ambient Light");t.add(this._ambientLight,"visible"),t.add(this._ambientLight,"intensity").min(0).max(5).step(.1),t.addColor(this._params.ambientLight,"color").onChange(e=>{this._ambientLight.color=new THREE.Color(e)})}}}let GLBViewerSceneManager=(()=>{class e extends SceneManager{constructor(e,t){super(e,t,CANVAS_ID.GLB),this._itemsCount=0,this._standardSceneBackgroundColor=this._scene.background,this._renderer.capabilities.maxTextures>8?this.loadDynamicLightSetting(DynamicLightSettingLoader.createDynamicLightSettingSource(null,PREDEFINED_LIGHTSETTING.CAMERA)):(console.warn("this device has a maximum of 8 texture units thus we are using a simpler light setting"),this._lightSetting=new GLBViewerLightSetting(this._scene)),this._setEnvironment(new BakedShadowEnvironment(this._scene,this._environment))}createCameraControl(e,t){this._cameraControl=new AdjustableCameraControl3D(this._creator_,this._getInputManager(),new THREE.Vector3(-1,1,1))}_getInputManager(){return this._glbInputManager}async loadStaticItem(e,t){const n=await this._rapiAccess.getItem(e);if(n.configuration)return Promise.reject();const r=getGlbUrl(n);return r?this.loadGLB(r,!0,void 0,t):Promise.reject(new Error("GLB Url not detected"))}loadGLB(e,t=!0,n=new THREE.Vector3(1,1,1),r){return this.clearScene(),new Promise((i,s)=>{this._loadGLB(e,new THREE.Vector3(0,0,0),0,void 0,n,void 0,void 0,r).then(e=>{this._currentGLB=e,this._scene.add(this._currentGLB);let n=(new THREE.Box3).setFromObject(this._currentGLB);if(t){let e=n.getCenter(new THREE.Vector3);this._cameraControl instanceof AdjustableCameraControl3D&&(this._cameraControl.updateToBounds(n,!1,!0,e),this._cameraControl.reset(n,e,-15,0))}this._updateBounds(n),i()},s)})}preparePerspectiveImage(e,t,n){return new Promise(r=>{t||(t=1e3),n||(n=1e3),e||((e=new THREE.WebGLRenderer({antialias:!0})).setSize(t,n),e.outputEncoding=THREE.sRGBEncoding,e.autoClear=!1,e.shadowMap.enabled=!0,e.shadowMap.type=THREE.BasicShadowMap);let i=this._cameraControl.getCamera().clone();i instanceof THREE.PerspectiveCamera&&(i.aspect=t/n,i.updateProjectionMatrix()),this._lightSetting.removeFromScene();let s=new DefaultLightSetting(this._scene);e.render(this._scene,i);let a=e.domElement.toDataURL();e.domElement.toBlob(e=>{r({image:a,width:t,height:n,blob:e})},"image/png"),s.removeFromScene(),this._lightSetting.addToScene()})}adjustCamera(e,t,n,r){if(this._cameraControl instanceof AdjustableCameraControl3D){let i=(new THREE.Box3).setFromObject(this._scene).getSize(new THREE.Vector3);this._cameraControl.adjust(i,e,t,n,r),this._requestRender()}}onStart(e){this._itemsCount=e,this._scene.background=null,this._cameraControl instanceof AdjustableCameraControl3D&&(this._cameraControl.shouldIgnoreStandardBehavior=!0)}onElementFinished(e){this._itemsCount,Math.round(100/this._itemsCount*e)}onFinished(e){this._scene.background=this._standardSceneBackgroundColor,this._cameraControl instanceof AdjustableCameraControl3D&&(this._cameraControl.shouldIgnoreStandardBehavior=!1)}clearScene(){this._currentGLB&&(this._scene.remove(this._currentGLB),dispose(this._currentGLB),this._currentGLB=null),super.clearScene()}enableHD(){super.enableHD(),this._pixotron.enableAA=!1,this._pixotron.getSAOPass().enabled=!0}sceneChanged(){}getPixotronParams(){return{saoparams:{intensity:.25,occlusionWorldRadius:.4,smoothTransition:!0,samplesPerFrame:4,bias:.016,numSamples:200,accumulative:!1,falloff:1.5},shadowparams:{shadowMapResolution:1024,shadowRadius:3,shadowQuality:1,smoothTransition:!0,enableAccumulation:!0,shadowBiasMultiplier:.6,nearPlane:.01,farPlane:50,fov:110,side:THREE.FrontSide,numSamples:100}}}getBakedShadowParams(){return{enable:!0,shadowMapResolution:512,smoothTransition:!0,numSamples:500,numSamplesPerFrame:4,bShadowMaterial:!0,falloff:1.5,darkness:.2,size:1.6,lightDirection:new THREE.Vector3(0,1,.5),lightSolidAngle:40}}getBounds(){return this._currentGLB?(new THREE.Box3).setFromObject(this._currentGLB):null}}return __decorate([inject],e.prototype,"_glbInputManager",void 0),__decorate([inject],e.prototype,"_rapiAccess",void 0),e})();class GLBRenderWorker{constructor(e,t,n){this._prefix="https://furniture.roomle.com/3d/glb/",this._listeners=new Set,this._finishedItems=0,this._sceneManager=e,this._renderer=new THREE.WebGLRenderer({antialias:!0,alpha:!0}),this._width=t,this._height=n,this._renderer.setSize(t,n),this._renderer.setClearColor(16777215,0),this._renderer.outputEncoding=THREE.sRGBEncoding}addListener(e){this._listeners.add(e)}removeListener(e){this._listeners.delete(e)}start(e){return this._entries=[],e.forEach(e=>{this._entries.push(this._transform(e))}),this._finishedItems=0,this._listeners.forEach(e=>e.onStart(this._entries.length)),this._zip=new window.JSZip,this._doNextEntry(),new Promise(e=>{this._resolve=e})}_transform(e){return{name:e.path.replace(".glb",".png"),url:this._prefix+e.path,position:new THREE.Vector3(e.camera.position.x,e.camera.position.z,-e.camera.position.y),fov:2*e.camera.fieldOfView,yaw:e.camera.rotation.z,pitch:e.camera.rotation.x}}_doNextEntry(){0===this._entries.length?(this._listeners.forEach(e=>e.onFinished(this._zip)),this._resolve(this._zip)):this._processEntry(this._entries[0])}_processEntry(e){this._sceneManager.loadGLB(e.url,!1,void 0).then(()=>{this._sceneManager.adjustCamera(e.position,e.yaw,e.pitch,e.fov),this._sceneManager.preparePerspectiveImage(this._renderer,this._width,this._height).then(t=>{this._entryFinished(e,t)})})}_entryFinished(e,t){let n=this._entries.indexOf(e);n>-1&&this._entries.splice(n,1),this._finishedItems++,this._listeners.forEach(e=>e.onElementFinished(this._finishedItems)),this._zip.file(e.name,t.blob),this._doNextEntry()}}let RoomleGLBViewer=(()=>{class e{constructor(e){this._currentIdOrUrl=null,this._creator_=e}setCameraOffset(e){this._sceneManager.setCameraOffset(e)}getCameraOffset(){return this._sceneManager.getCameraOffset()}init(e,t){return this.setOverrides(t),this._domHelper.setDomElement(e),this._sceneManager?(this._lifeCycleManager.resume(),Promise.resolve()):new Promise(this._initPromiseCallback.bind(this))}_initPromiseCallback(e,t){this._threeLoader.fetch().then(()=>{let t=this._scriptLoader.fetch(GLTF_LOADER_FILE_NAME,{id:"gltf-loader"}),n=this._scriptLoader.fetch(DRACO_LOADER_FILE_NAME,{id:"draco-loader"}),r=this._scriptLoader.fetch(TWEEN_FILE_NAME,{id:"tween-js"});Promise.all([t,n,r]).then(()=>{this._sceneManager=new GLBViewerSceneManager(this._creator_,{left:0,top:1,right:1,bottom:0}),this.enableHD(),e()})})}enableHD(){return new Promise((e,t)=>{const n=()=>{this._sceneManager.enableHD(),e()};Promise.all(PIXOTRON_EFFETCS.map(e=>this._scriptLoader.fetch(e,{id:e}))).then(()=>{this._scriptLoader.fetch(PIXOTRON_FILE_NAME,{id:"pi-js"}).then(n,t)},t)})}clearScene(){this._sceneManager.clearScene()}loadGLB(e,t=1,n){return this._currentIdOrUrl=e,this._rapiAccess.trackView(e),this._sceneManager.loadGLB(e,!0,new THREE.Vector3(t,t,t),n)}loadStaticItem(e,t){return this._currentIdOrUrl=e,this._rapiAccess.trackView(e),this._sceneManager.loadStaticItem(e,t)}getCurrentId(){return this._currentIdOrUrl}loadSceneSetting(e){return this._sceneManager.loadSceneSettings(e)}loadQualitySetting(e){this._sceneManager.loadQualitySetting(e)}preparePerspectiveImage(){return this._sceneManager.preparePerspectiveImage()}processRenderList(e,t=320,n=320){let r=JSON.parse(e);this._scriptLoader.fetch("static/jszip.min-dd6c9829408677a1.js",{id:"jszip-js"}).then(()=>{let e=new GLBRenderWorker(this._sceneManager,t,n);e.addListener(this._sceneManager),e.start(r.items).then(t=>{t.generateAsync({type:"blob"}).then(t=>{let n=document.createElement("a");n.href=URL.createObjectURL(t),n.download="content.zip",n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n),e.removeListener(this._sceneManager)})})})}setOverrides(e){e&&(this._initData.setOverrides(e),this._globalInitData.setOverrides(e))}updateSize(){this._sceneManager.updateCamera()}getMain(){}resumeTest(e){this._domHelper.setDomElement(e),this._lifeCycleManager.resume()}pauseTest(){this._lifeCycleManager.pause()}showGUI(){this._sceneManager.showGUI()}get callbacks(){return{}}getScene(){return this._sceneManager.getScene()}updateScene(){this._sceneManager.updateScene()}}return __decorate([inject],e.prototype,"_rapiAccess",void 0),__decorate([inject],e.prototype,"_domHelper",void 0),__decorate([inject],e.prototype,"_scriptLoader",void 0),__decorate([inject],e.prototype,"_lifeCycleManager",void 0),__decorate([inject],e.prototype,"_threeLoader",void 0),__decorate([inject],e.prototype,"_initData",void 0),__decorate([inject],e.prototype,"_globalInitData",void 0),e})();class GlbViewer extends Main{setupGlobals(){}setupDependencies(){RoomleDependencyInjection.setup(INJECTABLES),this.lookup("logger",this._context)}cleanUpGlobals(){throw new Error("Method not implemented.")}cleanUpDependencies(){throw new Error("Method not implemented.")}bootFinished(){this._viewer=new RoomleGLBViewer(this._context),window.RoomleGLBViewer||(window.RoomleGLBViewer=this._viewer)}getApi(){return this._viewer}getContextName(){return"glb-viewer"}}export{GlbViewer};
|
|
2
|
+
//# sourceMappingURL=glb-viewer-48964570.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glb-viewer-
|
|
1
|
+
{"version":3,"file":"glb-viewer-48964570.js","sources":["../../node_modules/jszip/dist/jszip.min.js"],"sourcesContent":["export default \"static/jszip.min-dd6c9829408677a1.js\""],"names":[],"mappings":"svSAAe"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"./query-params-helper-a271f9dc.js";import"./roomle-dependency-injection-d051fe8b.js";import"./main-thread-to-worker-ed1f7708.js";import"./pixotron-22342376.js";import"./default-light-setting-2ccb8e14.js";import{GlbViewer}from"./glb-viewer-48964570.js";(new GlbViewer).boot();
|
|
2
|
+
//# sourceMappingURL=glb-viewer-main-9b440cd3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glb-viewer-main-9b440cd3.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["./query-params-helper-c231e1b8.nomodule.js","./
|
|
1
|
+
System.register(["./query-params-helper-c231e1b8.nomodule.js","./roomle-dependency-injection-fcee42fb.nomodule.js","./main-thread-to-worker-1f6a23af.nomodule.js","./pixotron-10410354.nomodule.js","./default-light-setting-70a3f927.nomodule.js","./glb-viewer-05c35fc4.nomodule.js"],(function(){var e;return{setters:[function(){},function(){},function(){},function(){},function(){},function(n){e=n.GlbViewer}],execute:function(){(new e).boot()}}}));
|
|
2
2
|
//# sourceMappingURL=glb-viewer-main.nomodule.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["./roomle-dependency-injection-f3e1c08f.legacy.js","./main-thread-to-worker-6f382b43.legacy.js"],(function(e){var n,t,a,s;return{setters:[function(e){n=e._,t=e.i,a=e.af},function(e){s=e.g}],execute:function(){e("default",(()=>{class e extends a{setScene(e){this._scene=e,this._staticItemLoader.loadGLB(s()+"static/banana_div2-1351c98ec2986be1.glb").then(e=>{this._banana=e,this.updateBounds(null)})}updateBounds(e){if(e&&(this._bounds=e),this._bounds){if(this._banana){const e=this._bounds.getSize(new THREE.Vector3),n=this._bounds.getCenter(new THREE.Vector3).clone();n.x-=e.x/2+.18,n.z+=e.z/2+.05,n.y=0;let t=.03;this._banana.scale.copy(new THREE.Vector3(t,t,t)),this._banana.rotation.y=.6,this._banana.position.copy(n)}this._scene.children.includes(this._banana)||this.addToScene()}}clearScene(e,n){super.clearScene(e,n),this.removeFromScene()}addToScene(){this._scene&&this._banana&&this._scene.add(this._banana)}removeFromScene(){this._scene&&this._banana&&this._scene.remove(this._banana)}}return n([t],e.prototype,"_staticItemLoader",void 0),e})())}}}));
|
|
2
|
+
//# sourceMappingURL=banana-for-scale-05953f3a.legacy.js.map
|