@roomle/embedding-lib 5.33.0-alpha.1 → 5.33.0-alpha.2
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/docs/md/web/embedding/CHANGELOG.md +10 -38
- package/package.json +1 -1
- package/packages/web-sdk/packages/common-core/mock/mock-image-renderer.d.ts +1 -1
- package/packages/web-sdk/packages/common-core/src/utils/shims.d.ts +0 -6
- package/packages/web-sdk/packages/common-core/src/view-model/configurator-view-model.d.ts +2 -1
- package/packages/web-sdk/packages/common-core/src/webgl/image-renderer.d.ts +2 -1
- package/packages/web-sdk/packages/homag-intelligence/src/api.d.ts +1 -6
- package/packages/web-sdk/packages/homag-intelligence/src/debug-logging.d.ts +3 -8
- package/packages/web-sdk/packages/homag-intelligence/src/external-object-api.d.ts +38 -0
- package/packages/web-sdk/packages/homag-intelligence/src/glue-logic.d.ts +3 -8
- package/packages/web-sdk/packages/planner-core/src/roomle-planner.d.ts +4 -25
- package/packages/web-sdk/packages/planner-core/src/view-model/plan-view-model.d.ts +2 -0
- package/packages/web-sdk/packages/planner-core/src/webgl/planner-scene-manager.d.ts +2 -2
- package/packages/web-sdk/packages/typings/kernel.d.ts +8 -1
- package/packages/web-sdk/packages/typings/planner.d.ts +1 -0
- package/packages/web-sdk/packages/typings/rapi-types.d.ts +0 -4
|
@@ -1,46 +1,18 @@
|
|
|
1
|
-
## [5.33.0-alpha.
|
|
1
|
+
## [5.33.0-alpha.2](https://github.com/roomle-dev/roomle-ui/compare/embedding-lib-v5.33.0-alpha.1...embedding-lib-v5.33.0-alpha.2) (2025-11-27)
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
### Features
|
|
5
5
|
|
|
6
|
-
* core api -
|
|
7
|
-
* core api -
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* get valid sub articles for external object ([0a55b35](https://github.com/roomle-dev/roomle-ui/commit/0a55b35a29f45f02cf994701a3f05427763d047b))
|
|
13
|
-
* interface "HiObjectSelectionApi" for hi object selection ([be880ca](https://github.com/roomle-dev/roomle-ui/commit/be880cad7eba2c4326b649232c6279d7cfc071e5))
|
|
14
|
-
* removed deprecated core api ([64ae74b](https://github.com/roomle-dev/roomle-ui/commit/64ae74b4f90d50b74bb89857111247a2994f1ecc))
|
|
15
|
-
* request sub article geometry for preview ([4e487c3](https://github.com/roomle-dev/roomle-ui/commit/4e487c3aa68f3e3f5afb3365763eba3f001ae408))
|
|
16
|
-
* tidy-up permission to delete component ([b97dbc4](https://github.com/roomle-dev/roomle-ui/commit/b97dbc4ad7cc931f5a872be3e3fff8c86bd63a5f))
|
|
17
|
-
* trigger external docking preview via api ([999924a](https://github.com/roomle-dev/roomle-ui/commit/999924ae804911ce336a56c53a1d45b934b2c96e))
|
|
18
|
-
* update hi object model types ([098deef](https://github.com/roomle-dev/roomle-ui/commit/098deeff8682af334b5c3d47fb2789ec2b06f628))
|
|
19
|
-
* **core:** upgrade to version 2.65.0-alpha.1 ([171c863](https://github.com/roomle-dev/roomle-ui/commit/171c8633afb6c4292d462e8ec61138f5210692e5))
|
|
20
|
-
* **core:** upgrade to version 2.65.0-alpha.2 ([f4dfc54](https://github.com/roomle-dev/roomle-ui/commit/f4dfc54deb3b2c112e4e2a72347931dece4b5d16))
|
|
21
|
-
* **core:** upgrade to version 2.65.0-alpha.3 ([8a31b8b](https://github.com/roomle-dev/roomle-ui/commit/8a31b8b99bdbc84c48b09d4ac7603653455f1c40))
|
|
22
|
-
* **core:** upgrade to version 2.65.0-alpha.4 ([214ee4f](https://github.com/roomle-dev/roomle-ui/commit/214ee4fa8382252e7c2306d5df5a69428b42a989))
|
|
23
|
-
* **core:** upgrade to version 2.65.0-alpha.5 ([7927a07](https://github.com/roomle-dev/roomle-ui/commit/7927a07f1e2913307ee3520fcfc9f10526cdd075))
|
|
24
|
-
* use relative paths ([865a826](https://github.com/roomle-dev/roomle-ui/commit/865a8265fbc0642ead26f290a22b3fecdd59430c))
|
|
6
|
+
* core api - object component and permission to delete ([087aff9](https://github.com/roomle-dev/roomle-ui/commit/087aff965a24f99a9780a604af743dfdcaf99559))
|
|
7
|
+
* core api - Plan.getRotationForFrontView ([af665c7](https://github.com/roomle-dev/roomle-ui/commit/af665c7af8b2d7d8b9becbaaf7ffa142948dc525))
|
|
8
|
+
* enable undo/redo in isolation mode and remove feature flag ([cc5f059](https://github.com/roomle-dev/roomle-ui/commit/cc5f0590b79879a17eb5ef4d6c0ea67e6f4cf7ad))
|
|
9
|
+
* set rotation for perspective object image ([6d29fd1](https://github.com/roomle-dev/roomle-ui/commit/6d29fd15ddfdeee32e4de508782bf91d516db609))
|
|
10
|
+
* **core:** upgrade to version 2.65.0-alpha.6 ([bbfd2ad](https://github.com/roomle-dev/roomle-ui/commit/bbfd2ade04bf31e8d67abc910864b335ba873f63))
|
|
11
|
+
* **core:** upgrade to version 2.65.0-alpha.7 ([b2b491c](https://github.com/roomle-dev/roomle-ui/commit/b2b491c1099c62d67f42ebb05c3afb72a72c1463))
|
|
25
12
|
|
|
26
13
|
|
|
27
14
|
### Bug Fixes
|
|
28
15
|
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* check possibleChild.articleId?.length ([5f6bb01](https://github.com/roomle-dev/roomle-ui/commit/5f6bb01f55dd87508ca8badb1db9890ff2bfbad1))
|
|
33
|
-
* copying attributes from article data to new group data ([f4ef254](https://github.com/roomle-dev/roomle-ui/commit/f4ef2547d721c63a653d87b1e883270dc071df18))
|
|
34
|
-
* error handling in loadPlanXml ([079e257](https://github.com/roomle-dev/roomle-ui/commit/079e257156fbdb05a224e101861238bab1266992))
|
|
35
|
-
* filter catalog articles ([392c05d](https://github.com/roomle-dev/roomle-ui/commit/392c05d90b6e22c3dd6c7e7ae87bc5fc3b377778))
|
|
36
|
-
* filter for the tag with visibilityStatus 2 ([464f136](https://github.com/roomle-dev/roomle-ui/commit/464f136e06d07a029c025d2c57e0dd19a2d6c664))
|
|
37
|
-
* glue-logic - add sub article ([60b7fdc](https://github.com/roomle-dev/roomle-ui/commit/60b7fdc0903a4d09470b1b6f69c1a280a40349cd))
|
|
38
|
-
* hi example subscription endpoint and catalog ([aefad46](https://github.com/roomle-dev/roomle-ui/commit/aefad462e482ad9d6446dc1d4c1a52ce310c8d41))
|
|
39
|
-
* hi undo/redo (messed up when merging) ([2dffbaa](https://github.com/roomle-dev/roomle-ui/commit/2dffbaa8cd503c44560b04bb7951e33ff9b4358c))
|
|
40
|
-
* make build work again ([1e22431](https://github.com/roomle-dev/roomle-ui/commit/1e22431f2bb1b445efb63c7f9e7d15587f0fe096))
|
|
41
|
-
* recalculate group after adding sub article ([f26894c](https://github.com/roomle-dev/roomle-ui/commit/f26894ca22d7a8bd885312de12fdd5f791e3b049))
|
|
42
|
-
* remove hi message handler before adding a new one ([632fdea](https://github.com/roomle-dev/roomle-ui/commit/632fdea46e1feea7e1b9d5b04e627f76bed91194))
|
|
43
|
-
* remove redundant explicit initialization ([02e3cdd](https://github.com/roomle-dev/roomle-ui/commit/02e3cdda41a49ebfb56bfcbc3b367b5b20e20c35))
|
|
44
|
-
* supply oncollapse to mobile search ([4abcda7](https://github.com/roomle-dev/roomle-ui/commit/4abcda7ad04a0854dd75cb66d898266619f61f17))
|
|
45
|
-
* tidy-up glue logic for taking over properties from the article to the group ([e4c875e](https://github.com/roomle-dev/roomle-ui/commit/e4c875e5ac12c93290a3941179477a2893d2ee69))
|
|
46
|
-
* visibility toggle not working on mobile ([1f8cae4](https://github.com/roomle-dev/roomle-ui/commit/1f8cae4f36af8cee87a1cd4e77c5cb47e203fd08))
|
|
16
|
+
* cannot read properties of null ([873981e](https://github.com/roomle-dev/roomle-ui/commit/873981ebf763052882affb13216d509df113eca8))
|
|
17
|
+
* typo in comment ([3a381c1](https://github.com/roomle-dev/roomle-ui/commit/3a381c1cd9c6ac2a10657f5a7ae391f840b2a32c))
|
|
18
|
+
* **planner:** update bounding box of configurable construction items ([ccc5de1](https://github.com/roomle-dev/roomle-ui/commit/ccc5de14ca67a6e8b9c8475661b29a8fb074fce3))
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@ export default class MockImageRenderer {
|
|
|
11
11
|
switchToPlannerSettings(): void;
|
|
12
12
|
switchToConfiguratorSettings(): void;
|
|
13
13
|
static getCameraTargetForBBox(bbox: Box3, spacing?: number): CameraTarget;
|
|
14
|
-
preparePerspectiveImage(_scene: Scene, _uiScene: Scene, _camera: PerspectiveCamera, _cameraTarget: CameraTarget, _options?: PrepareImageOptions
|
|
14
|
+
preparePerspectiveImage(_scene: Scene, _uiScene: Scene, _camera: PerspectiveCamera, _cameraTarget: CameraTarget, _options?: PrepareImageOptions): Promise<Base64Image>;
|
|
15
15
|
renderPerspectiveImage(_scene: Scene, _camera: PerspectiveCamera, _cameraTarget: CameraTarget, _size?: number): Promise<Base64Image>;
|
|
16
16
|
static placeCameraForPerspectiveImage(_camera: PerspectiveCamera, _cameraTarget: CameraTarget, _angleX: number, _angleY: number): void;
|
|
17
17
|
prepareTopImage(_scene: Scene, _uiScene: Scene, _cameraTarget: CameraTarget, _options?: PrepareImageOptions): Promise<Base64Image>;
|
|
@@ -118,12 +118,6 @@ export interface FeatureFlags {
|
|
|
118
118
|
* @description If true, the advanced dimensioning is enabled (for test purposes only)
|
|
119
119
|
*/
|
|
120
120
|
advancedDimensioning?: boolean;
|
|
121
|
-
/**
|
|
122
|
-
* @internal
|
|
123
|
-
* @description If true, the undo/redo feature is enabled in the configurator in planner.
|
|
124
|
-
* This is for test purposes only.
|
|
125
|
-
*/
|
|
126
|
-
undoRedoInConfiguratorInPlanner?: boolean;
|
|
127
121
|
/**
|
|
128
122
|
* @internal
|
|
129
123
|
* @description If true, the scene will be rendered with WebGPU instead of WebGL
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PreviewComponent, PreviewLineComponent, RoomleComponent, RoomleComponentFactory } from '../../../common-core/src/webgl/roomle-component-factory';
|
|
2
2
|
import { ConfiguratorKernelCallbackI } from '../configurator-kernel-access';
|
|
3
3
|
import { KernelComponent, KernelDockPairPreview, KernelEnum, KernelLightSourceAttributes, KernelMeshAttributes, KernelMeshBuffer, KernelParameter, KernelVector3, PlanObject } from '../../../typings/kernel';
|
|
4
4
|
import { ConfigurationString } from '../../../typings/rapi-types';
|
|
@@ -52,6 +52,7 @@ export default class ConfiguratorViewModel implements ConfiguratorKernelCallback
|
|
|
52
52
|
private _applyMeshUVTransform;
|
|
53
53
|
updateAnimationParameters(elementId: number | number[], parameters: KernelParameter[]): void;
|
|
54
54
|
changeAnimationValue(elementId: number, parameterKey: string, value: string, level: number, animationLevel: AnimationLevelType, animate: boolean): void;
|
|
55
|
+
protected updatePlanElement(_elementId: number): void;
|
|
55
56
|
getComponentFromRuntimeId(elementId: number): RoomleComponent | null;
|
|
56
57
|
private _addMeshToSubPart;
|
|
57
58
|
private _addMeshToComponent;
|
|
@@ -13,6 +13,7 @@ export interface PrepareImageOptions {
|
|
|
13
13
|
size?: number;
|
|
14
14
|
showDimensions?: boolean;
|
|
15
15
|
runtimeIds?: number[];
|
|
16
|
+
rotationY?: number;
|
|
16
17
|
}
|
|
17
18
|
export interface CameraTarget {
|
|
18
19
|
center: Vector3;
|
|
@@ -29,7 +30,7 @@ export default class ImageRenderer {
|
|
|
29
30
|
switchToConfiguratorSettings(): void;
|
|
30
31
|
updateBounds(bounds: Box3): void;
|
|
31
32
|
static getCameraTargetForBBox(bbox: Box3, spacing?: number): CameraTarget;
|
|
32
|
-
preparePerspectiveImage(scene: Scene, uiScene: Scene, camera: PerspectiveCamera, cameraTarget: CameraTarget, options?: PrepareImageOptions,
|
|
33
|
+
preparePerspectiveImage(scene: Scene, uiScene: Scene, camera: PerspectiveCamera, cameraTarget: CameraTarget, options?: PrepareImageOptions, onBeforeRender?: (camera: Camera) => void): Promise<Base64Image>;
|
|
33
34
|
renderPerspectiveImage(scene: Scene, camera: PerspectiveCamera, cameraTarget: CameraTarget, size?: number): Promise<Base64Image>;
|
|
34
35
|
static placeCameraForPerspectiveImage(camera: PerspectiveCamera, cameraTarget: CameraTarget, angleX: number, angleY: number): void;
|
|
35
36
|
prepareTopImage(scene: Scene, uiScene: Scene, cameraTarget: CameraTarget, options?: PrepareImageOptions): Promise<Base64Image>;
|
|
@@ -20,12 +20,7 @@ export declare class RoomDesignerApi implements RoomDesignerRequests {
|
|
|
20
20
|
deleteRootModule(rootModuleId: string): void;
|
|
21
21
|
getPosDataOfAllGroups(): Promise<PosGroup[]>;
|
|
22
22
|
getRoomInformation(): Promise<import('./external-object-api').ExternalRoomInformation>;
|
|
23
|
-
|
|
24
|
-
objectId: string;
|
|
25
|
-
planId: string;
|
|
26
|
-
}>;
|
|
27
|
-
saveExternalObjectSnapshot(): Promise<import('../../typings/rapi-types').RapiPlanSnapshotGetDataWith3dUrls>;
|
|
23
|
+
saveExternalObjectSnapshot(): Promise<import('./external-object-api').ExternalObjectSnapshotSaveResult>;
|
|
28
24
|
saveCurrentPlanSnapshot(): Promise<import('../../typings/rapi-types').RapiPlanSnapshotGetData>;
|
|
29
25
|
renderPosDataImage(posDataJson: object): Promise<void>;
|
|
30
|
-
downloadGlb(): Promise<void>;
|
|
31
26
|
}
|
|
@@ -4,7 +4,7 @@ import { ExternalObjectGroup } from 'roomle-core-hsc/src/embind/plannerCoreInter
|
|
|
4
4
|
import { ExternalModuleInformation } from '../../typings/kernel';
|
|
5
5
|
import { CheckResult, PosArticle, PosGroup, PosSaveData } from './model/oc-scripts-domain.model';
|
|
6
6
|
import { HiObjectSelectionApi } from './hi-object-selection';
|
|
7
|
-
import { LoadExternalObjectOptions } from './external-object-api';
|
|
7
|
+
import { ExternalObjectSnapshotSaveResult, ExternalRoomInformation, LoadExternalObjectOptions } from './external-object-api';
|
|
8
8
|
import { ExternalObjectValidContainerModules } from './external-object-api-callbacks';
|
|
9
9
|
|
|
10
10
|
export declare class GlueLayerRequestDebugLogging implements GlueLogic {
|
|
@@ -58,11 +58,6 @@ export declare class GlueLayerResponseDebugLogging implements RoomDesignerReques
|
|
|
58
58
|
deleteGroup(groupId: string): void;
|
|
59
59
|
deleteRootModule(rootModuleId: string): void;
|
|
60
60
|
getPosDataOfAllGroups(): Promise<PosGroup[]>;
|
|
61
|
-
getRoomInformation(): Promise<
|
|
62
|
-
|
|
63
|
-
objectId: string;
|
|
64
|
-
planId: string;
|
|
65
|
-
}>;
|
|
66
|
-
saveExternalObjectSnapshot(): Promise<any>;
|
|
67
|
-
saveCurrentPlanSnapshot(): Promise<any>;
|
|
61
|
+
getRoomInformation(): Promise<ExternalRoomInformation>;
|
|
62
|
+
saveExternalObjectSnapshot(): Promise<ExternalObjectSnapshotSaveResult | null>;
|
|
68
63
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Position3 } from '../../common-core/src/common-interfaces';
|
|
2
|
+
import { RapiId } from '../../typings/rapi-types';
|
|
2
3
|
import { CheckResult, PosArticle, PosContour } from './model/oc-scripts-domain.model';
|
|
3
4
|
|
|
4
5
|
export interface ExternalObjectUiSliderRange {
|
|
@@ -64,6 +65,26 @@ export interface LoadExternalObjectOptions {
|
|
|
64
65
|
export interface LoadExternalObjectGroupResult {
|
|
65
66
|
id: number;
|
|
66
67
|
}
|
|
68
|
+
export interface ExternalObjectSnapshotData {
|
|
69
|
+
orderData: string;
|
|
70
|
+
planXML: string;
|
|
71
|
+
objectGlb: string;
|
|
72
|
+
perspectiveImage: string;
|
|
73
|
+
topImage: string;
|
|
74
|
+
perspectiveObjectImage: string;
|
|
75
|
+
topObjectImage: string;
|
|
76
|
+
}
|
|
77
|
+
export interface ExternalObjectSnapshotSaveResult {
|
|
78
|
+
orderData: string;
|
|
79
|
+
planSnapshotId: string;
|
|
80
|
+
perspectiveImageLink: string;
|
|
81
|
+
topImageLink: string;
|
|
82
|
+
fullPlanGlbLink: string;
|
|
83
|
+
perspectiveObjectImageLink: string;
|
|
84
|
+
topObjectImageLink: string;
|
|
85
|
+
objectGlbLink: string;
|
|
86
|
+
glb: string;
|
|
87
|
+
}
|
|
67
88
|
export interface ExternalObjectAPI {
|
|
68
89
|
/**
|
|
69
90
|
* With "configureExternalObjectApi" the default representation of the objects and UI and
|
|
@@ -196,5 +217,22 @@ export interface ExternalObjectAPI {
|
|
|
196
217
|
* "getExternalRoomInformation" returns the room information for currently loaded in the plan.
|
|
197
218
|
*/
|
|
198
219
|
getExternalRoomInformation(): Promise<ExternalRoomInformation>;
|
|
220
|
+
/**
|
|
221
|
+
* It generates a snapshot of the external object in the plan without saving any data.
|
|
222
|
+
* The snapshot includes order data, room information, the plan XML, GLBs of the complete scene,
|
|
223
|
+
* and only the objects in the scene, as well as perspective images and a top image.
|
|
224
|
+
* The complete XML plan is returned. The assets are returned as base64 strings.
|
|
225
|
+
* @returns the snapshot of the external objects
|
|
226
|
+
*/
|
|
227
|
+
getExternalObjectSnapshot(): Promise<ExternalObjectSnapshotData | null>;
|
|
228
|
+
/**
|
|
229
|
+
* It generates a snapshot of the external object and saves the data and assets in the Roomle backend.
|
|
230
|
+
* The snapshot includes order data, room information, the plan XML, GLBs of the complete scene,
|
|
231
|
+
* and only the objects in the scene, as well as perspective images and a top image.
|
|
232
|
+
* Only the plan snapshot ID is returned from the plan. The assets are returned as URLs.
|
|
233
|
+
* @param parentPlanId id of the current plan, optional
|
|
234
|
+
* @returns the snapshot of the external objects if there are no external objects it returns null
|
|
235
|
+
*/
|
|
236
|
+
saveExternalObjectSnapshot(parentPlanId?: RapiId): Promise<ExternalObjectSnapshotSaveResult | null>;
|
|
199
237
|
}
|
|
200
238
|
export declare const getDefaultExternalObjectApiConfiguration: () => Promise<ExternalObjectApiConfiguration>;
|
|
@@ -2,7 +2,7 @@ import { HiCallbacks } from '../../../../embedding-lib/src/embedding-lib';
|
|
|
2
2
|
import { ExternalModuleInformation, ExternalObjectGroup, ExternalObjectValidContainerModules } from './external-object-api-callbacks';
|
|
3
3
|
import { MasterData, PosModuleAttribute, PosGroup, PosModuleData, CheckResult, PosSaveData, PosArticle } from './model/oc-scripts-domain.model';
|
|
4
4
|
import { HiObjectSelectionApi } from './hi-object-selection';
|
|
5
|
-
import { LoadExternalObjectOptions } from './external-object-api';
|
|
5
|
+
import { ExternalObjectSnapshotSaveResult, ExternalRoomInformation, LoadExternalObjectOptions } from './external-object-api';
|
|
6
6
|
|
|
7
7
|
export interface LibraryIdAndLibraryData {
|
|
8
8
|
libraryId?: string;
|
|
@@ -30,13 +30,8 @@ export interface RoomDesignerRequests {
|
|
|
30
30
|
deleteGroup(groupId: string): void;
|
|
31
31
|
deleteRootModule(rootModuleId: string): void;
|
|
32
32
|
getPosDataOfAllGroups(): Promise<PosGroup[]>;
|
|
33
|
-
getRoomInformation(): Promise<
|
|
34
|
-
|
|
35
|
-
objectId: string;
|
|
36
|
-
planId: string;
|
|
37
|
-
}>;
|
|
38
|
-
saveExternalObjectSnapshot(): Promise<any>;
|
|
39
|
-
saveCurrentPlanSnapshot(): Promise<any>;
|
|
33
|
+
getRoomInformation(): Promise<ExternalRoomInformation>;
|
|
34
|
+
saveExternalObjectSnapshot(): Promise<ExternalObjectSnapshotSaveResult | null>;
|
|
40
35
|
}
|
|
41
36
|
export interface GlueLogic {
|
|
42
37
|
hiCallbacks: HiCallbacks | null;
|
|
@@ -4,7 +4,7 @@ import { GlbViewer } from '../../glb-viewer-core/src/glb-viewer';
|
|
|
4
4
|
import { default as Main, ExternalEmbeddable, GlobalAPI, KernelUtilityForUi, RubensAPI } from '../../common-core/src/main';
|
|
5
5
|
import { Configurator } from '../../configurator-core/src/configurator';
|
|
6
6
|
import { GlobalInitDataDefinition, InitDataDefinition } from '../../common-core/src/utils/shims';
|
|
7
|
-
import { ConfigurationString, RapiConfiguration, RapiId, RapiItem, RapiPlan, RapiPlanSnapshotGetData
|
|
7
|
+
import { ConfigurationString, RapiConfiguration, RapiId, RapiItem, RapiPlan, RapiPlanSnapshotGetData } from '../../typings/rapi-types';
|
|
8
8
|
import { Context } from '../../common-core/src/di/context';
|
|
9
9
|
import { KernelAttic, PlanObject, WallSide, CancelSelectionReasons, KernelObject, KernelWall, PlanInteractionHandler, PlanModelViewHelper, PlanOverview } from '../../typings/planner';
|
|
10
10
|
import { KernelAccessCallbackI } from '../../common-core/src/kernel-access-callback';
|
|
@@ -21,11 +21,10 @@ import { default as PlanElementViewModel } from '../../common-core/src/view-mode
|
|
|
21
21
|
import { default as WallPlanElementViewModel } from './view-model/wall-plan-element-view-model';
|
|
22
22
|
import { default as ConfiguratorContext } from '../../common-core/src/webgl/configurator-context';
|
|
23
23
|
import { default as IdbManager } from '../../common-core/src/services/idb-manager';
|
|
24
|
-
import { LoadExternalObjectGroupResult, LoadExternalObjectOptions, ExternalObjectAPI, ExternalObjectApiConfiguration, ExternalObjectModuleIdMap, ExternalRoomInformation, HiContextAction } from '../../homag-intelligence/src/external-object-api';
|
|
24
|
+
import { ExternalObjectSnapshotData, ExternalObjectSnapshotSaveResult, LoadExternalObjectGroupResult, LoadExternalObjectOptions, ExternalObjectAPI, ExternalObjectApiConfiguration, ExternalObjectModuleIdMap, ExternalRoomInformation, HiContextAction } from '../../homag-intelligence/src/external-object-api';
|
|
25
25
|
import { GlobalCallback } from '../../common-core/src/services/global-callback';
|
|
26
26
|
import { ExternalGroupData, ExternalObject, ExtObjId } from '../../typings/external-objects';
|
|
27
27
|
import { PluginName } from '../../configurator-core/src/utils/plugin-types';
|
|
28
|
-
import { Nullable } from '../../typings/helper';
|
|
29
28
|
import { MaybePromise } from '../../common-core/src/utils/common-utils';
|
|
30
29
|
import { HomagIntelligence } from '../../homag-intelligence/src/homag-intelligence';
|
|
31
30
|
import { RoomleLightSource } from '../../common-core/src/light/light-source';
|
|
@@ -360,28 +359,8 @@ export default class RoomlePlanner<P extends readonly PluginName[] = readonly []
|
|
|
360
359
|
* @param sceneEvents
|
|
361
360
|
*/
|
|
362
361
|
setSceneEvents(sceneEvents: SceneEvents): void;
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
* The snapshot includes order data, room information, the plan XML, GLBs of the complete scene,
|
|
366
|
-
* and only the objects in the scene, as well as perspective images and a top image.
|
|
367
|
-
* @returns the snapshot of the external objects
|
|
368
|
-
*/
|
|
369
|
-
getExternalObjectSnapshot(): Promise<{
|
|
370
|
-
orderData: any;
|
|
371
|
-
planXML: string;
|
|
372
|
-
objectGlb: string;
|
|
373
|
-
perspectiveImage: string;
|
|
374
|
-
topImage: string;
|
|
375
|
-
perspectiveObjectImage: string;
|
|
376
|
-
topObjectImage: string;
|
|
377
|
-
}>;
|
|
378
|
-
/**
|
|
379
|
-
* Saves a snapshot of the external objects in the plan without walls and other objects
|
|
380
|
-
* Also contains the urls to the glb and usdz files
|
|
381
|
-
* @param parentPlanId id of the current plan, optional
|
|
382
|
-
* @returns the snapshot of the external objects if there are no external objects it returns null
|
|
383
|
-
*/
|
|
384
|
-
saveExternalObjectSnapshot(parentPlanId?: RapiId): Promise<Nullable<RapiPlanSnapshotGetDataWith3dUrls>>;
|
|
362
|
+
getExternalObjectSnapshot(): Promise<ExternalObjectSnapshotData | null>;
|
|
363
|
+
saveExternalObjectSnapshot(parentPlanId?: RapiId): Promise<ExternalObjectSnapshotSaveResult | null>;
|
|
385
364
|
private _getExternalObjectGroupsInPlan;
|
|
386
365
|
private _savePlanSnapshotExternalObjects;
|
|
387
366
|
saveCurrentPlanSnapshot(parentPlanId?: RapiId, configurationHashOrGroupId?: string | string[]): Promise<RapiPlanSnapshotGetData>;
|
|
@@ -101,6 +101,8 @@ export default class PlanViewModel extends ConfiguratorViewModel implements Plan
|
|
|
101
101
|
protected _addComponent(component: RoomleComponent): void;
|
|
102
102
|
private _getPlanObjectViewModelForRuntimeId;
|
|
103
103
|
getConfigurablePlanObjectForId(id: number): ConfiguratorPlanObjectViewModel;
|
|
104
|
+
private _findPlanObjectViewModel;
|
|
105
|
+
protected updatePlanElement(elementId: number): void;
|
|
104
106
|
getStaticPlanObjectForId(id: number): StaticPlanObjectViewModel;
|
|
105
107
|
getConstructionObjectForId(id: number): ConstructionPlanObjectViewModel;
|
|
106
108
|
getStaticPlanObjectViewModelForId(id: number): StaticPlanObjectViewModel;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Base64Image, CanvasOffset } from '../../../common-core/src/common-interfaces';
|
|
2
2
|
import { PlannerKernelCallbackI } from '../services/planner-kernel-access';
|
|
3
|
-
import {
|
|
3
|
+
import { CancelSelectionReasons, CORE_TYPE_OF_CORE_ID, Plan, PlanElement } from '../../../typings/planner';
|
|
4
4
|
import { KernelPlanObjectComponent, KernelEnum, KernelPlanObject, KernelVector3, RuntimeId } from '../../../typings/kernel';
|
|
5
5
|
import { default as PlannerSceneEventHandler } from './planner-scene-event-handler';
|
|
6
6
|
import { BatchPaintMaterial, InsertItemIdInfo, InsertItemResult, RoomlePlannerCallback, SceneEvents } from '../roomle-planner';
|
|
@@ -14,7 +14,7 @@ import { default as PlanViewModel } from '../view-model/plan-view-model';
|
|
|
14
14
|
import { default as ConfiguratorSceneManager } from '../../../configurator-core/src/webgl/configurator-scene-manager';
|
|
15
15
|
import { default as WallPlanElementViewModel } from '../view-model/wall-plan-element-view-model';
|
|
16
16
|
import { Enumify } from '../../../common-core/src/types';
|
|
17
|
-
import {
|
|
17
|
+
import { Box3, Object3D } from 'three';
|
|
18
18
|
import { CameraTarget, PrepareImageOptions } from '../../../common-core/src/webgl/image-renderer';
|
|
19
19
|
import { default as Planner2dCameraBehaviour } from '../../../common-core/src/cameracontrol/planner-2d-camera-behaviour';
|
|
20
20
|
import { default as Planner3dCameraBehaviour } from '../../../common-core/src/cameracontrol/planner-3d-camera-behaviour';
|
|
@@ -71,6 +71,7 @@ export interface KernelPart {
|
|
|
71
71
|
count: number;
|
|
72
72
|
currencySymbol: string;
|
|
73
73
|
permissionToDelete: KernelPermissionToDelete;
|
|
74
|
+
permissionToDeleteInIsolation: KernelPermissionToDelete;
|
|
74
75
|
label: string;
|
|
75
76
|
parameters: KernelPartListParameter[];
|
|
76
77
|
price: number;
|
|
@@ -265,11 +266,12 @@ export declare const CORE_PERMISSION_TO_DELETE: {
|
|
|
265
266
|
readonly ALWAYS: 2;
|
|
266
267
|
};
|
|
267
268
|
export interface KernelPlanObjectComponent extends KernelPlanObjectBase {
|
|
269
|
+
isExternalObject: boolean;
|
|
268
270
|
type: KernelComponentType;
|
|
271
|
+
isChildObject: boolean;
|
|
269
272
|
objectMode: ChildEntityMode;
|
|
270
273
|
planComponentRuntimeId: number;
|
|
271
274
|
componentId: string;
|
|
272
|
-
permissionToDelete: KernelPermissionToDelete;
|
|
273
275
|
parentObjectId: number;
|
|
274
276
|
childObjectIds: ems.EmsArray<number>;
|
|
275
277
|
externalObjectGroupId: string;
|
|
@@ -277,6 +279,9 @@ export interface KernelPlanObjectComponent extends KernelPlanObjectBase {
|
|
|
277
279
|
externalSubModuleId: string;
|
|
278
280
|
isAGeneratedModule: boolean;
|
|
279
281
|
canBeDeleted: boolean;
|
|
282
|
+
permissionToDelete: KernelPermissionToDelete;
|
|
283
|
+
permissionToDeleteInIsolation: KernelPermissionToDelete;
|
|
284
|
+
isExchangeable: boolean;
|
|
280
285
|
animations?: KernelAnimation[];
|
|
281
286
|
}
|
|
282
287
|
export interface UiPlanObject extends KernelPlanObject {
|
|
@@ -312,6 +317,7 @@ export interface KernelComponent {
|
|
|
312
317
|
id: number;
|
|
313
318
|
valid: boolean;
|
|
314
319
|
permissionToDelete: KernelPermissionToDelete;
|
|
320
|
+
permissionToDeleteInIsolation: KernelPermissionToDelete;
|
|
315
321
|
objectId: number;
|
|
316
322
|
rootId: number;
|
|
317
323
|
rootSiblingIds: number[];
|
|
@@ -495,6 +501,7 @@ export interface KernelObjectInformation {
|
|
|
495
501
|
source: string;
|
|
496
502
|
type: KernelComponentType;
|
|
497
503
|
permissionToDelete: KernelPermissionToDelete;
|
|
504
|
+
permissionToDeleteInIsolation: KernelPermissionToDelete;
|
|
498
505
|
}
|
|
499
506
|
export interface ExternalAttributeInformation {
|
|
500
507
|
groupId: string;
|
|
@@ -29,6 +29,7 @@ export interface Plan extends KernelObject {
|
|
|
29
29
|
getPlanXML(includeRuntimeId: boolean, xmlVersion: number /** current version is 2 */): string;
|
|
30
30
|
createPlanXmlWithSingleObject(object: PlanObject, includeRuntimeId: boolean, version: number): string;
|
|
31
31
|
createPlanXmlWithObjects(objectId: string | string[], includeRuntimeId: boolean, version: number): string;
|
|
32
|
+
getRotationForFrontView(objectIds: number | number[]): number;
|
|
32
33
|
getWallCount(): number;
|
|
33
34
|
getId(): number;
|
|
34
35
|
}
|
|
@@ -320,10 +320,6 @@ export interface RapiPlanSnapshotGetData extends RapiPlanSnapshotPostData {
|
|
|
320
320
|
perspectiveImage: string;
|
|
321
321
|
topImage: string;
|
|
322
322
|
}
|
|
323
|
-
export interface RapiPlanSnapshotGetDataWith3dUrls extends RapiPlanSnapshotGetData {
|
|
324
|
-
glb: string;
|
|
325
|
-
usdz: string;
|
|
326
|
-
}
|
|
327
323
|
export interface RapiRetailer extends RapiJson {
|
|
328
324
|
}
|
|
329
325
|
export interface RapiConfiguration extends RapiJson {
|