@roomle/web-sdk 3.5.0-alpha.7 → 3.5.0-alpha.9
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/{BufferGeometry-CmPnUXL9.mjs → BufferGeometry-CMU3DLT1.mjs} +2 -2
- package/lib/{BufferGeometry-CmPnUXL9.mjs.map → BufferGeometry-CMU3DLT1.mjs.map} +1 -1
- package/lib/ConfiguratorKernel.wasm +0 -0
- package/lib/{GLTFExporter-DW7OjxyC.mjs → GLTFExporter-BGHkwQLJ.mjs} +2 -2
- package/lib/{GLTFExporter-DW7OjxyC.mjs.map → GLTFExporter-BGHkwQLJ.mjs.map} +1 -1
- package/lib/{PointLightHelper-ojkpF9YZ.mjs → PointLightHelper-DZTk2W0h.mjs} +3 -3
- package/lib/{PointLightHelper-ojkpF9YZ.mjs.map → PointLightHelper-DZTk2W0h.mjs.map} +1 -1
- package/lib/RoomleCore.wasm +0 -0
- package/lib/RoomleToolsCore.wasm +0 -0
- package/lib/{SpotLightHelper-BTTL0nW2.mjs → SpotLightHelper-CadnKPkB.mjs} +3 -3
- package/lib/{SpotLightHelper-BTTL0nW2.mjs.map → SpotLightHelper-CadnKPkB.mjs.map} +1 -1
- package/lib/{USDZExporter-DIPPFtSB.mjs → USDZExporter-BtfLj3nk.mjs} +2 -2
- package/lib/{USDZExporter-DIPPFtSB.mjs.map → USDZExporter-BtfLj3nk.mjs.map} +1 -1
- package/lib/{banana-for-scale-DAIsMMIn.mjs → banana-for-scale-B6CjS1Cc.mjs} +2 -2
- package/lib/{banana-for-scale-DAIsMMIn.mjs.map → banana-for-scale-B6CjS1Cc.mjs.map} +1 -1
- package/lib/{component-dimensioning-CNwPg38G.mjs → component-dimensioning-B0hNR39H.mjs} +2 -2
- package/lib/{component-dimensioning-CNwPg38G.mjs.map → component-dimensioning-B0hNR39H.mjs.map} +1 -1
- package/lib/{continuous-drawing-helper-CnFmGKg6.mjs → continuous-drawing-helper-D6hybw8b.mjs} +2 -2
- package/lib/{continuous-drawing-helper-CnFmGKg6.mjs.map → continuous-drawing-helper-D6hybw8b.mjs.map} +1 -1
- package/lib/{homag-intelligence-Crywc1cv.mjs → homag-intelligence-Bm6OR-di.mjs} +80 -79
- package/lib/homag-intelligence-Bm6OR-di.mjs.map +1 -0
- package/lib/{imos-ix-poc-export-helper-MCBCCLPs.mjs → imos-ix-poc-export-helper-IXN09m1n.mjs} +2 -2
- package/lib/{imos-ix-poc-export-helper-MCBCCLPs.mjs.map → imos-ix-poc-export-helper-IXN09m1n.mjs.map} +1 -1
- package/lib/{index-C1huN1fk.mjs → index-C9LjHx1P.mjs} +7235 -7146
- package/lib/{index-C1huN1fk.mjs.map → index-C9LjHx1P.mjs.map} +1 -1
- package/lib/{material-viewer-_HSYoGPF.mjs → material-viewer-CxjXyJcN.mjs} +2 -2
- package/lib/{material-viewer-_HSYoGPF.mjs.map → material-viewer-CxjXyJcN.mjs.map} +1 -1
- package/lib/roomle-sdk.d.ts +46 -37
- package/lib/roomle-sdk.js +1 -1
- package/lib/static/roomle-core-hsc/ConfiguratorKernel.wasm +0 -0
- package/lib/static/roomle-core-hsc/RoomleCore.wasm +0 -0
- package/lib/static/roomle-core-hsc/RoomleToolsCore.wasm +0 -0
- package/lib/static/roomle-core-hsc/configuratorCoreInterface.d.ts +2 -5
- package/lib/static/roomle-core-hsc/configuratorCoreInterface.js +1 -2
- package/lib/static/roomle-core-hsc/configuratorCoreInterface.js.map +1 -1
- package/lib/static/roomle-core-hsc/embind/configuratorCoreInterface.d.ts +2 -5
- package/lib/static/roomle-core-hsc/embind/configuratorCoreInterface.js +1 -2
- package/lib/static/roomle-core-hsc/embind/configuratorCoreInterface.js.map +1 -1
- package/lib/static/roomle-core-hsc/embind/plannerCore.d.ts +2 -1
- package/lib/static/roomle-core-hsc/embind/plannerCore.js +5 -0
- package/lib/static/roomle-core-hsc/embind/plannerCore.js.map +1 -1
- package/lib/static/roomle-core-hsc/embind/plannerCoreInterface.d.ts +1 -0
- package/lib/static/roomle-core-hsc/package.json +1 -1
- package/lib/static/roomle-core-hsc/plannerCore.d.ts +2 -1
- package/lib/static/roomle-core-hsc/plannerCore.js +5 -0
- package/lib/static/roomle-core-hsc/plannerCore.js.map +1 -1
- package/lib/static/roomle-core-hsc/plannerCoreInterface.d.ts +1 -0
- package/lib/static/roomle-core-hsc/src/embind/configuratorCoreInterface.d.ts +2 -5
- package/lib/static/roomle-core-hsc/src/embind/configuratorCoreInterface.js +1 -2
- package/lib/static/roomle-core-hsc/src/embind/configuratorCoreInterface.js.map +1 -1
- package/lib/static/roomle-core-hsc/src/embind/plannerCore.d.ts +2 -1
- package/lib/static/roomle-core-hsc/src/embind/plannerCore.js +5 -0
- package/lib/static/roomle-core-hsc/src/embind/plannerCore.js.map +1 -1
- package/lib/static/roomle-core-hsc/src/embind/plannerCoreInterface.d.ts +1 -0
- package/lib/static/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
- package/lib/static/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
- package/lib/static/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
- package/lib/{stats-helper-C-QaGBA3.mjs → stats-helper-CQ3WmIXr.mjs} +2 -2
- package/lib/{stats-helper-C-QaGBA3.mjs.map → stats-helper-CQ3WmIXr.mjs.map} +1 -1
- package/lib/{three.webgpu-DhynQsZp.mjs → three.webgpu-DbyBQGBo.mjs} +3 -3
- package/lib/{three.webgpu-DhynQsZp.mjs.map → three.webgpu-DbyBQGBo.mjs.map} +1 -1
- package/lib/{tools-core-D22lSr0f.mjs → tools-core-Cdqd-npf.mjs} +2 -2
- package/lib/{tools-core-D22lSr0f.mjs.map → tools-core-Cdqd-npf.mjs.map} +1 -1
- package/package.json +1 -1
- package/lib/homag-intelligence-Crywc1cv.mjs.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as I, S as F, a as R, b as T, i as f, D as C, c as A, P as U, B as y, M as B, d as D, e as k, f as w, g as S, h as v, s as L, j as P, k as x, l as V, F as O, m as z, n as b, o as G, T as H, p as j, q as N, R as d, r as s, U as W, t as m, u as q, L as X, I as Y, v as E, w as Z, x as $, y as J, z as K, A as Q } from "./index-
|
|
1
|
+
import { C as I, S as F, a as R, b as T, i as f, D as C, c as A, P as U, B as y, M as B, d as D, e as k, f as w, g as S, h as v, s as L, j as P, k as x, l as V, F as O, m as z, n as b, o as G, T as H, p as j, q as N, R as d, r as s, U as W, t as m, u as q, L as X, I as Y, v as E, w as Z, x as $, y as J, z as K, A as Q } from "./index-C9LjHx1P.mjs";
|
|
2
2
|
class ee extends I {
|
|
3
3
|
get cameraControl() {
|
|
4
4
|
return this._cameraControl;
|
|
@@ -447,4 +447,4 @@ class ne extends J {
|
|
|
447
447
|
export {
|
|
448
448
|
ne as MaterialViewer
|
|
449
449
|
};
|
|
450
|
-
//# sourceMappingURL=material-viewer-
|
|
450
|
+
//# sourceMappingURL=material-viewer-CxjXyJcN.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-viewer-_HSYoGPF.mjs","sources":["../../packages/common-core/src/cameracontrol/material-viewer-camera-behaviour.ts","../../packages/material-viewer/src/webgl/material-viewer-scene-manager.ts","../../packages/material-viewer/src/roomle-material-viewer.ts","../../packages/material-viewer/src/roomle-material-viewer-ui-callback.ts","../../packages/material-viewer/src/utils/injectables.ts","../../packages/material-viewer/src/material-viewer.ts"],"sourcesContent":["import CameraBehaviour from './camera-behaviour';\nimport type AdjustableCameraControl3D from '../../../glb-viewer-core/src/camera-control/adjustable-camera-control-3d';\n\nexport default class MaterialViewerCameraBehaviour extends CameraBehaviour {\n public get cameraControl(): AdjustableCameraControl3D {\n return this._cameraControl as AdjustableCameraControl3D;\n }\n}\n","import SceneManager from '../../../common-core/src/webgl/scene-manager';\nimport type { CanvasOffset } from '../../../common-core/src/common-interfaces';\nimport type InputManager from '../../../common-core/src/input/input-manager';\nimport inject from '../../../common-core/src/di/inject';\nimport CameraControl3D from '../../../common-core/src/cameracontrol/camera-control-3d';\nimport type {\n RapiId,\n RapiMaterial,\n RapiMaterialShading,\n RapiTexture,\n} from '../../../typings/rapi-types';\nimport { RAPI_TEXTURE_TYPE } from '../../../typings/rapi-types';\nimport {\n addExistingTexture,\n addTexture,\n getGUI,\n getMaterialShading,\n setMaterial,\n isWebGLRenderer,\n DEFAULT_WEBGPU_MAX_SAMPLES,\n} from '../../../common-core/src/utils/threejs-utils';\nimport { CAMERA_TYPE } from '../../../common-core/src/cameracontrol/camera-type';\nimport type ConfiguratorMeshGenerator from '../../../configurator-core/src/webgl/configurator-mesh-generator';\nimport type RoomleMaterialViewerUiCallback from '../roomle-material-viewer-ui-callback';\nimport BackgroundEnvironment from '../../../common-core/src/environment/background-environment';\nimport FloorEnvironment from '../../../configurator-core/src/webgl/environment/floor-environment';\nimport { type RapiAccess } from '../../../common-core/src/rapi-access';\nimport DynamicLightSettingLoader, {\n PREDEFINED_LIGHTSETTING,\n} from '../../../common-core/src/lightsetting/dynamic-light-setting-loader';\nimport { CANVAS_ID } from '../../../common-core/src/utils/dom-helper';\nimport type { Enumify } from '#/common/src/utils/types';\nimport type { ColorRepresentation, MeshPhysicalMaterial } from 'three';\nimport {\n Box3,\n BoxGeometry,\n Color,\n DoubleSide,\n FrontSide,\n Mesh,\n PlaneGeometry,\n SphereGeometry,\n Texture,\n} from 'three';\nimport MaterialCreator from '../../../common-core/src/utils/material-creator';\nimport MaterialViewerCameraBehaviour from '../../../common-core/src/cameracontrol/material-viewer-camera-behaviour';\n\nexport const enum GEOMETRY {\n CUBE = 'cube',\n SPHERE = 'sphere',\n PLANE_VERTICAL = 'plane_vertical',\n PLANE_HORIZONTAL = 'plane_horizontal',\n}\n\nconst SIZE = { x: 1, y: 1, z: 1 };\nexport default class MaterialViewerSceneManager extends SceneManager {\n @inject\n private _inputManager: InputManager;\n\n @inject\n private _configuratorMeshGenerator: ConfiguratorMeshGenerator;\n\n @inject\n private _roomleMaterialViewerUiCallback: RoomleMaterialViewerUiCallback;\n\n @inject\n private _rapiAccess: RapiAccess;\n\n private _guiGeometryFolder: any;\n private _guiMaterialFolder: any;\n private _mesh: Mesh;\n private _material: MeshPhysicalMaterial;\n private _sceneParams = {\n type: GEOMETRY.CUBE,\n };\n private _materialParams = {\n color: '#ffffff',\n metallic: 0.5,\n alpha: 0,\n alphaCutoff: 0,\n doubleSided: false,\n };\n\n constructor(creator: string, offset: CanvasOffset) {\n super(creator, offset, CANVAS_ID.RMV, CAMERA_TYPE.CAMERA_3D);\n\n // Use lazy initialization for renderer-dependent settings\n this._initializeRendererSettings();\n\n this._initScene();\n }\n\n // If renderer is not ready yet, will retry on next tick.\n // This is necessary for dynamic WebGPU renderer imports.\n private _initializeRendererSettings(): void {\n if (!this._renderer) {\n // Retry on next tick if renderer not ready\n setTimeout(() => this._initializeRendererSettings(), 0);\n return;\n }\n\n const maxTextures = isWebGLRenderer(this._renderer)\n ? this._renderer.capabilities.maxTextures\n : DEFAULT_WEBGPU_MAX_SAMPLES;\n if (maxTextures > 8) {\n this.loadDynamicLightSetting(\n DynamicLightSettingLoader.createDynamicLightSettingSource(\n null,\n PREDEFINED_LIGHTSETTING.CAMERA,\n ),\n );\n }\n }\n\n private _initScene() {\n const geometry = new BoxGeometry(SIZE.x, SIZE.y, SIZE.z, 100, 100, 100);\n const meshPhysicalMaterial = MaterialCreator.createMeshPhysicalMaterial({\n color: this._initData.colors.PRIMARY,\n });\n this._setMaterial(meshPhysicalMaterial);\n this._mesh = new Mesh(geometry, this._material);\n this._mesh.castShadow = true;\n this._mesh.position.setY(SIZE.y / 2);\n this._scene.add(this._mesh);\n\n const { initialFloorMaterial } = this._initData;\n\n if (initialFloorMaterial) {\n this.changeFloorMaterialById(initialFloorMaterial);\n } else {\n this._environment = new BackgroundEnvironment(\n this._scene,\n undefined,\n new Color(0xffffff),\n );\n }\n\n if (this.cameraBehaviour.cameraControl instanceof CameraControl3D) {\n const boundingBox = new Box3();\n boundingBox.setFromObject(this._mesh);\n console.trace('reset camera');\n this.cameraBehaviour.cameraControl.updateAndReset(boundingBox);\n }\n\n this.showGUI();\n }\n\n public loadMaterialId(materialId: RapiId): Promise<void> {\n return new Promise<void>((resolve) => {\n this._configuratorMeshGenerator\n .loadMaterial(materialId, SIZE.x * 1000, SIZE.y * 1000)\n .then((material) => {\n this._setMaterial(material as MeshPhysicalMaterial);\n this._mesh.material = this._material;\n this._updateGUI();\n this._requestRender();\n resolve();\n });\n });\n }\n\n public loadMaterial(material: RapiMaterial): Promise<void> {\n return new Promise<void>((resolve) => {\n // eslint-disable-next-line\n if (!material.__rapi_path__) {\n // eslint-disable-next-line\n material.__rapi_path__ = 'materials';\n }\n this._mesh.material = this._material;\n this._configuratorMeshGenerator\n .loadTextures(material, this._material, SIZE.x * 100, SIZE.y * 100)\n .then(() => {\n this._updateGUI();\n this._requestRender();\n });\n resolve();\n });\n }\n\n public loadMaterialShading(\n materialShading: RapiMaterialShading,\n ): Promise<void> {\n return new Promise<void>((resolve) => {\n let material = { shading: materialShading };\n this._setMaterial(setMaterial(this._material, material as RapiMaterial));\n this._mesh.material = this._material;\n this._updateGUI();\n this._requestRender();\n resolve();\n });\n }\n public resetMaterial(): void {\n this._initScene();\n }\n\n private _setMaterial(material: MeshPhysicalMaterial) {\n this._material = material;\n this._materialParams.alpha = material.opacity;\n this._materialParams.alphaCutoff = material.alphaTest;\n this._materialParams.color = '#' + material.color.getHexString();\n this._materialParams.doubleSided = material.side === DoubleSide;\n this._materialParams.metallic =\n material.metalness === 1 ? 1 : material.reflectivity;\n }\n\n public getMaterialShading(version: number = 1): RapiMaterialShading {\n return getMaterialShading(this._material, version);\n }\n\n protected createCameraControl(\n _mode: Enumify<typeof CAMERA_TYPE>,\n _offset: CanvasOffset,\n ) {\n this._changeCameraBehaviour(\n new MaterialViewerCameraBehaviour(\n new CameraControl3D(this._creator_, this._getInputManager(), undefined),\n this._cameraBehaviourState,\n ),\n );\n }\n\n protected _getInputManager(): InputManager {\n return this._inputManager;\n }\n\n public sceneChanged(): void {\n //override when needed\n }\n\n public getBounds(): Box3 | null {\n if (!this._mesh) {\n return null;\n }\n return new Box3().setFromObject(this._mesh);\n }\n\n getGeometryBounds(): Box3 | null {\n return null;\n }\n\n protected _guiLoaded() {\n this._updateGUI();\n }\n\n private _updateGUI() {\n let gui = getGUI();\n if (!gui) {\n return;\n }\n if (!this._guiGeometryFolder) {\n this._guiGeometryFolder = gui.addFolder('Geometry');\n this._guiGeometryFolder\n .add(this._sceneParams, 'type', {\n Cube: GEOMETRY.CUBE,\n Sphere: GEOMETRY.SPHERE,\n PlaneVertical: GEOMETRY.PLANE_VERTICAL,\n PlaneHorizontal: GEOMETRY.PLANE_HORIZONTAL,\n })\n .onChange((type: number) => {\n console.log(type);\n this._setGeometry();\n });\n }\n if (this._material) {\n if (this._guiMaterialFolder) {\n gui.removeFolder(this._guiMaterialFolder);\n }\n this._guiMaterialFolder = gui.addFolder('Material');\n this._guiMaterialFolder\n .addColor(this._materialParams, 'color')\n .onChange((color: string) => {\n this._material.color = new Color(color as ColorRepresentation);\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._materialParams, 'metallic')\n .min(0)\n .max(1)\n .step(0.01)\n .onChange((metallic: number) => {\n this._material.metalness = metallic === 1 ? 1 : 0.5;\n this._material.reflectivity = metallic || 0.5;\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._material, 'roughness')\n .min(0)\n .max(1)\n .step(0.01)\n .onChange((_roughness: number) => {\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._material, 'transmission')\n .min(0)\n .max(1)\n .step(0.01)\n .onChange((transmission: number) => {\n this._material.transmission = transmission;\n if (transmission > 0) {\n this._material.opacity = 1;\n this._material.alphaTest = 0.5;\n this._material.depthWrite = false;\n this._material.transparent = true;\n this._material.metalness = 0;\n }\n this._mesh.castShadow = !this._material.transparent;\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._materialParams, 'alpha')\n .min(0)\n .max(1)\n .step(0.01)\n .onChange((alpha: number) => {\n this._material.transparent = alpha < 1;\n this._material.opacity = alpha;\n this._material.depthWrite = alpha >= 1;\n this._mesh.castShadow = !this._material.transparent;\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._materialParams, 'alphaCutoff')\n .min(0)\n .max(1)\n .step(0.01)\n .onChange((alphaCutoff: number) => {\n if (alphaCutoff) {\n this._material.alphaTest = alphaCutoff;\n } else {\n this._material.alphaTest = 0;\n }\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._materialParams, 'doubleSided')\n .onChange((doubleSided: boolean) => {\n if (doubleSided) {\n this._material.side = DoubleSide;\n } else {\n this._material.side = FrontSide;\n }\n this._shadingChanged();\n });\n }\n this._addGUIListener(gui);\n }\n\n private _shadingChanged() {\n this._roomleMaterialViewerUiCallback.onMaterialShadingChanged(\n getMaterialShading(this._material),\n );\n }\n\n public setGeometry(type: GEOMETRY) {\n this._sceneParams.type = type;\n this._setGeometry();\n }\n\n private _setGeometry() {\n let geometry;\n if (this._sceneParams.type === GEOMETRY.CUBE) {\n geometry = new BoxGeometry(SIZE.x, SIZE.y, SIZE.z, 100, 100, 100);\n }\n if (this._sceneParams.type === GEOMETRY.SPHERE) {\n geometry = new SphereGeometry(0.5, 100, 100);\n }\n if (this._sceneParams.type === GEOMETRY.PLANE_HORIZONTAL) {\n geometry = new PlaneGeometry(SIZE.x, SIZE.z);\n geometry.rotateX(-Math.PI / 2);\n }\n if (this._sceneParams.type === GEOMETRY.PLANE_VERTICAL) {\n geometry = new PlaneGeometry(SIZE.x, SIZE.z);\n }\n this._mesh.geometry = geometry;\n this._renderEverything();\n }\n\n public async changeFloorMaterialById(materialId: string): Promise<void> {\n const material = await this._rapiAccess.getMaterial(materialId);\n if (\n !this._environment ||\n !(this._environment instanceof FloorEnvironment)\n ) {\n this._environment = new FloorEnvironment(\n this._scene,\n this._environment,\n true,\n );\n }\n return new Promise((resolve, reject) => {\n (this._environment as FloorEnvironment)\n .changeFloorMaterial(material, this._maxAnisotropy)\n .then(() => {\n this._requestRender();\n resolve();\n }, reject);\n });\n }\n\n public async addTexture(rapiTexture: RapiTexture, base64Image?: string) {\n const width = SIZE.x * 100;\n const height = SIZE.y * 100;\n const repeatWidth =\n width / (rapiTexture.mmWidth === 0 ? 1 : rapiTexture.mmWidth);\n const repeatHeight =\n height / (rapiTexture.mmHeight === 0 ? 1 : rapiTexture.mmHeight);\n const maxTextures = isWebGLRenderer(this._renderer)\n ? this._renderer.capabilities.maxTextures\n : DEFAULT_WEBGPU_MAX_SAMPLES;\n if (base64Image) {\n const image = new Image();\n image.src = base64Image;\n const texture = new Texture();\n texture.image = image;\n image.onload = function () {\n texture.needsUpdate = true;\n };\n addExistingTexture(\n texture,\n rapiTexture,\n this._material,\n this._maxAnisotropy,\n repeatWidth,\n repeatHeight,\n maxTextures,\n );\n } else {\n await addTexture(\n rapiTexture.image,\n rapiTexture,\n this._material,\n this._maxAnisotropy,\n repeatWidth,\n repeatHeight,\n maxTextures,\n );\n }\n this._requestRender();\n }\n\n public removeTexture(rapiTexture: RapiTexture) {\n if (rapiTexture.mapping === RAPI_TEXTURE_TYPE.ORM) {\n this._material.aoMap = null;\n this._material.roughnessMap = null;\n this._material.metalnessMap = null;\n }\n if (\n rapiTexture.mapping === RAPI_TEXTURE_TYPE.RGB ||\n rapiTexture.mapping === RAPI_TEXTURE_TYPE.RGBA\n ) {\n this._material.map = null;\n }\n if (rapiTexture.mapping === RAPI_TEXTURE_TYPE.XYZ) {\n this._material.normalMap = null;\n }\n this._material.needsUpdate = true;\n this._requestRender();\n }\n\n public clearCache() {\n this._configuratorMeshGenerator.clear();\n }\n}\n","import type ScriptLoader from '../../common-core/src/script-loader';\nimport type DomHelper from '../../common-core/src/utils/dom-helper';\nimport inject from '../../common-core/src/di/inject';\nimport type { ExternalEmbeddable, GlobalAPI } from '../../common-core/src/main';\nimport type { Main } from '../../common-core/src/main';\nimport type { Context } from '../../common-core/src/di/context';\nimport type LifeCycleManager from '../../common-core/src/life-cycle-manager';\nimport type { SceneSettings } from '../../common-core/src/scene-settings-loader';\nimport type { GEOMETRY } from './webgl/material-viewer-scene-manager';\nimport MaterialViewerSceneManager from './webgl/material-viewer-scene-manager';\nimport type {\n RapiId,\n RapiMaterial,\n RapiMaterialShading,\n RapiTexture,\n} from '../../typings/rapi-types';\nimport type RoomleMaterialViewerUiCallback from './roomle-material-viewer-ui-callback';\nimport type { InitDataDefinition } from '../../common-core/src/utils/shims';\nimport type InitData from '../../common-core/src/utils/init-data';\nimport { type RapiAccess } from '../../common-core/src/rapi-access';\nimport type { CanvasOffset } from '../../common-core/src/common-interfaces';\nimport type UnitFormatter from '../../configurator-core/src/services/unit-formatter';\nimport type { Scene } from 'three';\nimport { type IdbManager } from '../../common-core/src/services/idb-manager';\nimport type { GlobalCallback } from '../../common-core/src/services/global-callback';\n\nexport default class RoomleMaterialViewer\n implements\n GlobalAPI,\n Context,\n ExternalEmbeddable<RoomleMaterialViewerUiCallback>\n{\n public _creator_: string;\n\n @inject\n private _domHelper: DomHelper;\n\n @inject\n private _scriptLoader: ScriptLoader;\n\n @inject\n private _lifeCycleManager: LifeCycleManager;\n\n @inject\n private _roomleMaterialViewerUiCallback: RoomleMaterialViewerUiCallback;\n\n @inject\n private _initData: InitData;\n\n @inject\n private _globalCallback: GlobalCallback;\n\n @inject\n private _rapiAccess: RapiAccess;\n\n @inject\n private _unitFormatter: UnitFormatter;\n\n @inject\n protected _idbManager: IdbManager;\n\n private _sceneManager: MaterialViewerSceneManager;\n\n constructor(creator: string) {\n this._creator_ = creator;\n }\n\n public setCameraOffset(offset: CanvasOffset): void {\n this._sceneManager.setCameraOffset(offset);\n }\n\n public getCameraOffset(): CanvasOffset {\n return this._sceneManager.getCameraOffset();\n }\n\n public init(element: HTMLElement): Promise<void> {\n this._domHelper.setDomElement(element);\n\n if (this._sceneManager) {\n this._lifeCycleManager.resume();\n return Promise.resolve();\n }\n\n return new Promise<void>(this._initPromiseCallback.bind(this));\n }\n\n private _initPromiseCallback(resolve: () => void, _reject: () => void) {\n this._sceneManager = new MaterialViewerSceneManager(this._creator_, {\n left: 0,\n top: 1,\n right: 1,\n bottom: 0,\n });\n this._sceneManager.enableHD();\n resolve();\n }\n\n get callbacks(): RoomleMaterialViewerUiCallback {\n return this._roomleMaterialViewerUiCallback;\n }\n\n set callbacks(callback: RoomleMaterialViewerUiCallback) {\n this._roomleMaterialViewerUiCallback = callback;\n }\n\n public loadMaterialShading(\n materialShading: RapiMaterialShading,\n ): Promise<void> {\n return this._sceneManager.loadMaterialShading(materialShading);\n }\n\n public resetMaterial(): void {\n this._sceneManager.resetMaterial();\n }\n\n public loadMaterial(\n material: RapiMaterial,\n options: { flushCache?: boolean } = {},\n ): Promise<void> {\n if (options.flushCache) {\n this._clearCaches();\n }\n return this._sceneManager.loadMaterial(material);\n }\n\n public loadMaterialId(\n materialId: RapiId,\n options: { flushCache?: boolean } = {},\n ): Promise<void> {\n if (options.flushCache) {\n this._clearCaches();\n }\n return this._sceneManager.loadMaterialId(materialId);\n }\n\n public getMaterialShading(version: number = 1): RapiMaterialShading {\n return this._sceneManager.getMaterialShading(version);\n }\n\n /**\n * Loads a SceneSettings object, currently it can can contain a light setting definition\n * (see {@link @roomle/web-sdk/configurator-core/src/roomle-configurator#RoomleConfigurator.loadDynamicLightSetting}) and an environment definition (see {@link @roomle/web-sdk/configurator-core/src/environment/dynamic-environment-setting-loader#EnvironmentSetting}).\n * @param sceneSettings\n */\n public loadSceneSetting(sceneSettings: SceneSettings): Promise<void> {\n return this._sceneManager.loadSceneSettings(sceneSettings);\n }\n\n public setOverrides(initData: InitDataDefinition): void {\n if (!initData) {\n return;\n }\n this._initData.setOverrides(initData);\n }\n\n public updateSize(): void {\n this._sceneManager.updateCamera();\n }\n\n /**\n * Return the main class which has access to lifecycle events and RapiAccess.\n * Hidden because it's only useful for embedding API.\n * Has to be overridden by main class.\n * @hidden\n */\n public getMain(): Main | undefined {\n return undefined;\n }\n\n public resumeTest(element: HTMLElement) {\n this._domHelper.setDomElement(element);\n this._lifeCycleManager.resume();\n }\n\n public pauseTest() {\n this._lifeCycleManager.pause();\n }\n\n public showGUI() {\n this._sceneManager.showGUI();\n }\n\n /**\n * Sets the material of the floor to the given material id.\n * If the current environment is not floor environment it will be changed\n *\n * Example material ids are:\n * roomle_floor:DresdenEiche\n * roomle_floor:Ibiza\n * roomle_floor:Palma\n * roomle_floor:Elba\n * roomle_floor:Manacor\n * roomle_floor:KernEiche\n * roomle_floor:KieferScandic\n * roomle_floor:EicheHabsburg\n * roomle_floor:FuldaKiefer\n * roomle_floor:Ashton\n * roomle_floor:EicheLondon\n *\n * @param materialId\n * @returns promise that resolves when material has been changed\n */\n public async changeFloorMaterialById(materialId: string): Promise<void> {\n return this._sceneManager.changeFloorMaterialById(materialId);\n }\n\n /**\n * Set the geometry of the demo material mesh\n *\n * Possible parameter:\n * 'cube',\n * 'sphere',\n * 'plane_vertical',\n * 'plane_horizontal'\n *\n * @param type\n */\n public setGeometry(type: GEOMETRY) {\n this._sceneManager.setGeometry(type);\n }\n\n /**\n * Set a texture on the demo material, if no base64Image is set, the image field of rapiTexture is used\n * @param rapiTexture\n * @param base64Image for example \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPj/HwADBwIAMCbHYQAAAABJRU5ErkJggg==\"\n */\n public async addTexture(rapiTexture: RapiTexture, base64Image?: string) {\n return this._sceneManager.addTexture(rapiTexture, base64Image);\n }\n\n /**\n * Remove texture from the demo material\n * @param rapiTexture\n */\n public removeTexture(rapiTexture: RapiTexture) {\n return this._sceneManager.removeTexture(rapiTexture);\n }\n\n private _clearCaches() {\n this._rapiAccess.cleanUp();\n this._sceneManager.clearCache();\n }\n\n public getScene(): Scene {\n return this._sceneManager.getScene();\n }\n\n public updateScene(): void {\n this._sceneManager.updateScene();\n }\n\n /**\n * returns unit formatter for formatting input und output values in scene\n */\n public getUnitFormatter(): UnitFormatter {\n return this._unitFormatter;\n }\n\n /**\n * returns manager class to interface with indexedDB storage\n */\n public getStorage(): IdbManager {\n return this._idbManager;\n }\n\n public setEnvironmentMap(params: {\n url?: string;\n intensity?: number;\n rotation?: number;\n maxLightSources?: number;\n }): void {\n const { url, intensity, rotation, maxLightSources } = params;\n this._sceneManager.setEnvironmentMap(\n url,\n intensity,\n rotation,\n maxLightSources,\n );\n }\n\n /**\n * @internal\n * Use this callbacks to hook in your functionality\n */\n public get globalCallbacks(): GlobalCallback {\n return this._globalCallback;\n }\n}\n","/* eslint-disable @typescript-eslint/no-unused-vars */\n\nimport { UiCallback } from '../../common-core/src/utils/ui-callback';\nimport type { RapiMaterialShading } from '../../typings/rapi-types';\n\nexport default class RoomleMaterialViewerUiCallback extends UiCallback {\n constructor(creator: string) {\n super(creator);\n }\n\n /**\n * Gets called when a material parameter has been changed using the graphical user interface\n * @param materialShading\n */\n public onMaterialShadingChanged = (\n materialShading: RapiMaterialShading,\n ): void => undefined;\n}\n","import Logger from '../../../common-core/src/logger';\nimport ScriptLoader from '../../../common-core/src/script-loader';\nimport {\n DependencyInjectionAssignment,\n DI_TYPE,\n} from '../../../common-core/src/di/container';\nimport InputManager from '../../../common-core/src/input/input-manager';\nimport ConfiguratorMeshGenerator from '../../../configurator-core/src/webgl/configurator-mesh-generator';\nimport { RapiAccess } from '../../../common-core/src/rapi-access';\nimport RoomleMaterialViewerUiCallback from '../roomle-material-viewer-ui-callback';\n\nexport const INJECTABLES: DependencyInjectionAssignment[] = [\n new DependencyInjectionAssignment('script-loader', ScriptLoader),\n new DependencyInjectionAssignment('logger', Logger),\n new DependencyInjectionAssignment(\n 'input-manager',\n InputManager,\n DI_TYPE.CONTEXT,\n ),\n new DependencyInjectionAssignment(\n 'configurator-mesh-generator',\n ConfiguratorMeshGenerator,\n ),\n new DependencyInjectionAssignment('rapi-access', RapiAccess),\n new DependencyInjectionAssignment(\n 'roomle-material-viewer-ui-callback',\n RoomleMaterialViewerUiCallback,\n DI_TYPE.CONTEXT,\n ),\n];\n","import './utils/global-definitions';\nimport { Main, BASE_CONTEXT } from '../../common-core/src/main';\nimport type Logger from '../../common-core/src/logger';\nimport RoomleDependencyInjection from '../../common-core/src/di/roomle-dependency-injection';\nimport RoomleMaterialViewer from './roomle-material-viewer';\nimport { INJECTABLES } from './utils/injectables';\n\nexport class MaterialViewer extends Main {\n private _viewer: RoomleMaterialViewer;\n\n protected setupGlobals(): void {\n //globals are initialized in bootFinished()\n }\n\n protected setupDependencies(): void {\n RoomleDependencyInjection.setup(INJECTABLES);\n this.lookup<Logger>('logger', this._context);\n }\n\n protected cleanUpGlobals(): void {\n throw new Error('Method not implemented.');\n }\n\n protected cleanUpDependencies(): void {\n throw new Error('Method not implemented.');\n }\n\n protected async bootFinished(): Promise<void> {\n this._viewer = new RoomleMaterialViewer(this._context);\n\n if (!window.RoomleMaterialViewer) {\n window.RoomleMaterialViewer = this._viewer;\n }\n }\n\n public getApi(): RoomleMaterialViewer {\n return this._viewer;\n }\n\n protected getContextName(): string {\n return BASE_CONTEXT.MATERIAL_VIEWER;\n }\n}\n"],"names":["MaterialViewerCameraBehaviour","CameraBehaviour","SIZE","MaterialViewerSceneManager","SceneManager","creator","offset","CANVAS_ID","CAMERA_TYPE","isWebGLRenderer","DEFAULT_WEBGPU_MAX_SAMPLES","DynamicLightSettingLoader","PREDEFINED_LIGHTSETTING","geometry","BoxGeometry","meshPhysicalMaterial","MaterialCreator","Mesh","initialFloorMaterial","BackgroundEnvironment","Color","CameraControl3D","boundingBox","Box3","materialId","resolve","material","materialShading","setMaterial","DoubleSide","version","getMaterialShading","_mode","_offset","gui","getGUI","type","color","metallic","_roughness","transmission","alpha","alphaCutoff","doubleSided","FrontSide","SphereGeometry","PlaneGeometry","FloorEnvironment","reject","rapiTexture","base64Image","width","height","repeatWidth","repeatHeight","maxTextures","image","texture","Texture","addExistingTexture","addTexture","RAPI_TEXTURE_TYPE","__decorateClass","inject","RoomleMaterialViewer","element","_reject","callback","options","sceneSettings","initData","params","url","intensity","rotation","maxLightSources","RoomleMaterialViewerUiCallback","UiCallback","INJECTABLES","DependencyInjectionAssignment","ScriptLoader","Logger","InputManager","DI_TYPE","ConfiguratorMeshGenerator","RapiAccess","MaterialViewer","Main","RoomleDependencyInjection","BASE_CONTEXT"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"material-viewer-CxjXyJcN.mjs","sources":["../../packages/common-core/src/cameracontrol/material-viewer-camera-behaviour.ts","../../packages/material-viewer/src/webgl/material-viewer-scene-manager.ts","../../packages/material-viewer/src/roomle-material-viewer.ts","../../packages/material-viewer/src/roomle-material-viewer-ui-callback.ts","../../packages/material-viewer/src/utils/injectables.ts","../../packages/material-viewer/src/material-viewer.ts"],"sourcesContent":["import CameraBehaviour from './camera-behaviour';\nimport type AdjustableCameraControl3D from '../../../glb-viewer-core/src/camera-control/adjustable-camera-control-3d';\n\nexport default class MaterialViewerCameraBehaviour extends CameraBehaviour {\n public get cameraControl(): AdjustableCameraControl3D {\n return this._cameraControl as AdjustableCameraControl3D;\n }\n}\n","import SceneManager from '../../../common-core/src/webgl/scene-manager';\nimport type { CanvasOffset } from '../../../common-core/src/common-interfaces';\nimport type InputManager from '../../../common-core/src/input/input-manager';\nimport inject from '../../../common-core/src/di/inject';\nimport CameraControl3D from '../../../common-core/src/cameracontrol/camera-control-3d';\nimport type {\n RapiId,\n RapiMaterial,\n RapiMaterialShading,\n RapiTexture,\n} from '../../../typings/rapi-types';\nimport { RAPI_TEXTURE_TYPE } from '../../../typings/rapi-types';\nimport {\n addExistingTexture,\n addTexture,\n getGUI,\n getMaterialShading,\n setMaterial,\n isWebGLRenderer,\n DEFAULT_WEBGPU_MAX_SAMPLES,\n} from '../../../common-core/src/utils/threejs-utils';\nimport { CAMERA_TYPE } from '../../../common-core/src/cameracontrol/camera-type';\nimport type ConfiguratorMeshGenerator from '../../../configurator-core/src/webgl/configurator-mesh-generator';\nimport type RoomleMaterialViewerUiCallback from '../roomle-material-viewer-ui-callback';\nimport BackgroundEnvironment from '../../../common-core/src/environment/background-environment';\nimport FloorEnvironment from '../../../configurator-core/src/webgl/environment/floor-environment';\nimport { type RapiAccess } from '../../../common-core/src/rapi-access';\nimport DynamicLightSettingLoader, {\n PREDEFINED_LIGHTSETTING,\n} from '../../../common-core/src/lightsetting/dynamic-light-setting-loader';\nimport { CANVAS_ID } from '../../../common-core/src/utils/dom-helper';\nimport type { Enumify } from '#/common/src/utils/types';\nimport type { ColorRepresentation, MeshPhysicalMaterial } from 'three';\nimport {\n Box3,\n BoxGeometry,\n Color,\n DoubleSide,\n FrontSide,\n Mesh,\n PlaneGeometry,\n SphereGeometry,\n Texture,\n} from 'three';\nimport MaterialCreator from '../../../common-core/src/utils/material-creator';\nimport MaterialViewerCameraBehaviour from '../../../common-core/src/cameracontrol/material-viewer-camera-behaviour';\n\nexport const enum GEOMETRY {\n CUBE = 'cube',\n SPHERE = 'sphere',\n PLANE_VERTICAL = 'plane_vertical',\n PLANE_HORIZONTAL = 'plane_horizontal',\n}\n\nconst SIZE = { x: 1, y: 1, z: 1 };\nexport default class MaterialViewerSceneManager extends SceneManager {\n @inject\n private _inputManager: InputManager;\n\n @inject\n private _configuratorMeshGenerator: ConfiguratorMeshGenerator;\n\n @inject\n private _roomleMaterialViewerUiCallback: RoomleMaterialViewerUiCallback;\n\n @inject\n private _rapiAccess: RapiAccess;\n\n private _guiGeometryFolder: any;\n private _guiMaterialFolder: any;\n private _mesh: Mesh;\n private _material: MeshPhysicalMaterial;\n private _sceneParams = {\n type: GEOMETRY.CUBE,\n };\n private _materialParams = {\n color: '#ffffff',\n metallic: 0.5,\n alpha: 0,\n alphaCutoff: 0,\n doubleSided: false,\n };\n\n constructor(creator: string, offset: CanvasOffset) {\n super(creator, offset, CANVAS_ID.RMV, CAMERA_TYPE.CAMERA_3D);\n\n // Use lazy initialization for renderer-dependent settings\n this._initializeRendererSettings();\n\n this._initScene();\n }\n\n // If renderer is not ready yet, will retry on next tick.\n // This is necessary for dynamic WebGPU renderer imports.\n private _initializeRendererSettings(): void {\n if (!this._renderer) {\n // Retry on next tick if renderer not ready\n setTimeout(() => this._initializeRendererSettings(), 0);\n return;\n }\n\n const maxTextures = isWebGLRenderer(this._renderer)\n ? this._renderer.capabilities.maxTextures\n : DEFAULT_WEBGPU_MAX_SAMPLES;\n if (maxTextures > 8) {\n this.loadDynamicLightSetting(\n DynamicLightSettingLoader.createDynamicLightSettingSource(\n null,\n PREDEFINED_LIGHTSETTING.CAMERA,\n ),\n );\n }\n }\n\n private _initScene() {\n const geometry = new BoxGeometry(SIZE.x, SIZE.y, SIZE.z, 100, 100, 100);\n const meshPhysicalMaterial = MaterialCreator.createMeshPhysicalMaterial({\n color: this._initData.colors.PRIMARY,\n });\n this._setMaterial(meshPhysicalMaterial);\n this._mesh = new Mesh(geometry, this._material);\n this._mesh.castShadow = true;\n this._mesh.position.setY(SIZE.y / 2);\n this._scene.add(this._mesh);\n\n const { initialFloorMaterial } = this._initData;\n\n if (initialFloorMaterial) {\n this.changeFloorMaterialById(initialFloorMaterial);\n } else {\n this._environment = new BackgroundEnvironment(\n this._scene,\n undefined,\n new Color(0xffffff),\n );\n }\n\n if (this.cameraBehaviour.cameraControl instanceof CameraControl3D) {\n const boundingBox = new Box3();\n boundingBox.setFromObject(this._mesh);\n console.trace('reset camera');\n this.cameraBehaviour.cameraControl.updateAndReset(boundingBox);\n }\n\n this.showGUI();\n }\n\n public loadMaterialId(materialId: RapiId): Promise<void> {\n return new Promise<void>((resolve) => {\n this._configuratorMeshGenerator\n .loadMaterial(materialId, SIZE.x * 1000, SIZE.y * 1000)\n .then((material) => {\n this._setMaterial(material as MeshPhysicalMaterial);\n this._mesh.material = this._material;\n this._updateGUI();\n this._requestRender();\n resolve();\n });\n });\n }\n\n public loadMaterial(material: RapiMaterial): Promise<void> {\n return new Promise<void>((resolve) => {\n // eslint-disable-next-line\n if (!material.__rapi_path__) {\n // eslint-disable-next-line\n material.__rapi_path__ = 'materials';\n }\n this._mesh.material = this._material;\n this._configuratorMeshGenerator\n .loadTextures(material, this._material, SIZE.x * 100, SIZE.y * 100)\n .then(() => {\n this._updateGUI();\n this._requestRender();\n });\n resolve();\n });\n }\n\n public loadMaterialShading(\n materialShading: RapiMaterialShading,\n ): Promise<void> {\n return new Promise<void>((resolve) => {\n let material = { shading: materialShading };\n this._setMaterial(setMaterial(this._material, material as RapiMaterial));\n this._mesh.material = this._material;\n this._updateGUI();\n this._requestRender();\n resolve();\n });\n }\n public resetMaterial(): void {\n this._initScene();\n }\n\n private _setMaterial(material: MeshPhysicalMaterial) {\n this._material = material;\n this._materialParams.alpha = material.opacity;\n this._materialParams.alphaCutoff = material.alphaTest;\n this._materialParams.color = '#' + material.color.getHexString();\n this._materialParams.doubleSided = material.side === DoubleSide;\n this._materialParams.metallic =\n material.metalness === 1 ? 1 : material.reflectivity;\n }\n\n public getMaterialShading(version: number = 1): RapiMaterialShading {\n return getMaterialShading(this._material, version);\n }\n\n protected createCameraControl(\n _mode: Enumify<typeof CAMERA_TYPE>,\n _offset: CanvasOffset,\n ) {\n this._changeCameraBehaviour(\n new MaterialViewerCameraBehaviour(\n new CameraControl3D(this._creator_, this._getInputManager(), undefined),\n this._cameraBehaviourState,\n ),\n );\n }\n\n protected _getInputManager(): InputManager {\n return this._inputManager;\n }\n\n public sceneChanged(): void {\n //override when needed\n }\n\n public getBounds(): Box3 | null {\n if (!this._mesh) {\n return null;\n }\n return new Box3().setFromObject(this._mesh);\n }\n\n getGeometryBounds(): Box3 | null {\n return null;\n }\n\n protected _guiLoaded() {\n this._updateGUI();\n }\n\n private _updateGUI() {\n let gui = getGUI();\n if (!gui) {\n return;\n }\n if (!this._guiGeometryFolder) {\n this._guiGeometryFolder = gui.addFolder('Geometry');\n this._guiGeometryFolder\n .add(this._sceneParams, 'type', {\n Cube: GEOMETRY.CUBE,\n Sphere: GEOMETRY.SPHERE,\n PlaneVertical: GEOMETRY.PLANE_VERTICAL,\n PlaneHorizontal: GEOMETRY.PLANE_HORIZONTAL,\n })\n .onChange((type: number) => {\n console.log(type);\n this._setGeometry();\n });\n }\n if (this._material) {\n if (this._guiMaterialFolder) {\n gui.removeFolder(this._guiMaterialFolder);\n }\n this._guiMaterialFolder = gui.addFolder('Material');\n this._guiMaterialFolder\n .addColor(this._materialParams, 'color')\n .onChange((color: string) => {\n this._material.color = new Color(color as ColorRepresentation);\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._materialParams, 'metallic')\n .min(0)\n .max(1)\n .step(0.01)\n .onChange((metallic: number) => {\n this._material.metalness = metallic === 1 ? 1 : 0.5;\n this._material.reflectivity = metallic || 0.5;\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._material, 'roughness')\n .min(0)\n .max(1)\n .step(0.01)\n .onChange((_roughness: number) => {\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._material, 'transmission')\n .min(0)\n .max(1)\n .step(0.01)\n .onChange((transmission: number) => {\n this._material.transmission = transmission;\n if (transmission > 0) {\n this._material.opacity = 1;\n this._material.alphaTest = 0.5;\n this._material.depthWrite = false;\n this._material.transparent = true;\n this._material.metalness = 0;\n }\n this._mesh.castShadow = !this._material.transparent;\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._materialParams, 'alpha')\n .min(0)\n .max(1)\n .step(0.01)\n .onChange((alpha: number) => {\n this._material.transparent = alpha < 1;\n this._material.opacity = alpha;\n this._material.depthWrite = alpha >= 1;\n this._mesh.castShadow = !this._material.transparent;\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._materialParams, 'alphaCutoff')\n .min(0)\n .max(1)\n .step(0.01)\n .onChange((alphaCutoff: number) => {\n if (alphaCutoff) {\n this._material.alphaTest = alphaCutoff;\n } else {\n this._material.alphaTest = 0;\n }\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._materialParams, 'doubleSided')\n .onChange((doubleSided: boolean) => {\n if (doubleSided) {\n this._material.side = DoubleSide;\n } else {\n this._material.side = FrontSide;\n }\n this._shadingChanged();\n });\n }\n this._addGUIListener(gui);\n }\n\n private _shadingChanged() {\n this._roomleMaterialViewerUiCallback.onMaterialShadingChanged(\n getMaterialShading(this._material),\n );\n }\n\n public setGeometry(type: GEOMETRY) {\n this._sceneParams.type = type;\n this._setGeometry();\n }\n\n private _setGeometry() {\n let geometry;\n if (this._sceneParams.type === GEOMETRY.CUBE) {\n geometry = new BoxGeometry(SIZE.x, SIZE.y, SIZE.z, 100, 100, 100);\n }\n if (this._sceneParams.type === GEOMETRY.SPHERE) {\n geometry = new SphereGeometry(0.5, 100, 100);\n }\n if (this._sceneParams.type === GEOMETRY.PLANE_HORIZONTAL) {\n geometry = new PlaneGeometry(SIZE.x, SIZE.z);\n geometry.rotateX(-Math.PI / 2);\n }\n if (this._sceneParams.type === GEOMETRY.PLANE_VERTICAL) {\n geometry = new PlaneGeometry(SIZE.x, SIZE.z);\n }\n this._mesh.geometry = geometry;\n this._renderEverything();\n }\n\n public async changeFloorMaterialById(materialId: string): Promise<void> {\n const material = await this._rapiAccess.getMaterial(materialId);\n if (\n !this._environment ||\n !(this._environment instanceof FloorEnvironment)\n ) {\n this._environment = new FloorEnvironment(\n this._scene,\n this._environment,\n true,\n );\n }\n return new Promise((resolve, reject) => {\n (this._environment as FloorEnvironment)\n .changeFloorMaterial(material, this._maxAnisotropy)\n .then(() => {\n this._requestRender();\n resolve();\n }, reject);\n });\n }\n\n public async addTexture(rapiTexture: RapiTexture, base64Image?: string) {\n const width = SIZE.x * 100;\n const height = SIZE.y * 100;\n const repeatWidth =\n width / (rapiTexture.mmWidth === 0 ? 1 : rapiTexture.mmWidth);\n const repeatHeight =\n height / (rapiTexture.mmHeight === 0 ? 1 : rapiTexture.mmHeight);\n const maxTextures = isWebGLRenderer(this._renderer)\n ? this._renderer.capabilities.maxTextures\n : DEFAULT_WEBGPU_MAX_SAMPLES;\n if (base64Image) {\n const image = new Image();\n image.src = base64Image;\n const texture = new Texture();\n texture.image = image;\n image.onload = function () {\n texture.needsUpdate = true;\n };\n addExistingTexture(\n texture,\n rapiTexture,\n this._material,\n this._maxAnisotropy,\n repeatWidth,\n repeatHeight,\n maxTextures,\n );\n } else {\n await addTexture(\n rapiTexture.image,\n rapiTexture,\n this._material,\n this._maxAnisotropy,\n repeatWidth,\n repeatHeight,\n maxTextures,\n );\n }\n this._requestRender();\n }\n\n public removeTexture(rapiTexture: RapiTexture) {\n if (rapiTexture.mapping === RAPI_TEXTURE_TYPE.ORM) {\n this._material.aoMap = null;\n this._material.roughnessMap = null;\n this._material.metalnessMap = null;\n }\n if (\n rapiTexture.mapping === RAPI_TEXTURE_TYPE.RGB ||\n rapiTexture.mapping === RAPI_TEXTURE_TYPE.RGBA\n ) {\n this._material.map = null;\n }\n if (rapiTexture.mapping === RAPI_TEXTURE_TYPE.XYZ) {\n this._material.normalMap = null;\n }\n this._material.needsUpdate = true;\n this._requestRender();\n }\n\n public clearCache() {\n this._configuratorMeshGenerator.clear();\n }\n}\n","import type ScriptLoader from '../../common-core/src/script-loader';\nimport type DomHelper from '../../common-core/src/utils/dom-helper';\nimport inject from '../../common-core/src/di/inject';\nimport type { ExternalEmbeddable, GlobalAPI } from '../../common-core/src/main';\nimport type { Main } from '../../common-core/src/main';\nimport type { Context } from '../../common-core/src/di/context';\nimport type LifeCycleManager from '../../common-core/src/life-cycle-manager';\nimport type { SceneSettings } from '../../common-core/src/scene-settings-loader';\nimport type { GEOMETRY } from './webgl/material-viewer-scene-manager';\nimport MaterialViewerSceneManager from './webgl/material-viewer-scene-manager';\nimport type {\n RapiId,\n RapiMaterial,\n RapiMaterialShading,\n RapiTexture,\n} from '../../typings/rapi-types';\nimport type RoomleMaterialViewerUiCallback from './roomle-material-viewer-ui-callback';\nimport type { InitDataDefinition } from '../../common-core/src/utils/shims';\nimport type InitData from '../../common-core/src/utils/init-data';\nimport { type RapiAccess } from '../../common-core/src/rapi-access';\nimport type { CanvasOffset } from '../../common-core/src/common-interfaces';\nimport type UnitFormatter from '../../configurator-core/src/services/unit-formatter';\nimport type { Scene } from 'three';\nimport { type IdbManager } from '../../common-core/src/services/idb-manager';\nimport type { GlobalCallback } from '../../common-core/src/services/global-callback';\n\nexport default class RoomleMaterialViewer\n implements\n GlobalAPI,\n Context,\n ExternalEmbeddable<RoomleMaterialViewerUiCallback>\n{\n public _creator_: string;\n\n @inject\n private _domHelper: DomHelper;\n\n @inject\n private _scriptLoader: ScriptLoader;\n\n @inject\n private _lifeCycleManager: LifeCycleManager;\n\n @inject\n private _roomleMaterialViewerUiCallback: RoomleMaterialViewerUiCallback;\n\n @inject\n private _initData: InitData;\n\n @inject\n private _globalCallback: GlobalCallback;\n\n @inject\n private _rapiAccess: RapiAccess;\n\n @inject\n private _unitFormatter: UnitFormatter;\n\n @inject\n protected _idbManager: IdbManager;\n\n private _sceneManager: MaterialViewerSceneManager;\n\n constructor(creator: string) {\n this._creator_ = creator;\n }\n\n public setCameraOffset(offset: CanvasOffset): void {\n this._sceneManager.setCameraOffset(offset);\n }\n\n public getCameraOffset(): CanvasOffset {\n return this._sceneManager.getCameraOffset();\n }\n\n public init(element: HTMLElement): Promise<void> {\n this._domHelper.setDomElement(element);\n\n if (this._sceneManager) {\n this._lifeCycleManager.resume();\n return Promise.resolve();\n }\n\n return new Promise<void>(this._initPromiseCallback.bind(this));\n }\n\n private _initPromiseCallback(resolve: () => void, _reject: () => void) {\n this._sceneManager = new MaterialViewerSceneManager(this._creator_, {\n left: 0,\n top: 1,\n right: 1,\n bottom: 0,\n });\n this._sceneManager.enableHD();\n resolve();\n }\n\n get callbacks(): RoomleMaterialViewerUiCallback {\n return this._roomleMaterialViewerUiCallback;\n }\n\n set callbacks(callback: RoomleMaterialViewerUiCallback) {\n this._roomleMaterialViewerUiCallback = callback;\n }\n\n public loadMaterialShading(\n materialShading: RapiMaterialShading,\n ): Promise<void> {\n return this._sceneManager.loadMaterialShading(materialShading);\n }\n\n public resetMaterial(): void {\n this._sceneManager.resetMaterial();\n }\n\n public loadMaterial(\n material: RapiMaterial,\n options: { flushCache?: boolean } = {},\n ): Promise<void> {\n if (options.flushCache) {\n this._clearCaches();\n }\n return this._sceneManager.loadMaterial(material);\n }\n\n public loadMaterialId(\n materialId: RapiId,\n options: { flushCache?: boolean } = {},\n ): Promise<void> {\n if (options.flushCache) {\n this._clearCaches();\n }\n return this._sceneManager.loadMaterialId(materialId);\n }\n\n public getMaterialShading(version: number = 1): RapiMaterialShading {\n return this._sceneManager.getMaterialShading(version);\n }\n\n /**\n * Loads a SceneSettings object, currently it can can contain a light setting definition\n * (see {@link @roomle/web-sdk/configurator-core/src/roomle-configurator#RoomleConfigurator.loadDynamicLightSetting}) and an environment definition (see {@link @roomle/web-sdk/configurator-core/src/environment/dynamic-environment-setting-loader#EnvironmentSetting}).\n * @param sceneSettings\n */\n public loadSceneSetting(sceneSettings: SceneSettings): Promise<void> {\n return this._sceneManager.loadSceneSettings(sceneSettings);\n }\n\n public setOverrides(initData: InitDataDefinition): void {\n if (!initData) {\n return;\n }\n this._initData.setOverrides(initData);\n }\n\n public updateSize(): void {\n this._sceneManager.updateCamera();\n }\n\n /**\n * Return the main class which has access to lifecycle events and RapiAccess.\n * Hidden because it's only useful for embedding API.\n * Has to be overridden by main class.\n * @hidden\n */\n public getMain(): Main | undefined {\n return undefined;\n }\n\n public resumeTest(element: HTMLElement) {\n this._domHelper.setDomElement(element);\n this._lifeCycleManager.resume();\n }\n\n public pauseTest() {\n this._lifeCycleManager.pause();\n }\n\n public showGUI() {\n this._sceneManager.showGUI();\n }\n\n /**\n * Sets the material of the floor to the given material id.\n * If the current environment is not floor environment it will be changed\n *\n * Example material ids are:\n * roomle_floor:DresdenEiche\n * roomle_floor:Ibiza\n * roomle_floor:Palma\n * roomle_floor:Elba\n * roomle_floor:Manacor\n * roomle_floor:KernEiche\n * roomle_floor:KieferScandic\n * roomle_floor:EicheHabsburg\n * roomle_floor:FuldaKiefer\n * roomle_floor:Ashton\n * roomle_floor:EicheLondon\n *\n * @param materialId\n * @returns promise that resolves when material has been changed\n */\n public async changeFloorMaterialById(materialId: string): Promise<void> {\n return this._sceneManager.changeFloorMaterialById(materialId);\n }\n\n /**\n * Set the geometry of the demo material mesh\n *\n * Possible parameter:\n * 'cube',\n * 'sphere',\n * 'plane_vertical',\n * 'plane_horizontal'\n *\n * @param type\n */\n public setGeometry(type: GEOMETRY) {\n this._sceneManager.setGeometry(type);\n }\n\n /**\n * Set a texture on the demo material, if no base64Image is set, the image field of rapiTexture is used\n * @param rapiTexture\n * @param base64Image for example \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPj/HwADBwIAMCbHYQAAAABJRU5ErkJggg==\"\n */\n public async addTexture(rapiTexture: RapiTexture, base64Image?: string) {\n return this._sceneManager.addTexture(rapiTexture, base64Image);\n }\n\n /**\n * Remove texture from the demo material\n * @param rapiTexture\n */\n public removeTexture(rapiTexture: RapiTexture) {\n return this._sceneManager.removeTexture(rapiTexture);\n }\n\n private _clearCaches() {\n this._rapiAccess.cleanUp();\n this._sceneManager.clearCache();\n }\n\n public getScene(): Scene {\n return this._sceneManager.getScene();\n }\n\n public updateScene(): void {\n this._sceneManager.updateScene();\n }\n\n /**\n * returns unit formatter for formatting input und output values in scene\n */\n public getUnitFormatter(): UnitFormatter {\n return this._unitFormatter;\n }\n\n /**\n * returns manager class to interface with indexedDB storage\n */\n public getStorage(): IdbManager {\n return this._idbManager;\n }\n\n public setEnvironmentMap(params: {\n url?: string;\n intensity?: number;\n rotation?: number;\n maxLightSources?: number;\n }): void {\n const { url, intensity, rotation, maxLightSources } = params;\n this._sceneManager.setEnvironmentMap(\n url,\n intensity,\n rotation,\n maxLightSources,\n );\n }\n\n /**\n * @internal\n * Use this callbacks to hook in your functionality\n */\n public get globalCallbacks(): GlobalCallback {\n return this._globalCallback;\n }\n}\n","/* eslint-disable @typescript-eslint/no-unused-vars */\n\nimport { UiCallback } from '../../common-core/src/utils/ui-callback';\nimport type { RapiMaterialShading } from '../../typings/rapi-types';\n\nexport default class RoomleMaterialViewerUiCallback extends UiCallback {\n constructor(creator: string) {\n super(creator);\n }\n\n /**\n * Gets called when a material parameter has been changed using the graphical user interface\n * @param materialShading\n */\n public onMaterialShadingChanged = (\n materialShading: RapiMaterialShading,\n ): void => undefined;\n}\n","import Logger from '../../../common-core/src/logger';\nimport ScriptLoader from '../../../common-core/src/script-loader';\nimport {\n DependencyInjectionAssignment,\n DI_TYPE,\n} from '../../../common-core/src/di/container';\nimport InputManager from '../../../common-core/src/input/input-manager';\nimport ConfiguratorMeshGenerator from '../../../configurator-core/src/webgl/configurator-mesh-generator';\nimport { RapiAccess } from '../../../common-core/src/rapi-access';\nimport RoomleMaterialViewerUiCallback from '../roomle-material-viewer-ui-callback';\n\nexport const INJECTABLES: DependencyInjectionAssignment[] = [\n new DependencyInjectionAssignment('script-loader', ScriptLoader),\n new DependencyInjectionAssignment('logger', Logger),\n new DependencyInjectionAssignment(\n 'input-manager',\n InputManager,\n DI_TYPE.CONTEXT,\n ),\n new DependencyInjectionAssignment(\n 'configurator-mesh-generator',\n ConfiguratorMeshGenerator,\n ),\n new DependencyInjectionAssignment('rapi-access', RapiAccess),\n new DependencyInjectionAssignment(\n 'roomle-material-viewer-ui-callback',\n RoomleMaterialViewerUiCallback,\n DI_TYPE.CONTEXT,\n ),\n];\n","import './utils/global-definitions';\nimport { Main, BASE_CONTEXT } from '../../common-core/src/main';\nimport type Logger from '../../common-core/src/logger';\nimport RoomleDependencyInjection from '../../common-core/src/di/roomle-dependency-injection';\nimport RoomleMaterialViewer from './roomle-material-viewer';\nimport { INJECTABLES } from './utils/injectables';\n\nexport class MaterialViewer extends Main {\n private _viewer: RoomleMaterialViewer;\n\n protected setupGlobals(): void {\n //globals are initialized in bootFinished()\n }\n\n protected setupDependencies(): void {\n RoomleDependencyInjection.setup(INJECTABLES);\n this.lookup<Logger>('logger', this._context);\n }\n\n protected cleanUpGlobals(): void {\n throw new Error('Method not implemented.');\n }\n\n protected cleanUpDependencies(): void {\n throw new Error('Method not implemented.');\n }\n\n protected async bootFinished(): Promise<void> {\n this._viewer = new RoomleMaterialViewer(this._context);\n\n if (!window.RoomleMaterialViewer) {\n window.RoomleMaterialViewer = this._viewer;\n }\n }\n\n public getApi(): RoomleMaterialViewer {\n return this._viewer;\n }\n\n protected getContextName(): string {\n return BASE_CONTEXT.MATERIAL_VIEWER;\n }\n}\n"],"names":["MaterialViewerCameraBehaviour","CameraBehaviour","SIZE","MaterialViewerSceneManager","SceneManager","creator","offset","CANVAS_ID","CAMERA_TYPE","isWebGLRenderer","DEFAULT_WEBGPU_MAX_SAMPLES","DynamicLightSettingLoader","PREDEFINED_LIGHTSETTING","geometry","BoxGeometry","meshPhysicalMaterial","MaterialCreator","Mesh","initialFloorMaterial","BackgroundEnvironment","Color","CameraControl3D","boundingBox","Box3","materialId","resolve","material","materialShading","setMaterial","DoubleSide","version","getMaterialShading","_mode","_offset","gui","getGUI","type","color","metallic","_roughness","transmission","alpha","alphaCutoff","doubleSided","FrontSide","SphereGeometry","PlaneGeometry","FloorEnvironment","reject","rapiTexture","base64Image","width","height","repeatWidth","repeatHeight","maxTextures","image","texture","Texture","addExistingTexture","addTexture","RAPI_TEXTURE_TYPE","__decorateClass","inject","RoomleMaterialViewer","element","_reject","callback","options","sceneSettings","initData","params","url","intensity","rotation","maxLightSources","RoomleMaterialViewerUiCallback","UiCallback","INJECTABLES","DependencyInjectionAssignment","ScriptLoader","Logger","InputManager","DI_TYPE","ConfiguratorMeshGenerator","RapiAccess","MaterialViewer","Main","RoomleDependencyInjection","BASE_CONTEXT"],"mappings":"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"}
|
package/lib/roomle-sdk.d.ts
CHANGED
|
@@ -1209,6 +1209,7 @@ export declare type ConfigurationString = string;
|
|
|
1209
1209
|
export declare interface ConfigurationUniqueIdAndHash {
|
|
1210
1210
|
hash: ConfigurationHash;
|
|
1211
1211
|
uniqueId: ConfigurationString;
|
|
1212
|
+
libraryId: string;
|
|
1212
1213
|
}
|
|
1213
1214
|
|
|
1214
1215
|
export declare class Configurator extends Main {
|
|
@@ -1627,7 +1628,6 @@ export declare interface ConfiguratorKernelContainer {
|
|
|
1627
1628
|
AddOnSpotArray: AddOnSpotArray;
|
|
1628
1629
|
PlanObjectList: PlanObjectList;
|
|
1629
1630
|
ParamKeyValuePairArray: ParamKeyValuePairArray;
|
|
1630
|
-
VariantArray: VariantArray;
|
|
1631
1631
|
IntArray: IntArray;
|
|
1632
1632
|
Kernel: ConfiguratorKernelClass;
|
|
1633
1633
|
Unit: Unit;
|
|
@@ -3468,7 +3468,7 @@ export declare class GlobalCallback extends UiCallback {
|
|
|
3468
3468
|
* @param _meta KernelMessageMetaInfo optional, adds more information for debugging
|
|
3469
3469
|
*/
|
|
3470
3470
|
onKernelMsg: (_type: KernelMessageType, _message: string, _meta?: KernelMessageMetaInfo) => void;
|
|
3471
|
-
onCheckExternalCache: (_url: string, _requestData: RequestInit) => Promise<
|
|
3471
|
+
onCheckExternalCache: (_url: string, _requestData: RequestInit) => Promise<unknown>;
|
|
3472
3472
|
onValidateNetworkResponse: ExternalResponseValidator;
|
|
3473
3473
|
/**
|
|
3474
3474
|
*
|
|
@@ -3561,16 +3561,16 @@ export declare interface GlueLogic {
|
|
|
3561
3561
|
addSubArticle(articleId: string, rootModuleId: string, parentModuleId: string): void;
|
|
3562
3562
|
deleteSubArticles(groupId: string, subModuleId: string[] | string): Promise<void>;
|
|
3563
3563
|
arrangeRootModulesOfGroup(changedGroup: ExternalObjectGroup): Promise<void>;
|
|
3564
|
-
changedGroupPlanningSituation(changedGroup: ExternalObjectGroup): Promise<void>;
|
|
3564
|
+
changedGroupPlanningSituation(changedGroup: ExternalObjectGroup, objectPositionChanged: boolean): Promise<void>;
|
|
3565
3565
|
changedGroupFromHistory(historyGroup: PosGroup, reloadGroup: boolean): void;
|
|
3566
3566
|
loadedGroup(posDataJson: PosGroup): Promise<void>;
|
|
3567
3567
|
groupsCompletelyLoaded(): void;
|
|
3568
3568
|
removedGroup(groupId: string): void;
|
|
3569
3569
|
openCloseGroup(groupId: string): void;
|
|
3570
3570
|
getSaveDataGroups(): Promise<PosGroup[] | null>;
|
|
3571
|
-
newPosDataFromId(id: string): Promise<PosGroup>;
|
|
3571
|
+
newPosDataFromId(id: string): Promise<PosGroup | undefined>;
|
|
3572
3572
|
newPosDataFromGroup(posDataJson: PosGroup): Promise<PosGroup>;
|
|
3573
|
-
getGroupDataForOrder(roomlePlannerId?: string): Promise<HiOrderData>;
|
|
3573
|
+
getGroupDataForOrder(roomlePlannerId?: string): Promise<HiOrderData | null>;
|
|
3574
3574
|
getMaterialUrl(materialId: string, groupOrModuleId?: string): string | null;
|
|
3575
3575
|
}
|
|
3576
3576
|
|
|
@@ -3659,6 +3659,25 @@ export declare const HI_CONTEXT_ACTION: {
|
|
|
3659
3659
|
readonly ISOLATION: "isolation";
|
|
3660
3660
|
};
|
|
3661
3661
|
|
|
3662
|
+
export declare const HI_LOAD_OBJECT_REASON: {
|
|
3663
|
+
readonly ADD_SUBARTICLE: "add_subarticle";
|
|
3664
|
+
readonly ARRANGED: "arranged";
|
|
3665
|
+
readonly CHANGE_ATTRIBUTE: "change_attribute";
|
|
3666
|
+
readonly CHANGE_META: "change_meta";
|
|
3667
|
+
readonly DRAG_IN_NEW: "drag_in_new";
|
|
3668
|
+
readonly DELETE_MODULE: "delete_module";
|
|
3669
|
+
readonly DELETE_SUBARTICLE: "delete_subarticle";
|
|
3670
|
+
readonly DUPLICATE: "duplicate";
|
|
3671
|
+
readonly INSERT_NEW: "insert_new";
|
|
3672
|
+
readonly LOAD: "load";
|
|
3673
|
+
readonly MERGE: "merge";
|
|
3674
|
+
readonly PLAN_CHANGED: "plan_changed";
|
|
3675
|
+
readonly POSITION_CHANGED: "position_changed";
|
|
3676
|
+
readonly SPLIT: "split";
|
|
3677
|
+
readonly SWAP_MODULE: "swap_module";
|
|
3678
|
+
readonly UNDO_REDO: "undo_redo";
|
|
3679
|
+
};
|
|
3680
|
+
|
|
3662
3681
|
export declare interface HiApiOptions extends HomagIntelligenceSubscription {
|
|
3663
3682
|
om?: HomagIntelligenceSubscription;
|
|
3664
3683
|
baseUrl?: string;
|
|
@@ -3671,6 +3690,8 @@ export declare type HiAttributeOptionsResult = CheckDropDownResult | CheckDropDo
|
|
|
3671
3690
|
|
|
3672
3691
|
export declare type HiContextAction = (typeof HI_CONTEXT_ACTION)[keyof typeof HI_CONTEXT_ACTION];
|
|
3673
3692
|
|
|
3693
|
+
export declare type HiLoadObjectReason = (typeof HI_LOAD_OBJECT_REASON)[keyof typeof HI_LOAD_OBJECT_REASON];
|
|
3694
|
+
|
|
3674
3695
|
export declare interface HiObjectSelectionApi {
|
|
3675
3696
|
setSidebar(viewName: string): void;
|
|
3676
3697
|
contextChanged(context: BASE_CONTEXT): void;
|
|
@@ -3697,13 +3718,18 @@ export declare class HiTagCatalogCallbacks implements Context {
|
|
|
3697
3718
|
private _processedArticles;
|
|
3698
3719
|
}
|
|
3699
3720
|
|
|
3700
|
-
export declare class HomagIntelligence
|
|
3721
|
+
export declare class HomagIntelligence {
|
|
3701
3722
|
private _roomlePlanner;
|
|
3702
3723
|
private _api;
|
|
3703
3724
|
private _glueLogic;
|
|
3704
3725
|
private _orders;
|
|
3705
|
-
|
|
3706
|
-
|
|
3726
|
+
private _hiCallbacks;
|
|
3727
|
+
constructor(roomlePlanner: RoomlePlanner, hiOptions: HomagIntelligenceInitData, hiCallbacks: HiCallbacks);
|
|
3728
|
+
/**
|
|
3729
|
+
* Loads previously saved PosGroup data via hiCallbacks.
|
|
3730
|
+
* Must be called after construction to restore saved state.
|
|
3731
|
+
*/
|
|
3732
|
+
loadSavedPosData(): Promise<void>;
|
|
3707
3733
|
loadLibrary(libraryId: string): Promise<void>;
|
|
3708
3734
|
loadCatalog(libraryId: string, articles: any, catalogCallbacks: HiTagCatalogCallbacks): Promise<void>;
|
|
3709
3735
|
private _loadLibraryData;
|
|
@@ -4093,10 +4119,7 @@ export declare interface KernelComponent {
|
|
|
4093
4119
|
hash: string;
|
|
4094
4120
|
position: KernelVector3;
|
|
4095
4121
|
rotation: KernelVector3;
|
|
4096
|
-
transform: KernelMatrix4;
|
|
4097
4122
|
globalTransform: KernelMatrix4;
|
|
4098
|
-
bounds: KernelVector3;
|
|
4099
|
-
boundingBox: KernelCube;
|
|
4100
4123
|
boxForMeasurement: KernelCube;
|
|
4101
4124
|
geometryBounds: KernelCube[];
|
|
4102
4125
|
parameters: KernelParameter[];
|
|
@@ -4433,15 +4456,6 @@ export declare interface KernelVariable {
|
|
|
4433
4456
|
value: string;
|
|
4434
4457
|
}
|
|
4435
4458
|
|
|
4436
|
-
export declare interface KernelVariant {
|
|
4437
|
-
componentId: string;
|
|
4438
|
-
articleNr: string;
|
|
4439
|
-
customerPrice: number;
|
|
4440
|
-
retailPrice: number;
|
|
4441
|
-
currencySymbol: string;
|
|
4442
|
-
parameterValues: KernelParameterValue[];
|
|
4443
|
-
}
|
|
4444
|
-
|
|
4445
4459
|
export declare interface KernelVector2f {
|
|
4446
4460
|
x: number;
|
|
4447
4461
|
y: number;
|
|
@@ -4609,16 +4623,12 @@ export declare interface LoadExternalObjectGroupResult {
|
|
|
4609
4623
|
}
|
|
4610
4624
|
|
|
4611
4625
|
export declare interface LoadExternalObjectOptions {
|
|
4612
|
-
|
|
4613
|
-
newAction?: boolean;
|
|
4614
|
-
continueAction?: boolean;
|
|
4626
|
+
reason?: HiLoadObjectReason;
|
|
4615
4627
|
findFreeSpaceInPlan?: boolean;
|
|
4616
|
-
correctArrangement?: boolean;
|
|
4617
4628
|
moduleIdMap?: Array<{
|
|
4618
4629
|
originalModuleId: string;
|
|
4619
4630
|
newModuleId: string;
|
|
4620
4631
|
}>;
|
|
4621
|
-
respondWithPositionInPlan?: boolean;
|
|
4622
4632
|
mergedGroups?: string[];
|
|
4623
4633
|
position?: Position3;
|
|
4624
4634
|
rotation?: number;
|
|
@@ -5416,6 +5426,7 @@ export declare interface PlanInteractionHandler {
|
|
|
5416
5426
|
catalogItemLoaded(catalogItem: KernelCatalogItem): void;
|
|
5417
5427
|
removeElement(planObject: KernelObject): void;
|
|
5418
5428
|
removeObjectWithId(objectId: string): void;
|
|
5429
|
+
mergeObjects(objects: PlanObjectList): void;
|
|
5419
5430
|
groupObjects(planObjectPtrList: PlanObjectList): ObjectGroupPtr;
|
|
5420
5431
|
rotateObjectsBy(planObjectPtrList: PlanObjectList, anAngleInRad: number, aroundPoint: KernelVector3): void;
|
|
5421
5432
|
rotateGroupBy(group: ObjectGroupPtr, anAngleInRad: number, aroundPoint: KernelVector3): void;
|
|
@@ -5615,6 +5626,7 @@ export declare class PlannerKernelAccess extends ConfiguratorKernelAccess {
|
|
|
5615
5626
|
catalogItemLoaded(catalogItem: RapiItem): void;
|
|
5616
5627
|
insertItems(itemList: Array<RapiItem | RapiConfiguration>, newUndoRedoStep?: boolean): Promise<RuntimeId[]>;
|
|
5617
5628
|
duplicateItems(planObjects: PlanObject[]): PlanObject[];
|
|
5629
|
+
mergeItems(planObjects: PlanObject[]): void;
|
|
5618
5630
|
private _rapiItemToKernelItem;
|
|
5619
5631
|
planObjectDeleted(): void;
|
|
5620
5632
|
requestPlanObjectDimensions(): void;
|
|
@@ -5670,7 +5682,7 @@ export declare class PlannerKernelAccess extends ConfiguratorKernelAccess {
|
|
|
5670
5682
|
protected _externalObjectConfigurationDeleted(groupId: string): void;
|
|
5671
5683
|
protected _externalObjectComponentDeleted(remainingGroupOrGroups: ExternalObjectGroup | ExternalObjectGroup[], deletedRootModuleId: string): void;
|
|
5672
5684
|
_externalObjectConfigurationDuplicated(duplicatedGroup: ExternalObjectGroup): void;
|
|
5673
|
-
_externalObjectPlanChanged(movedGroup: ExternalObjectGroup): Promise<void>;
|
|
5685
|
+
_externalObjectPlanChanged(movedGroup: ExternalObjectGroup, objectPositionChanged: boolean): Promise<void>;
|
|
5674
5686
|
_externalObjectConfigurationsMerged(mergedGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], targetRootModuleId: string): Promise<void>;
|
|
5675
5687
|
_externalObjectComponentSplitOff(splitGroups: ExternalObjectGroup[]): void;
|
|
5676
5688
|
_externalObjectArrangementChanged(changedGroup: ExternalObjectGroup): void;
|
|
@@ -5770,7 +5782,6 @@ export declare interface PlannerKernelContainer {
|
|
|
5770
5782
|
AddOnSpotArray: AddOnSpotArray_2;
|
|
5771
5783
|
PlanObjectList: PlanObjectList;
|
|
5772
5784
|
ParamKeyValuePairArray: ParamKeyValuePairArray_2;
|
|
5773
|
-
VariantArray: VariantArray_2;
|
|
5774
5785
|
IntArray: IntArray_2;
|
|
5775
5786
|
Kernel: ConfiguratorKernelClass;
|
|
5776
5787
|
Unit: Unit_2;
|
|
@@ -5845,6 +5856,7 @@ export declare class PlannerSceneEventHandler extends SceneEventHandler<SceneEve
|
|
|
5845
5856
|
setPlanViewModel(planViewModel: PlanViewModel): void;
|
|
5846
5857
|
cancelSelection(reason: CancelSelectionReasons): void;
|
|
5847
5858
|
removeSelection(): void;
|
|
5859
|
+
isDraggedObjectSet(): boolean;
|
|
5848
5860
|
private _dragStart;
|
|
5849
5861
|
private _drag;
|
|
5850
5862
|
private _dragEnd;
|
|
@@ -7444,10 +7456,6 @@ export declare const enum ResizingAnchor {
|
|
|
7444
7456
|
Right = 8
|
|
7445
7457
|
}
|
|
7446
7458
|
|
|
7447
|
-
export declare abstract class RmlPlugin {
|
|
7448
|
-
abstract init(...args: any[]): Promise<this>;
|
|
7449
|
-
}
|
|
7450
|
-
|
|
7451
7459
|
export declare class RoomDesignerApi implements RoomDesignerRequests {
|
|
7452
7460
|
private _roomlePlanner;
|
|
7453
7461
|
constructor(roomlePlanner: RoomlePlannerType);
|
|
@@ -8636,6 +8644,11 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
|
|
|
8636
8644
|
* @param itemList Array of PlanObjects
|
|
8637
8645
|
*/
|
|
8638
8646
|
duplicateItems(itemList: PlanObject[]): PlanObject[];
|
|
8647
|
+
/**
|
|
8648
|
+
* Merges all planObjects in the array
|
|
8649
|
+
* @param itemList Array of PlanObjects
|
|
8650
|
+
*/
|
|
8651
|
+
mergeItems(itemList: PlanObject[]): void;
|
|
8639
8652
|
getScene(): Scene;
|
|
8640
8653
|
updateScene(): void;
|
|
8641
8654
|
getCameraOffset(): CanvasOffset;
|
|
@@ -8834,6 +8847,8 @@ export declare class RoomlePlanner<P extends readonly PluginName[] = readonly []
|
|
|
8834
8847
|
private _loadExternalObjectGroupInPlanner;
|
|
8835
8848
|
private _updateExternalObjectRootModuleSelection;
|
|
8836
8849
|
private _loadOrUpdateExternalObjectGroup;
|
|
8850
|
+
private _interactionBeforeLoadingExternalObjectGroups;
|
|
8851
|
+
private _interactionAfterLoadingExternalObjectGroups;
|
|
8837
8852
|
updateExternalObjectGroupAttribute(rootModuleId: string, moduleId: string, attributeId: string, attributeValue: string | boolean): Promise<void>;
|
|
8838
8853
|
getExternalObjectAttributeOptions(moduleId: string, attributeIds?: string | string[]): Promise<Record<string, CheckResult> | undefined>;
|
|
8839
8854
|
getExternalObjectAttributeOptionsOrRanges(moduleId: string, attributeIds?: string | string[]): Promise<Record<string, CheckDropDownResult> | undefined>;
|
|
@@ -10165,12 +10180,6 @@ export declare class VariableArray extends EmsArray<KernelVariable> {
|
|
|
10165
10180
|
export declare class VariableArray_2 extends EmsArray<KernelVariable> {
|
|
10166
10181
|
}
|
|
10167
10182
|
|
|
10168
|
-
export declare class VariantArray extends EmsArray<KernelVariant> {
|
|
10169
|
-
}
|
|
10170
|
-
|
|
10171
|
-
export declare class VariantArray_2 extends EmsArray<KernelVariant> {
|
|
10172
|
-
}
|
|
10173
|
-
|
|
10174
10183
|
export declare interface VariantsList {
|
|
10175
10184
|
componentId: string;
|
|
10176
10185
|
parameterValues: ParamterKeyValue[];
|
package/lib/roomle-sdk.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { fN as s, fM as l, f$ as o, g1 as i, g6 as n, gb as r, fX as t, gc as f, fP as g, y as E, g7 as m, g4 as O, fY as P, fZ as b, g2 as c, x as C, J as d, g0 as M, ga as R, fO as I, g5 as T, g3 as _, fR as N, g8 as V, g9 as w, fT as x, fU as S, fQ as j, fW as u, fS as A, f_ as L, fV as G } from "./index-
|
|
1
|
+
import { fN as s, fM as l, f$ as o, g1 as i, g6 as n, gb as r, fX as t, gc as f, fP as g, y as E, g7 as m, g4 as O, fY as P, fZ as b, g2 as c, x as C, J as d, g0 as M, ga as R, fO as I, g5 as T, g3 as _, fR as N, g8 as V, g9 as w, fT as x, fU as S, fQ as j, fW as u, fS as A, f_ as L, fV as G } from "./index-C9LjHx1P.mjs";
|
|
2
2
|
export {
|
|
3
3
|
s as CONFIGURATION_TYPE,
|
|
4
4
|
l as CORE_PERMISSION_TO_DELETE,
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -76,8 +76,7 @@ export interface DockPairType {
|
|
|
76
76
|
}
|
|
77
77
|
export declare const CORE_EXPORT_TYPE: {
|
|
78
78
|
readonly TC: 0;
|
|
79
|
-
readonly
|
|
80
|
-
readonly HOMAGIX: 2;
|
|
79
|
+
readonly HOMAGIX: 1;
|
|
81
80
|
};
|
|
82
81
|
export interface ExportType {
|
|
83
82
|
value: Enumify<typeof CORE_EXPORT_TYPE>;
|
|
@@ -241,8 +240,6 @@ export interface AssetResponse {
|
|
|
241
240
|
export interface Component {
|
|
242
241
|
addOnSpots: AddOnSpot[];
|
|
243
242
|
animations: Animation[];
|
|
244
|
-
boundingBox: Cube;
|
|
245
|
-
bounds: Vector3;
|
|
246
243
|
boxForMeasurement: Cube;
|
|
247
244
|
childAnimationTransformations: ComponentAnimationTransformation[];
|
|
248
245
|
childIds: number[];
|
|
@@ -269,7 +266,6 @@ export interface Component {
|
|
|
269
266
|
rootModuleIds: number[];
|
|
270
267
|
rootSiblingIds: number[];
|
|
271
268
|
rotation: Vector3;
|
|
272
|
-
transform: Matrix4;
|
|
273
269
|
type: PlanComponentType;
|
|
274
270
|
valid: boolean;
|
|
275
271
|
}
|
|
@@ -497,6 +493,7 @@ export interface RectangleReferencePoints {
|
|
|
497
493
|
}
|
|
498
494
|
export interface UniqueIdAndHash {
|
|
499
495
|
hash: string;
|
|
496
|
+
libraryId: string;
|
|
500
497
|
uniqueId: string;
|
|
501
498
|
}
|
|
502
499
|
export interface Variable {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuratorCoreInterface.js","sourceRoot":"","sources":["../../../src/embind/configuratorCoreInterface.ts"],"names":[],"mappings":";;;AAqCa,QAAA,qBAAqB,GAAG;IACnC,YAAY,EAAE,SAAS;IACvB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACN,CAAC;AAIE,QAAA,0BAA0B,GAAG;IACxC,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;CACN,CAAC;AAIE,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,CAAC;IACP,SAAS,EAAE,CAAC;IACZ,aAAa,EAAE,CAAC;IAChB,mBAAmB,EAAE,CAAC;IACtB,cAAc,EAAE,CAAC;IACjB,gBAAgB,EAAE,CAAC;IACnB,gBAAgB,EAAE,CAAC;CACX,CAAC;AAME,QAAA,mBAAmB,GAAG;IACjC,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;CACI,CAAC;AAME,QAAA,mBAAmB,GAAG;IACjC,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;CACC,CAAC;AAME,QAAA,gBAAgB,GAAG;IAC9B,EAAE,EAAE,CAAC;IACL,
|
|
1
|
+
{"version":3,"file":"configuratorCoreInterface.js","sourceRoot":"","sources":["../../../src/embind/configuratorCoreInterface.ts"],"names":[],"mappings":";;;AAqCa,QAAA,qBAAqB,GAAG;IACnC,YAAY,EAAE,SAAS;IACvB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACN,CAAC;AAIE,QAAA,0BAA0B,GAAG;IACxC,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;CACN,CAAC;AAIE,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,CAAC;IACP,SAAS,EAAE,CAAC;IACZ,aAAa,EAAE,CAAC;IAChB,mBAAmB,EAAE,CAAC;IACtB,cAAc,EAAE,CAAC;IACjB,gBAAgB,EAAE,CAAC;IACnB,gBAAgB,EAAE,CAAC;CACX,CAAC;AAME,QAAA,mBAAmB,GAAG;IACjC,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;CACI,CAAC;AAME,QAAA,mBAAmB,GAAG;IACjC,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;CACC,CAAC;AAME,QAAA,gBAAgB,GAAG;IAC9B,EAAE,EAAE,CAAC;IACL,OAAO,EAAE,CAAC;CACF,CAAC;AAME,QAAA,sBAAsB,GAAG;IACpC,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;CACC,CAAC;AAME,QAAA,yBAAyB,GAAG;IACvC,KAAK,EAAE,CAAC;IACR,eAAe,EAAE,CAAC;IAClB,MAAM,EAAE,CAAC;CACD,CAAC;AAME,QAAA,wBAAwB,GAAG;IACtC,cAAc,EAAE,CAAC;IACjB,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,CAAC;CACL,CAAC;AAME,QAAA,SAAS,GAAG;IACvB,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,CAAC;CACH,CAAC;AAME,QAAA,SAAS,GAAG;IACvB,QAAQ,EAAE,CAAC;IACX,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;CACC,CAAC;AAME,QAAA,qBAAqB,GAAG;IACnC,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,eAAe,EAAE,CAAC;CACV,CAAC;AAME,QAAA,cAAc,GAAG;IAC5B,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;CACA,CAAC;AAME,QAAA,4BAA4B,GAAG;IAC1C,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;CACA,CAAC;AAME,QAAA,cAAc,GAAG;IAC5B,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,SAAS,EAAE,CAAC;IACZ,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;CACD,CAAC"}
|
|
@@ -76,8 +76,7 @@ export interface DockPairType {
|
|
|
76
76
|
}
|
|
77
77
|
export declare const CORE_EXPORT_TYPE: {
|
|
78
78
|
readonly TC: 0;
|
|
79
|
-
readonly
|
|
80
|
-
readonly HOMAGIX: 2;
|
|
79
|
+
readonly HOMAGIX: 1;
|
|
81
80
|
};
|
|
82
81
|
export interface ExportType {
|
|
83
82
|
value: Enumify<typeof CORE_EXPORT_TYPE>;
|
|
@@ -241,8 +240,6 @@ export interface AssetResponse {
|
|
|
241
240
|
export interface Component {
|
|
242
241
|
addOnSpots: AddOnSpot[];
|
|
243
242
|
animations: Animation[];
|
|
244
|
-
boundingBox: Cube;
|
|
245
|
-
bounds: Vector3;
|
|
246
243
|
boxForMeasurement: Cube;
|
|
247
244
|
childAnimationTransformations: ComponentAnimationTransformation[];
|
|
248
245
|
childIds: number[];
|
|
@@ -269,7 +266,6 @@ export interface Component {
|
|
|
269
266
|
rootModuleIds: number[];
|
|
270
267
|
rootSiblingIds: number[];
|
|
271
268
|
rotation: Vector3;
|
|
272
|
-
transform: Matrix4;
|
|
273
269
|
type: PlanComponentType;
|
|
274
270
|
valid: boolean;
|
|
275
271
|
}
|
|
@@ -497,6 +493,7 @@ export interface RectangleReferencePoints {
|
|
|
497
493
|
}
|
|
498
494
|
export interface UniqueIdAndHash {
|
|
499
495
|
hash: string;
|
|
496
|
+
libraryId: string;
|
|
500
497
|
uniqueId: string;
|
|
501
498
|
}
|
|
502
499
|
export interface Variable {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuratorCoreInterface.js","sourceRoot":"","sources":["../../../src/embind/configuratorCoreInterface.ts"],"names":[],"mappings":";;;AAqCa,QAAA,qBAAqB,GAAG;IACnC,YAAY,EAAE,SAAS;IACvB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACN,CAAC;AAIE,QAAA,0BAA0B,GAAG;IACxC,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;CACN,CAAC;AAIE,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,CAAC;IACP,SAAS,EAAE,CAAC;IACZ,aAAa,EAAE,CAAC;IAChB,mBAAmB,EAAE,CAAC;IACtB,cAAc,EAAE,CAAC;IACjB,gBAAgB,EAAE,CAAC;IACnB,gBAAgB,EAAE,CAAC;CACX,CAAC;AAME,QAAA,mBAAmB,GAAG;IACjC,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;CACI,CAAC;AAME,QAAA,mBAAmB,GAAG;IACjC,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;CACC,CAAC;AAME,QAAA,gBAAgB,GAAG;IAC9B,EAAE,EAAE,CAAC;IACL,
|
|
1
|
+
{"version":3,"file":"configuratorCoreInterface.js","sourceRoot":"","sources":["../../../src/embind/configuratorCoreInterface.ts"],"names":[],"mappings":";;;AAqCa,QAAA,qBAAqB,GAAG;IACnC,YAAY,EAAE,SAAS;IACvB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACN,CAAC;AAIE,QAAA,0BAA0B,GAAG;IACxC,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;CACN,CAAC;AAIE,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,CAAC;IACP,SAAS,EAAE,CAAC;IACZ,aAAa,EAAE,CAAC;IAChB,mBAAmB,EAAE,CAAC;IACtB,cAAc,EAAE,CAAC;IACjB,gBAAgB,EAAE,CAAC;IACnB,gBAAgB,EAAE,CAAC;CACX,CAAC;AAME,QAAA,mBAAmB,GAAG;IACjC,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;CACI,CAAC;AAME,QAAA,mBAAmB,GAAG;IACjC,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;CACC,CAAC;AAME,QAAA,gBAAgB,GAAG;IAC9B,EAAE,EAAE,CAAC;IACL,OAAO,EAAE,CAAC;CACF,CAAC;AAME,QAAA,sBAAsB,GAAG;IACpC,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;CACC,CAAC;AAME,QAAA,yBAAyB,GAAG;IACvC,KAAK,EAAE,CAAC;IACR,eAAe,EAAE,CAAC;IAClB,MAAM,EAAE,CAAC;CACD,CAAC;AAME,QAAA,wBAAwB,GAAG;IACtC,cAAc,EAAE,CAAC;IACjB,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,CAAC;CACL,CAAC;AAME,QAAA,SAAS,GAAG;IACvB,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,CAAC;CACH,CAAC;AAME,QAAA,SAAS,GAAG;IACvB,QAAQ,EAAE,CAAC;IACX,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;CACC,CAAC;AAME,QAAA,qBAAqB,GAAG;IACnC,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,eAAe,EAAE,CAAC;CACV,CAAC;AAME,QAAA,cAAc,GAAG;IAC5B,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;CACA,CAAC;AAME,QAAA,4BAA4B,GAAG;IAC1C,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;CACA,CAAC;AAME,QAAA,cAAc,GAAG;IAC5B,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,SAAS,EAAE,CAAC;IACZ,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;CACD,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ConfigurationExporter, ConfiguratorCallback, ConfiguratorContainer, ConfiguratorIoContext, ConfiguratorKernel } from './configuratorCoreInterface';
|
|
2
|
-
import type { PlannerContainer, PlannerCallback, PlanInteractionHandler, PlanModelViewHelper, CatalogItem } from './plannerCoreInterface';
|
|
2
|
+
import type { PlannerContainer, PlannerCallback, PlanInteractionHandler, PlanModelViewHelper, CatalogItem, PlanObjectPtrList } from './plannerCoreInterface';
|
|
3
3
|
import { CoreModuleInstance, type CoreModule } from './coreModule';
|
|
4
4
|
import type { ConfiguratorInstanceInterface } from './configuratorCore';
|
|
5
5
|
import type { RapiItemData } from '../loader/rapiAccess';
|
|
@@ -13,6 +13,7 @@ export declare class PlannerCoreInstance extends CoreModuleInstance<PlannerConta
|
|
|
13
13
|
get planModelViewHelper(): PlanModelViewHelper;
|
|
14
14
|
dispose(): void;
|
|
15
15
|
getPlannerModule(): PlannerContainer | undefined;
|
|
16
|
+
newPlanObjectPtrList(): PlanObjectPtrList;
|
|
16
17
|
newPlanInteractionHandler(): PlanInteractionHandler;
|
|
17
18
|
newCatalogItem(itemId: string): CatalogItem;
|
|
18
19
|
newCatalogItemFromRapiItem(rapiItem: RapiItemData): CatalogItem;
|
|
@@ -28,6 +28,11 @@ class PlannerCoreInstance extends coreModule_1.CoreModuleInstance {
|
|
|
28
28
|
getPlannerModule() {
|
|
29
29
|
return this._plannerCoreModule;
|
|
30
30
|
}
|
|
31
|
+
newPlanObjectPtrList() {
|
|
32
|
+
const module = this._plannerCoreModule;
|
|
33
|
+
const planObjectPtrList = new module.PlanObjectPtrList();
|
|
34
|
+
return planObjectPtrList;
|
|
35
|
+
}
|
|
31
36
|
newPlanInteractionHandler() {
|
|
32
37
|
const module = this._plannerCoreModule;
|
|
33
38
|
const planInteractionHandler = new module.PlanInteractionHandler();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plannerCore.js","sourceRoot":"","sources":["../../../src/embind/plannerCore.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"plannerCore.js","sourceRoot":"","sources":["../../../src/embind/plannerCore.ts"],"names":[],"mappings":"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"}
|
|
@@ -675,6 +675,7 @@ export interface PlanInteractionHandler {
|
|
|
675
675
|
deleteObjectsInGroup(group: ObjectGroup): void;
|
|
676
676
|
replaceObject(objectToBeReplaced: PlanElement, replacement: PlanElement): void;
|
|
677
677
|
duplicateGroup(group: ObjectGroup, count: number, findFreeSpaceInPlan: boolean): ObjectGroup[];
|
|
678
|
+
mergeObjects(objects: PlanObjectPtrList): void;
|
|
678
679
|
groupObjects(objects: PlanObjectPtrList): ObjectGroup;
|
|
679
680
|
ungroup(group: ObjectGroup): void;
|
|
680
681
|
duplicatePlanObjects(objects: PlanObjectPtrList, count: number, findFreeSpaceInPlan: boolean): PlanObject[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name": "roomle-core-hsc", "version": "2.
|
|
1
|
+
{"name": "roomle-core-hsc", "version": "2.72.0-alpha.2" }
|