@roomle/embedding-lib 5.27.0 → 5.28.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 +6 -25
- package/package.json +1 -1
- package/packages/embedding-lib/src/embedding-lib.d.ts +7 -0
- package/packages/web-sdk/packages/common-core/src/light/light-source.d.ts +2 -0
- package/packages/web-sdk/packages/common-core/src/utils/threejs-utils.d.ts +2 -1
- package/packages/web-sdk/packages/common-core/src/webgl/roomle-component-factory.d.ts +1 -0
- package/packages/web-sdk/packages/common-core/src/webgl/scene-manager.d.ts +1 -1
- package/packages/web-sdk/packages/homag-intelligence/src/callbacks.d.ts +1 -1
- package/packages/web-sdk/packages/homag-intelligence/src/emulator.d.ts +3 -3
- package/packages/web-sdk/packages/homag-intelligence/src/homag-intelligence.d.ts +4 -2
- package/packages/web-sdk/packages/homag-intelligence/src/loader.d.ts +2 -4
- package/packages/web-sdk/packages/planner-core/src/external-object-api-callbacks.d.ts +10 -9
- package/packages/web-sdk/packages/planner-core/src/lights/ceiling-light.d.ts +1 -1
- package/packages/web-sdk/packages/planner-core/src/lights/light-group.d.ts +1 -2
- package/packages/web-sdk/packages/planner-core/src/roomle-planner-ui-callback.d.ts +2 -2
- package/packages/web-sdk/packages/planner-core/src/roomle-planner.d.ts +12 -6
- package/packages/web-sdk/packages/planner-core/src/services/planner-kernel-access.d.ts +3 -3
- package/packages/web-sdk/packages/planner-core/src/view-model/plan-view-model.d.ts +1 -4
- package/packages/web-sdk/packages/planner-core/src/webgl/planner-scene-manager.d.ts +5 -1
- package/roomle-embedding-lib.es.js +508 -253
- package/roomle-embedding-lib.es.min.js +1 -1
- package/roomle-embedding-lib.umd.js +21 -17
- package/roomle-embedding-lib.umd.min.js +1 -1
- package/src/common/components/SwitchButton.vue.d.ts +21 -15
- package/src/common/components/inputs/BaseInput.vue.d.ts +0 -2
- package/src/common/components/inputs/NumericInput.vue.d.ts +2 -2
- package/src/common/components/side-bar/utils/configurator-sidebar-components.d.ts +79 -111
- package/src/common/composables/use-planner-actions-visibility.d.ts +1 -0
- package/src/common/composables/use-selected-plan-element.d.ts +1 -0
- package/src/common/store/common-ui-store.d.ts +4 -1
- package/src/common/utils/parameters.d.ts +3 -0
- package/src/planner/components/overlays/product-settings/ProductRangeControl.vue.d.ts +6 -6
- package/src/planner/components/overlays/rooms/ElementLengthScaling.vue.d.ts +34 -15
- package/src/planner/components/overlays/rooms/IconSwitch.vue.d.ts +34 -15
- package/src/planner/components/overlays/rooms/ParameterSwitch.vue.d.ts +17 -41
- package/src/planner/components/overlays/rooms/RoomUnitSwitch.vue.d.ts +11 -83
|
@@ -1,33 +1,14 @@
|
|
|
1
|
-
## [5.
|
|
1
|
+
## [5.28.0-alpha.2](https://github.com/roomle-dev/roomle-ui/compare/embedding-lib-v5.28.0-alpha.1...embedding-lib-v5.28.0-alpha.2) (2025-09-15)
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
### Features
|
|
5
5
|
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* hi room information for order data ([3034df5](https://github.com/roomle-dev/roomle-ui/commit/3034df54a39680b5d58a66df06a60ca9a535f752))
|
|
11
|
-
* move the dimensions label from SDK to UI ([fed29f6](https://github.com/roomle-dev/roomle-ui/commit/fed29f6c3b9e5eec3faab3996bfeace271c5c05a))
|
|
12
|
-
* smart positions of measurements label and add collision detection between labels ([ebf82c6](https://github.com/roomle-dev/roomle-ui/commit/ebf82c63c6b9a52e939c799d6b9b8f1becff3d6b))
|
|
13
|
-
* **core:** upgrade to version 2.58.1-alpha.1 ([1f144ee](https://github.com/roomle-dev/roomle-ui/commit/1f144ee761c1604a89abcd7f28b01df28656d288))
|
|
14
|
-
* **core:** upgrade to version 2.59.0-alpha.1 ([3021efa](https://github.com/roomle-dev/roomle-ui/commit/3021efabfa5aad20fef86c719b72f37faff5dd25))
|
|
15
|
-
* **core:** upgrade to version 2.59.0-alpha.2 ([327b2f2](https://github.com/roomle-dev/roomle-ui/commit/327b2f2f8430f7280b93345709e9e84b68350d61))
|
|
16
|
-
* **core:** upgrade to version 2.59.0-alpha.3 ([87d5a75](https://github.com/roomle-dev/roomle-ui/commit/87d5a75d9930face28c442598ed1ed506f52bc47))
|
|
17
|
-
* **core:** upgrade to version 2.59.0-alpha.4 ([d370635](https://github.com/roomle-dev/roomle-ui/commit/d3706359b12d6d258d51d8a8466ef143e7951644))
|
|
18
|
-
* **core:** upgrade to version 2.59.0-alpha.5 ([92227a9](https://github.com/roomle-dev/roomle-ui/commit/92227a93bead21f191cd33711ed936426e5ed4b3))
|
|
19
|
-
* **core:** upgrade to version 2.59.0-alpha.6 ([222e9b0](https://github.com/roomle-dev/roomle-ui/commit/222e9b008715e1de03bed9c3306e4eb32ffe0949))
|
|
20
|
-
* **core:** upgrade to version 2.59.0-alpha.7 ([9b51309](https://github.com/roomle-dev/roomle-ui/commit/9b51309fe283b0f6f9adcdf25f3a30a9357bab14))
|
|
21
|
-
* **core:** upgrade to version 2.59.0-alpha.8 ([e8646e4](https://github.com/roomle-dev/roomle-ui/commit/e8646e43d24db4b5553de5d82d99e1d10663cd48))
|
|
22
|
-
* **core:** upgrade to version 2.59.0-alpha.9 ([a93b26a](https://github.com/roomle-dev/roomle-ui/commit/a93b26a6d0b545cafd00ca25cff3e7a4fc73b80d))
|
|
6
|
+
* clean-up hi example feature flags ([8410d22](https://github.com/roomle-dev/roomle-ui/commit/8410d22437062ee016db66a1e567723459a033d4))
|
|
7
|
+
* keep position when external object is replaced ([dda4c61](https://github.com/roomle-dev/roomle-ui/commit/dda4c61cb8366204d5524435016d47da18f3cc4b))
|
|
8
|
+
* recalculate external object group when group is loaded from a plan ([fc67591](https://github.com/roomle-dev/roomle-ui/commit/fc67591dfe2f83f612a17dc023e228e0a813c743))
|
|
9
|
+
* select root modules to be duplicated ([cfafc35](https://github.com/roomle-dev/roomle-ui/commit/cfafc35d106b1ee314e06b8eb650e81cf2ee7fc8))
|
|
23
10
|
|
|
24
11
|
|
|
25
12
|
### Bug Fixes
|
|
26
13
|
|
|
27
|
-
*
|
|
28
|
-
* dimensioning artifact after zoom in ([7a36d6a](https://github.com/roomle-dev/roomle-ui/commit/7a36d6a18c30ed6cae3a10df9c09485d368e838e))
|
|
29
|
-
* drag construction objects in 2D ([ea23601](https://github.com/roomle-dev/roomle-ui/commit/ea23601b979a4547b9ce394b65b2b2352fb4b394))
|
|
30
|
-
* position of dragged in element when in 2d ([e96a5f9](https://github.com/roomle-dev/roomle-ui/commit/e96a5f95d4279ea9908c8b96a1d30a175cedddbf))
|
|
31
|
-
* regenerate lines on camera move 90 degrees ([b089c2e](https://github.com/roomle-dev/roomle-ui/commit/b089c2efe72f3c51d38311d88991bf8e275cdde2))
|
|
32
|
-
* update addons on "Add an element" ([a3768bc](https://github.com/roomle-dev/roomle-ui/commit/a3768bcf70d4b26ca11536179ae8642fbb0187f2))
|
|
33
|
-
* update position of remaining root modules when deleting a root module ([9e71f46](https://github.com/roomle-dev/roomle-ui/commit/9e71f469ef992b43fc4f90995595cf620f7acba9))
|
|
14
|
+
* set file size limit of embedding lib to 15 kb after adding comlink ([65809d9](https://github.com/roomle-dev/roomle-ui/commit/65809d9d616c5000631a85cddbe4388567bd63bb))
|
package/package.json
CHANGED
|
@@ -5,10 +5,16 @@ import { default as RoomleGLBViewer } from '@roomle/web-sdk/glb-viewer-core/src/
|
|
|
5
5
|
import { default as RoomlePlanner } from '@roomle/web-sdk/planner-core/src/roomle-planner';
|
|
6
6
|
import { DragIn } from './plugins/drag-in';
|
|
7
7
|
import { Connector } from './connector';
|
|
8
|
+
import { MasterData } from '@roomle/web-sdk/homag-intelligence/src/model/oc-scripts-domain.model';
|
|
8
9
|
|
|
9
10
|
interface PluginMap {
|
|
10
11
|
dragIn: typeof DragIn;
|
|
11
12
|
}
|
|
13
|
+
export interface HiCallbacks {
|
|
14
|
+
onLoadJavascript: (libraryId: string) => Promise<string>;
|
|
15
|
+
onLoadMasterData: (libraryId: string) => Promise<MasterData>;
|
|
16
|
+
onLoadArticleCatalog: (libraryId: string) => Promise<any>;
|
|
17
|
+
}
|
|
12
18
|
export type AvailablePlugins = {
|
|
13
19
|
[K in keyof PluginMap]?: InstanceType<PluginMap[K]>;
|
|
14
20
|
};
|
|
@@ -47,6 +53,7 @@ export default class RoomleEmbeddingApi<SdkType, SdkCallbacks> extends Connector
|
|
|
47
53
|
* @param initData settings with which the configurator should be started
|
|
48
54
|
*/
|
|
49
55
|
static createViewer(configuratorId: string, container: HTMLElement, initData: UiInitData, plugins?: PluginDefinitions): Promise<RoomleViewerApi>;
|
|
56
|
+
static setupHi(callbacks: HiCallbacks): void;
|
|
50
57
|
private static _create;
|
|
51
58
|
private _waitForIframe;
|
|
52
59
|
private _container;
|
|
@@ -7,7 +7,9 @@ export declare class RoomleLightSource {
|
|
|
7
7
|
private _light;
|
|
8
8
|
constructor(lightSourceId: number, lightSource: Light);
|
|
9
9
|
get lightSourceId(): number;
|
|
10
|
+
get isLightOn(): boolean;
|
|
10
11
|
addToScene(object3d: Object3D): void;
|
|
11
12
|
removeFromScene(): void;
|
|
13
|
+
setLightOnOff(state: boolean): void;
|
|
12
14
|
updateLightSource(lightSourceAttributes: any): void;
|
|
13
15
|
}
|
|
@@ -2,7 +2,7 @@ import { Dimensioning, KernelCube, KernelEnum } from '../../../typings/kernel';
|
|
|
2
2
|
import { AssetUrl, RapiMaterial, RapiMaterialShading, RapiTexture } from '../../../typings/rapi-types';
|
|
3
3
|
import { Position2, Position3 } from '../common-interfaces';
|
|
4
4
|
import { default as WallPlanElementViewModel } from '../../../planner-core/src/view-model/wall-plan-element-view-model';
|
|
5
|
-
import { Camera, Intersection, Material, Matrix4, MeshPhysicalMaterial, MeshStandardMaterial, NormalBufferAttributes, Object3D, Object3DEventMap, Quaternion, Texture, Vector2, Scene, Box3, BufferGeometry, Color, CubeTexture, DataTexture, Layers, Mesh, MeshBasicMaterial, Vector3 } from 'three';
|
|
5
|
+
import { ShaderChunk, Camera, Intersection, Material, Matrix4, MeshPhysicalMaterial, MeshStandardMaterial, NormalBufferAttributes, Object3D, Object3DEventMap, Quaternion, Texture, Vector2, Scene, Box3, BufferGeometry, Color, CubeTexture, DataTexture, Layers, Mesh, MeshBasicMaterial, Vector3 } from 'three';
|
|
6
6
|
import { GUI } from 'dat.gui';
|
|
7
7
|
import { OBJECT_EVENT } from '../../../configurator-core/src/utils/raycast-helper';
|
|
8
8
|
import { INPUT_EVENT_TYPE } from '../input/input-manager';
|
|
@@ -132,4 +132,5 @@ export interface Object3DRoomleEventMap extends Object3DEventMap {
|
|
|
132
132
|
* normalize the angle between -PI and PI
|
|
133
133
|
*/
|
|
134
134
|
export declare const normalizeRotation: (angleInRad: number) => number;
|
|
135
|
+
export declare const patchLighting: (shaderChunk: typeof ShaderChunk) => void;
|
|
135
136
|
export {};
|
|
@@ -29,6 +29,7 @@ export interface RoomleComponent extends RoomleEventedObject3D {
|
|
|
29
29
|
getLightSourceById(lightSourceId: number): RoomleLightSource | null;
|
|
30
30
|
removeLightSourceById(lightSourceId: number): void;
|
|
31
31
|
addLightSource(lightSource: RoomleLightSource): void;
|
|
32
|
+
getAllLightSources(): Map<number, RoomleLightSource>;
|
|
32
33
|
getMeshById(meshId: number): Mesh;
|
|
33
34
|
removeAllMeshes(): void;
|
|
34
35
|
select(): void;
|
|
@@ -103,7 +103,7 @@ export default abstract class SceneManager implements Context, LifeCycleCallback
|
|
|
103
103
|
protected _setupScene(_offset?: CanvasOffset, transparent?: boolean): void;
|
|
104
104
|
loadEnvMap(url: string): Promise<void>;
|
|
105
105
|
private _getEnvMapIntensityAndRotation;
|
|
106
|
-
|
|
106
|
+
protected _setDefaultEnvironmentScene(): void;
|
|
107
107
|
private _setEnvMap;
|
|
108
108
|
private _tabVisible;
|
|
109
109
|
private _releaseKeystrokeStates;
|
|
@@ -26,7 +26,7 @@ export interface ExternalObjectGroup {
|
|
|
26
26
|
groupId: string;
|
|
27
27
|
pos: number[];
|
|
28
28
|
rotationY?: number;
|
|
29
|
-
rootModules
|
|
29
|
+
rootModules?: ExternalObjectRootModule[];
|
|
30
30
|
contours?: ExternalObjectContour[];
|
|
31
31
|
}
|
|
32
32
|
export interface ExternalModuleInformation {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExternalModuleInformation, ExternalObjectGroup
|
|
1
|
+
import { ExternalModuleInformation, ExternalObjectGroup } from './callbacks';
|
|
2
2
|
import { MasterData, PosModuleAttribute, PosGroup, PosModuleData, PosModuleRootData } from './model/oc-scripts-domain.model';
|
|
3
3
|
|
|
4
4
|
export interface LibraryData {
|
|
@@ -28,7 +28,7 @@ export interface GlueLogic {
|
|
|
28
28
|
mergeGroups(targetGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], idOfTargetRootModule: string): void;
|
|
29
29
|
deleteRootModule(remainingGroup: ExternalObjectGroup, rootModuleIdToDelete: string, splitOffGroups: ExternalObjectGroup[]): void;
|
|
30
30
|
splitRootModuleFromGroup(splitGroup: ExternalObjectGroup, newGroupedRootModules: ExternalObjectGroup[]): void;
|
|
31
|
-
duplicateGroup(sourceGroupId: string,
|
|
31
|
+
duplicateGroup(sourceGroupId: string, duplicatedGroup: ExternalObjectGroup): void;
|
|
32
32
|
modifyAttribute(groupId: string, moduleIdObjects: ExternalModuleInformation[], attributeName: string, value: string): void;
|
|
33
33
|
arrangeRootModulesOfGroup(changedGroup: ExternalObjectGroup): void;
|
|
34
34
|
changedGroupPlanningSituation(changedGroup: ExternalObjectGroup): void;
|
|
@@ -68,7 +68,7 @@ export declare class Emulator implements GlueLogic {
|
|
|
68
68
|
selectSubModule(_groupId: any, rootId: string, moduleId: string): Promise<void>;
|
|
69
69
|
openCloseGroup(groupId: string): Promise<void>;
|
|
70
70
|
deleteRootModule(remainingGroup: ExternalObjectGroup, rootModuleIdToDelete: string, splitOffGroups: ExternalObjectGroup[]): void;
|
|
71
|
-
duplicateGroup(
|
|
71
|
+
duplicateGroup(_sourceGroupId: string, duplicatedGroup: ExternalObjectGroup): Promise<void>;
|
|
72
72
|
mergeGroups(targetGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], idOfTargetRootModule: string): void;
|
|
73
73
|
private _applyImplicitRelevantAttributes;
|
|
74
74
|
splitRootModuleFromGroup(splitGroup: ExternalObjectGroup, newGroupedRootModules: ExternalObjectGroup[]): void;
|
|
@@ -5,6 +5,7 @@ import { MasterData } from './model/oc-scripts-domain.model';
|
|
|
5
5
|
import { default as RoomlePlanner } from '../../planner-core/src/roomle-planner';
|
|
6
6
|
import { ExternalConfiguration, ExternalItem } from '../../typings/external-objects';
|
|
7
7
|
import { HiTagCatalogCallbacks } from './hi-tag-catalog-callbacks';
|
|
8
|
+
import { HiCallbacks } from '../../../../embedding-lib/src/embedding-lib';
|
|
8
9
|
|
|
9
10
|
declare global {
|
|
10
11
|
interface Window {
|
|
@@ -29,13 +30,14 @@ export declare class HomagIntelligence extends RmlPlugin {
|
|
|
29
30
|
private _hiLibraryLoaded;
|
|
30
31
|
private _orders;
|
|
31
32
|
constructor();
|
|
32
|
-
loadHiLibrary(
|
|
33
|
+
loadHiLibrary(hiCallbacks: HiCallbacks, libraryId: string): Promise<{
|
|
33
34
|
articles: any;
|
|
34
35
|
masterData: MasterData;
|
|
35
36
|
calcScriptLoaded: boolean;
|
|
36
37
|
}>;
|
|
37
|
-
init(articles: any, catalogCallbacks: HiTagCatalogCallbacks, roomlePlanner: RoomlePlanner, libraryId: string, apiOptions: ApiOptions): Promise<this>;
|
|
38
|
+
init(articles: any, catalogCallbacks: HiTagCatalogCallbacks, roomlePlanner: RoomlePlanner, libraryId: string, apiOptions: ApiOptions, hiCallbacks: HiCallbacks): Promise<this>;
|
|
38
39
|
private _loadMasterData;
|
|
40
|
+
private _initCalcScript;
|
|
39
41
|
getEmulator(): Emulator;
|
|
40
42
|
sendToOM(withPrice?: boolean): Promise<void>;
|
|
41
43
|
fetchPrice(planId?: string): Promise<any>;
|
|
@@ -18,7 +18,5 @@ export declare const fetchDataWithAuthorization: (url: string, type: 'json' | 't
|
|
|
18
18
|
property: string;
|
|
19
19
|
}) => Promise<Response>;
|
|
20
20
|
export declare const loadArticleCatalog: (libraryId: string, apiOptions: ApiOptions) => Promise<any>;
|
|
21
|
-
export declare const
|
|
22
|
-
|
|
23
|
-
calcScriptLoaded: boolean;
|
|
24
|
-
}>;
|
|
21
|
+
export declare const loadMasterData: (libraryId: string, apiOptions: ApiOptions) => Promise<MasterData>;
|
|
22
|
+
export declare const loadCalcScript: (libraryId: string, apiOptions: ApiOptions) => Promise<string>;
|
|
@@ -5,7 +5,8 @@ export interface ExternalObjectSegment {
|
|
|
5
5
|
cmd: string;
|
|
6
6
|
x: number;
|
|
7
7
|
y: number;
|
|
8
|
-
type
|
|
8
|
+
type?: string;
|
|
9
|
+
angle?: number;
|
|
9
10
|
}
|
|
10
11
|
export interface ExternalObjectContour {
|
|
11
12
|
level: number;
|
|
@@ -13,18 +14,18 @@ export interface ExternalObjectContour {
|
|
|
13
14
|
}
|
|
14
15
|
export interface ExternalObjectGroupPosition {
|
|
15
16
|
pos: number[];
|
|
16
|
-
|
|
17
|
+
rotationY?: number;
|
|
17
18
|
contours?: ExternalObjectContour[];
|
|
18
19
|
}
|
|
19
20
|
export interface ExternalObjectRootModule {
|
|
20
21
|
moduleId: string;
|
|
21
22
|
pos: number[];
|
|
22
|
-
|
|
23
|
+
rotationY?: number;
|
|
23
24
|
}
|
|
24
25
|
export interface ExternalObjectGroup {
|
|
25
|
-
groupId
|
|
26
|
+
groupId: string;
|
|
26
27
|
pos: number[];
|
|
27
|
-
|
|
28
|
+
rotationY?: number;
|
|
28
29
|
rootModules?: ExternalObjectRootModule[];
|
|
29
30
|
contours?: ExternalObjectContour[];
|
|
30
31
|
}
|
|
@@ -84,12 +85,12 @@ export interface ExternalObjectUiCallback {
|
|
|
84
85
|
/**
|
|
85
86
|
* "onDuplicateExternalObjectGroup" is invoked when a group of root modules is duplicated.
|
|
86
87
|
* This event request generating a completely new group with the an new root modules
|
|
87
|
-
* with exactly the same structure as the group
|
|
88
|
-
* The new group is placed at the position and orientation defined in "
|
|
88
|
+
* with exactly the same structure as the group provided "duplicatedGroup".
|
|
89
|
+
* The new group is placed at the position and orientation defined in "duplicatedGroup".
|
|
89
90
|
* @param sourceGroupId The ID of the source group of root modules.
|
|
90
|
-
* @param
|
|
91
|
+
* @param duplicatedGroup The group of root modules.
|
|
91
92
|
*/
|
|
92
|
-
onDuplicateExternalObjectGroup(sourceGroupId: string,
|
|
93
|
+
onDuplicateExternalObjectGroup(sourceGroupId: string, duplicatedGroup: ExternalObjectGroup): void;
|
|
93
94
|
/**
|
|
94
95
|
* “onChangedExternalObjectGroupPlan” is invoked when a group of root modules is moved or rotated to a new position
|
|
95
96
|
* or when the plan itself is changed.
|
|
@@ -6,7 +6,7 @@ export declare const CEILING_LIGHT_INTENSITY = 2;
|
|
|
6
6
|
export declare const CEILING_LIGHT_DISTANCE = 25;
|
|
7
7
|
export declare const CEILING_LIGHT_DECAY = 0;
|
|
8
8
|
export declare const CEILING_LIGHT_POWER = 25;
|
|
9
|
-
export declare const CEILING_LIGHT_SHADOW_INTENSITY = 0
|
|
9
|
+
export declare const CEILING_LIGHT_SHADOW_INTENSITY = 0;
|
|
10
10
|
export declare const CEILING_LIGHT_SHADOW_MAP_SIZE = 0;
|
|
11
11
|
export default class CeilingLight extends PointLight {
|
|
12
12
|
private _container;
|
|
@@ -4,9 +4,8 @@ import { default as CeilingLight } from './ceiling-light';
|
|
|
4
4
|
export declare class LightGroup extends Group {
|
|
5
5
|
children: CeilingLight[];
|
|
6
6
|
private _availableShadowMaps;
|
|
7
|
-
private _lightsOn;
|
|
8
7
|
get lightsOn(): boolean;
|
|
9
8
|
constructor();
|
|
10
9
|
add(...lights: Array<Object3D<Object3DEventMap>>): this;
|
|
11
|
-
toggleAllLights(
|
|
10
|
+
toggleAllLights(on: boolean): void;
|
|
12
11
|
}
|
|
@@ -14,7 +14,7 @@ import { MeasurementLineDimension, MeasurementLineDimensionTransferable } from '
|
|
|
14
14
|
import { ConstructionMeasurementsTransferable } from './utils/measurements';
|
|
15
15
|
import { FloorAreaDataTransferable } from './view-model/floor-plan-element-view-model';
|
|
16
16
|
import { BASE_CONTEXT } from '../../common-core/src/main';
|
|
17
|
-
import { ExternalObjectGroup,
|
|
17
|
+
import { ExternalObjectGroup, ExternalObjectUiCallback } from './external-object-api-callbacks';
|
|
18
18
|
|
|
19
19
|
export interface SelectionPayload {
|
|
20
20
|
item?: RapiItem;
|
|
@@ -206,7 +206,7 @@ export default class RoomlePlannerUiCallback extends UiCallback implements Exter
|
|
|
206
206
|
/**
|
|
207
207
|
* documented in interface ExternalObjectUiCallback
|
|
208
208
|
*/
|
|
209
|
-
onDuplicateExternalObjectGroup: (sourceGroupId: string,
|
|
209
|
+
onDuplicateExternalObjectGroup: (sourceGroupId: string, duplicatedGroup: ExternalObjectGroup) => void;
|
|
210
210
|
/**
|
|
211
211
|
* documented in interface ExternalObjectUiCallback
|
|
212
212
|
*/
|
|
@@ -28,6 +28,7 @@ import { PluginName } from '../../configurator-core/src/utils/plugin-types';
|
|
|
28
28
|
import { Nullable } from '../../typings/helper';
|
|
29
29
|
import { MaybePromise } from '../../common-core/src/utils/common-utils';
|
|
30
30
|
import { HomagIntelligence } from '../../homag-intelligence/src/homag-intelligence';
|
|
31
|
+
import { RoomleLightSource } from '../../common-core/src/light/light-source';
|
|
31
32
|
|
|
32
33
|
export type ID_TYPE = 'rml_id' | 'tc_id' | 'rml_serialized' | 'tc_serialized';
|
|
33
34
|
export declare const EXT_OBJ_EXCEPTION = "Could not retrieve configuration for external object! Did you implement onGetConfigurationForExternalObject?";
|
|
@@ -499,15 +500,20 @@ export default class RoomlePlanner<P extends readonly PluginName[] = readonly []
|
|
|
499
500
|
*/
|
|
500
501
|
resumeInputListeners(): void;
|
|
501
502
|
/**
|
|
502
|
-
*
|
|
503
|
-
* @hidden
|
|
503
|
+
* Returns all configurable element's light/lamp sources in the scene.
|
|
504
504
|
*/
|
|
505
|
-
|
|
505
|
+
getScenePlanElementLightSources(): Array<Map<number, RoomleLightSource>>;
|
|
506
506
|
/**
|
|
507
|
-
*
|
|
508
|
-
* @
|
|
507
|
+
* Turns all lights in the scene on or off.
|
|
508
|
+
* @param state whether the lights should be on or off
|
|
509
|
+
*/
|
|
510
|
+
setAllLightsOnOff(state: boolean): void;
|
|
511
|
+
/**
|
|
512
|
+
* Turns lights by list of light IDs in the scene on or off
|
|
513
|
+
* @param state whether the lights should be on or off
|
|
514
|
+
* @param ids array of light IDs, see type interface RoomleLightSource._lightSourceId
|
|
509
515
|
*/
|
|
510
|
-
|
|
516
|
+
setLightsOnOffByIds(ids: number[], state: boolean): void;
|
|
511
517
|
getPlanObjectForRuntimeId(runtimeId: number): Promise<PlanElementViewModel | null>;
|
|
512
518
|
rotateByRuntimeId(runtimeId: number, rotateBy: number): Promise<void>;
|
|
513
519
|
deleteByRuntimeId(runtimeId: number): Promise<void>;
|
|
@@ -7,7 +7,7 @@ import { default as PlanElementViewModel } from '../../../common-core/src/view-m
|
|
|
7
7
|
import { Position3 } from '../../../common-core/src/common-interfaces';
|
|
8
8
|
import { default as ConfiguratorKernelAccess } from '../../../common-core/src/configurator-kernel-access';
|
|
9
9
|
import { ExternalObjectApiConfiguration } from '../external-object-api';
|
|
10
|
-
import { ExternalObjectGroup
|
|
10
|
+
import { ExternalObjectGroup } from '../external-object-api-callbacks';
|
|
11
11
|
|
|
12
12
|
export interface PlannerKernelCallbackI {
|
|
13
13
|
handlerSwitchedPlans(fromPlan: Plan, toPlan: Plan): void;
|
|
@@ -71,7 +71,7 @@ export default class PlannerKernelAccess extends ConfiguratorKernelAccess {
|
|
|
71
71
|
externalObjectConfigurationLoaded(plan: Plan, planObject: PlanObject, configuration: string): void;
|
|
72
72
|
externalObjectConfigurationDeleted(plan: Plan, planObject: PlanObject, uniqueId: string): void;
|
|
73
73
|
externalObjectComponentDeleted(plan: Plan, planObject: PlanObject, remainingGroupOrGroups: ExternalObjectGroup | ExternalObjectGroup[], deletedRootModuleId: string): void;
|
|
74
|
-
externalObjectConfigurationDuplicated(plan: Plan, planObject: PlanObject,
|
|
74
|
+
externalObjectConfigurationDuplicated(plan: Plan, planObject: PlanObject, duplicatedGroup: ExternalObjectGroup): void;
|
|
75
75
|
externalObjectPlanChanged(plan: Plan, planObject: PlanObject, movedGroup: ExternalObjectGroup): void;
|
|
76
76
|
externalObjectConfigurationsMerged(plan: Plan, planObject: PlanObject, mergedGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], targetRootModuleId: string): void;
|
|
77
77
|
externalObjectComponentSplitOff(plan: Plan, planObject: PlanObject, splitGroups: ExternalObjectGroup[]): void;
|
|
@@ -100,7 +100,7 @@ export default class PlannerKernelAccess extends ConfiguratorKernelAccess {
|
|
|
100
100
|
protected _externalObjectConfigurationLoaded(_objectId: number, configuration: string): void;
|
|
101
101
|
protected _externalObjectConfigurationDeleted(groupId: string): void;
|
|
102
102
|
protected _externalObjectComponentDeleted(remainingGroupOrGroups: ExternalObjectGroup | ExternalObjectGroup[], deletedRootModuleId: string): void;
|
|
103
|
-
_externalObjectConfigurationDuplicated(
|
|
103
|
+
_externalObjectConfigurationDuplicated(duplicatedGroup: ExternalObjectGroup): void;
|
|
104
104
|
_externalObjectPlanChanged(movedGroup: ExternalObjectGroup): Promise<void>;
|
|
105
105
|
_externalObjectConfigurationsMerged(mergedGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], targetRootModuleId: string): Promise<void>;
|
|
106
106
|
_externalObjectComponentSplitOff(splitGroups: ExternalObjectGroup[]): void;
|
|
@@ -18,7 +18,6 @@ import { default as ConstructionPlanObjectViewModel } from './construction-plan-
|
|
|
18
18
|
import { default as MeasurementLinePlanElementViewModel } from './measurement-line-plan-element-view-model';
|
|
19
19
|
import { LightGroup } from '../lights/light-group';
|
|
20
20
|
import { QualityLevel } from '../../../common-core/src/webgl/renderer/scene-renderer';
|
|
21
|
-
import { default as LampLight } from '../lights/lamp-light';
|
|
22
21
|
import { Point } from 'roomle-core-hsc/src/embind/configuratorCoreInterface';
|
|
23
22
|
import { default as WallAtticPlanElementViewModel } from './wall-attic-plan-element-view-model';
|
|
24
23
|
|
|
@@ -96,7 +95,7 @@ export default class PlanViewModel extends ConfiguratorViewModel implements Plan
|
|
|
96
95
|
rotation?: Point;
|
|
97
96
|
active?: boolean;
|
|
98
97
|
}): void;
|
|
99
|
-
toggleCeilingLights(on: boolean
|
|
98
|
+
toggleCeilingLights(on: boolean): void;
|
|
100
99
|
private commonHandlerForEditableAndTopView;
|
|
101
100
|
protected dockComponent(componentId: number, isRootComponent: boolean, parentId: number, componentPosition: KernelVector3, componentRotation: KernelVector3): void;
|
|
102
101
|
protected _addComponent(component: RoomleComponent): void;
|
|
@@ -113,7 +112,6 @@ export default class PlanViewModel extends ConfiguratorViewModel implements Plan
|
|
|
113
112
|
getFloorGroup(): Group;
|
|
114
113
|
getMeasurementLineGroup(): Group;
|
|
115
114
|
getCeilingLightsGroup(): LightGroup;
|
|
116
|
-
getLampLightsArray(): LampLight[];
|
|
117
115
|
getWallAtticsGroup(): Group;
|
|
118
116
|
getBoundingBox(): Box3;
|
|
119
117
|
getBoundingBoxOfGeometry(): Box3;
|
|
@@ -170,5 +168,4 @@ export default class PlanViewModel extends ConfiguratorViewModel implements Plan
|
|
|
170
168
|
setNodeZoom(zoom: number): void;
|
|
171
169
|
planCleared(): void;
|
|
172
170
|
requestCatalogItem(_catalogItemId: string): void;
|
|
173
|
-
turnLightsOnOrOff(onOrOff: boolean): void;
|
|
174
171
|
}
|
|
@@ -21,6 +21,7 @@ import { default as Planner3dCameraBehaviour } from '../../../common-core/src/ca
|
|
|
21
21
|
import { default as PlannerFpCameraBehaviour } from '../../../common-core/src/cameracontrol/planner-fp-camera-behaviour';
|
|
22
22
|
import { EMSConstant } from '../../../typings/planner-kernel-container';
|
|
23
23
|
import { default as InitData } from '../../../common-core/src/utils/init-data';
|
|
24
|
+
import { RoomleLightSource } from '../../../common-core/src/light/light-source';
|
|
24
25
|
|
|
25
26
|
export declare function isLockedElement(planElementViewModel: PlanElementViewModel, initData: InitData): boolean;
|
|
26
27
|
declare const SET_WALL_MATERIAL_TYPE: {
|
|
@@ -54,6 +55,9 @@ export default class PlannerSceneManager extends ConfiguratorSceneManager implem
|
|
|
54
55
|
constructor(creator: string, offset: CanvasOffset, plannerCallback: RoomlePlannerCallback, mode: Enumify<typeof CAMERA_TYPE>);
|
|
55
56
|
get configuratorContext(): import('../../../common-core/src/webgl/configurator-context').default;
|
|
56
57
|
get hasSingleRoom(): boolean;
|
|
58
|
+
get scenePlanElementLightSources(): Map<number, RoomleLightSource>[];
|
|
59
|
+
setAllLightsOnOff(state: boolean): void;
|
|
60
|
+
setLightsOnOffByIds(ids: number[], state: boolean): void;
|
|
57
61
|
private _activateElement;
|
|
58
62
|
planCleared(): void;
|
|
59
63
|
planHistoryStateChanged(): void;
|
|
@@ -221,7 +225,7 @@ export default class PlannerSceneManager extends ConfiguratorSceneManager implem
|
|
|
221
225
|
getObjectComponent(id: number): KernelPlanObjectComponent;
|
|
222
226
|
getCameraParameters3d(): NonNullable<CameraParameter>;
|
|
223
227
|
private _createCeilingLightGroup;
|
|
224
|
-
toggleInteriorLightsSceneSettings(
|
|
228
|
+
toggleInteriorLightsSceneSettings(on: boolean): void;
|
|
225
229
|
private _insertRapiItems;
|
|
226
230
|
insertRapiObjects(rapiIds: InsertItemIdInfo[]): Promise<InsertItemResult[]>;
|
|
227
231
|
}
|