# RoomleConfigurator.default

[configurator-core/src/roomle-configurator](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/modules/configurator_core_src_roomle_configurator).default

Shared API between configurator and planner

## Type parameters

| Name | Type                                                                                                                                                                 |
| ---- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `P`  | extends readonly [`PluginName`](https://docs.roomle.com/rubens/rubens-sdk/modules/configurator_core_src_roomle_configurator._internal_#pluginname)\[] = readonly \[] |

## Implements

* [`GlobalAPI`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.globalapi)
* [`Context`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_configurator._internal_.context)
* [`KernelUtilityForUi`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.kernelutilityforui)
* [`ConfiguratorKernelAccessCallbackI`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.configuratorkernelaccesscallbacki)
* [`ExternalEmbeddable`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_configurator._internal_.externalembeddable)<[`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_services_configurator_ui_callback.default)>
* [`RubensAPI`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.rubensapi)
* [`ConfiguratorDebugAPI`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.configuratordebugapi)

## Table of contents

### Constructors

* [constructor](#constructor)

### Properties

* [\_creator\_](#_creator_)

### Accessors

* [callbacks](#callbacks)

### Methods

* [calcPartsPriceSum](#calcpartspricesum)
* [cancelDockings](#canceldockings)
* [cancelSelection](#cancelselection)
* [changeFloorMaterial](#changefloormaterial)
* [changeFloorMaterialById](#changefloormaterialbyid)
* [changeOffset](#changeoffset)
* [cleanup](#cleanup)
* [clearHistory](#clearhistory)
* [disableEvents](#disableevents)
* [disableHDGeometry](#disablehdgeometry)
* [disableMultiselect](#disablemultiselect)
* [downloadHomagIxExportPoC](#downloadhomagixexportpoc)
* [enableDebugging](#enabledebugging)
* [enableEvents](#enableevents)
* [enableHDGeometry](#enablehdgeometry)
* [enableMeshSelection](#enablemeshselection)
* [enableMultiselect](#enablemultiselect)
* [exportCanvasScreenshot](#exportcanvasscreenshot)
* [exportImageFromCamera](#exportimagefromcamera)
* [formatValueToUnitString](#formatvaluetounitstring)
* [generateHOMAGiXExport](#generatehomagixexport)
* [generateHomagIxExport](#generatehomagixexport-1)
* [generateIMOSiXExport](#generateimosixexport)
* [generateImagesOfCurrentConfiguration](#generateimagesofcurrentconfiguration)
* [generateProductionServiceExport](#generateproductionserviceexport)
* [generateTCExport](#generatetcexport)
* [getAdditionalContentsOf](#getadditionalcontentsof)
* [getCameraOffset](#getcameraoffset)
* [getChildrenOfPlanComponent](#getchildrenofplancomponent)
* [getChildrenOfPlanObject](#getchildrenofplanobject)
* [getComponent](#getcomponent)
* [getConfiguratorContext](#getconfiguratorcontext)
* [getConfiguratorSettings](#getconfiguratorsettings)
* [getCurrentConfiguration](#getcurrentconfiguration)
* [getCurrentConfigurationHash](#getcurrentconfigurationhash)
* [getCurrentSelection](#getcurrentselection)
* [getHashOfSerializedConfiguration](#gethashofserializedconfiguration)
* [getParameterGroups](#getparametergroups)
* [getParametersOfComponent](#getparametersofcomponent)
* [getParametersOfPlanObject](#getparametersofplanobject)
* [getParametersOfRootComponent](#getparametersofrootcomponent)
* [getRuntimeComponentIdOfRootComponent](#getruntimecomponentidofrootcomponent)
* [getScene](#getscene)
* [getShortUrlOfCurrentConfiguration](#getshorturlofcurrentconfiguration)
* [getStorage](#getstorage)
* [getTagById](#gettagbyid)
* [getTools](#gettools)
* [getUnitFormatter](#getunitformatter)
* [hideDimensions](#hidedimensions)
* [highlightParts](#highlightparts)
* [init](#init)
* [initSceneManager](#initscenemanager)
* [isReady](#isready)
* [loadComponentIntoKernel](#loadcomponentintokernel)
* [loadConfigurableItemById](#loadconfigurableitembyid)
* [loadConfiguration](#loadconfiguration)
* [loadConfigurationById](#loadconfigurationbyid)
* [loadDynamicLightSetting](#loaddynamiclightsetting)
* [loadError](#loaderror)
* [loadSceneSetting](#loadscenesetting)
* [moveCamera](#movecamera)
* [notifyUiAboutNewLabel](#notifyuiaboutnewlabel)
* [pauseKernelCallbacks](#pausekernelcallbacks)
* [preLoadConfigurableItemById](#preloadconfigurableitembyid)
* [preLoadConfigurationById](#preloadconfigurationbyid)
* [preparePartImage](#preparepartimage)
* [preparePerspectiveImage](#prepareperspectiveimage)
* [prepareTopImage](#preparetopimage)
* [previewDockings](#previewdockings)
* [redo](#redo)
* [removeTypeChangeTag](#removetypechangetag)
* [renderImage](#renderimage)
* [requestAsset](#requestasset)
* [requestDeleteComponent](#requestdeletecomponent)
* [resetCameraPosition](#resetcameraposition)
* [resumeKernelCallbacks](#resumekernelcallbacks)
* [saveCurrentConfiguration](#savecurrentconfiguration)
* [selectComponent](#selectcomponent)
* [setActiveGroupInView](#setactivegroupinview)
* [setActiveGroupInViewForPlanObject](#setactivegroupinviewforplanobject)
* [setCameraOffset](#setcameraoffset)
* [setComponentParameter](#setcomponentparameter)
* [setEnvironmentMap](#setenvironmentmap)
* [setOverrides](#setoverrides)
* [setParameter](#setparameter)
* [setParameterOfPlanObject](#setparameterofplanobject)
* [setParameterOfRootComponent](#setparameterofrootcomponent)
* [showDimensions](#showdimensions)
* [showGUI](#showgui)
* [showStats](#showstats)
* [syncCatalog](#synccatalog)
* [syncFloorTag](#syncfloortag)
* [syncTypeChangeTag](#synctypechangetag)
* [undo](#undo)
* [updateParameters](#updateparameters)
* [updatePossibleChildren](#updatepossiblechildren)
* [updateScene](#updatescene)
* [updateSize](#updatesize)
* [zoomIn](#zoomin)
* [zoomOut](#zoomout)

## Constructors

### constructor

• **new default**<`P`>(`creator`, `activePlugins?`)

#### Type parameters

| Name | Type                                                    |
| ---- | ------------------------------------------------------- |
| `P`  | extends readonly `"external-objects"`\[] = readonly \[] |

#### Parameters

| Name             | Type     |
| ---------------- | -------- |
| `creator`        | `string` |
| `activePlugins?` | `P`      |

## Properties

### \_creator\_

• **\_creator\_**: `string`

#### Implementation of

[Context](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_configurator._internal_.context).[*creator*](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_configurator._internal_.context#_creator_)

## Accessors

### callbacks

• `get` **callbacks**(): [`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_services_configurator_ui_callback.default)

Use this callbacks to hook in your functionality

#### Returns

[`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_services_configurator_ui_callback.default)

#### Implementation of

[ExternalEmbeddable](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_configurator._internal_.externalembeddable).[callbacks](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_configurator._internal_.externalembeddable#callbacks)

## Methods

### calcPartsPriceSum

▸ **calcPartsPriceSum**(`partList`): `Promise`<[`KernelPartListPrice`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelpartlistprice)>

#### Parameters

| Name       | Type                                                                                                                        |
| ---------- | --------------------------------------------------------------------------------------------------------------------------- |
| `partList` | [`KernelPartList`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelpartlist) |

#### Returns

`Promise`<[`KernelPartListPrice`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelpartlistprice)>

***

### cancelDockings

▸ **cancelDockings**(): `void`

Remove/cancel all dockings/ghosts

#### Returns

`void`

***

### cancelSelection

▸ **cancelSelection**(`«destructured»?`): `void`

Cancels the selection of all currently selected components

#### Parameters

| Name             | Type                                                                                                                                                      |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `«destructured»` | `Object`                                                                                                                                                  |
| › `reason?`      | [`CancelSelectionReasons`](https://docs.roomle.com/rubens/rubens-sdk/modules/configurator_core_src_roomle_configurator._internal_#cancelselectionreasons) |
| › `resetCamera?` | `boolean`                                                                                                                                                 |

#### Returns

`void`

***

### changeFloorMaterial

▸ **changeFloorMaterial**(`material`): `Promise`<`void`>

Sets the material of the floor to the given RapiMaterial.\
If the current environment is not floor environment it will be changed

#### Parameters

| Name       | Type                                                                                                                        |
| ---------- | --------------------------------------------------------------------------------------------------------------------------- |
| `material` | [`RapiMaterial`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapimaterial) |

#### Returns

`Promise`<`void`>

promise that resolves when material has been changed

***

### changeFloorMaterialById

▸ **changeFloorMaterialById**(`materialId`): `Promise`<`void`>

Sets the material of the floor to the given material id.\
If the current environment is not floor environment it will be changed

Example material ids are:\
roomle\_floor:DresdenEiche\
roomle\_floor:Ibiza\
roomle\_floor:Palma\
roomle\_floor:Elba\
roomle\_floor:Manacor\
roomle\_floor:KernEiche\
roomle\_floor:KieferScandic\
roomle\_floor:EicheHabsburg\
roomle\_floor:FuldaKiefer\
roomle\_floor:Ashton\
roomle\_floor:EicheLondon

#### Parameters

| Name         | Type     |
| ------------ | -------- |
| `materialId` | `string` |

#### Returns

`Promise`<`void`>

promise that resolves when material has been changed

***

### changeOffset

▸ **changeOffset**(`offset`): `void`

Change the camera offset

#### Parameters

| Name     | Type                                                                                                                                       |
| -------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `offset` | [`CanvasOffset`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_common_interfaces.canvasoffset) |

#### Returns

`void`

***

### cleanup

▸ **cleanup**(`options?`): `void`

Clears the scene and all components/meshes.\
Also unregisters configurator callbacks in kernel.

#### Parameters

| Name      | Type                                                                                                                                                              | Description    |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
| `options` | [`CleanupOptions`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.cleanupoptions) | CleanupOptions |

#### Returns

`void`

***

### clearHistory

▸ **clearHistory**(): `void`

clears current configurator history

#### Returns

`void`

***

### disableEvents

▸ **disableEvents**(): `void`

#### Returns

`void`

***

### disableHDGeometry

▸ **disableHDGeometry**(): `Promise`<`void` | [`ConfigurationLoadedResponse`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.configurationloadedresponse)>

Disable the use of HD Geometry

#### Returns

`Promise`<`void` | [`ConfigurationLoadedResponse`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.configurationloadedresponse)>

***

### disableMultiselect

▸ **disableMultiselect**(): `void`

Disable selection of multiple components. By default only one component can be selected at a time

#### Returns

`void`

***

### downloadHomagIxExportPoC

▸ **downloadHomagIxExportPoC**(): `Promise`<`any`>

#### Returns

`Promise`<`any`>

***

### enableDebugging

▸ **enableDebugging**(): `void`

#### Returns

`void`

#### Implementation of

[ConfiguratorDebugAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.configuratordebugapi).[enableDebugging](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.configuratordebugapi#enabledebugging)

***

### enableEvents

▸ **enableEvents**(): `void`

#### Returns

`void`

***

### enableHDGeometry

▸ **enableHDGeometry**(): `Promise`<`void` | [`ConfigurationLoadedResponse`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.configurationloadedresponse)>

Enable the use of HD geometry. Also reloads the object with HD geometry enabled

#### Returns

`Promise`<`void` | [`ConfigurationLoadedResponse`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.configurationloadedresponse)>

***

### enableMeshSelection

▸ **enableMeshSelection**(`enabled`): `void`

By default the outline pass uses the bounding box mesh of each component to highlight the object.\
When mesh selection is enabled, the meshes of the object are used directly.\
This is the recommended setting for non square/rectangular (shelf) components like sofas.

#### Parameters

| Name      | Type      |
| --------- | --------- |
| `enabled` | `boolean` |

#### Returns

`void`

***

### enableMultiselect

▸ **enableMultiselect**(): `void`

Enable the selection of multiple components.\
Common parameters shared between those components can then be changed at once

#### Returns

`void`

#### Implementation of

[RubensAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.rubensapi).[enableMultiselect](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.rubensapi#enablemultiselect)

***

### exportCanvasScreenshot

▸ **exportCanvasScreenshot**(`quality?`): `Promise`<`string`>

#### Parameters

| Name       | Type     |
| ---------- | -------- |
| `quality?` | `number` |

#### Returns

`Promise`<`string`>

#### Implementation of

[RubensAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.rubensapi).[exportCanvasScreenshot](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.rubensapi#exportcanvasscreenshot)

***

### exportImageFromCamera

▸ **exportImageFromCamera**(`filename?`, `shouldWaitForAssets?`): `Promise`<`void`>

#### Parameters

| Name                  | Type      | Default value |
| --------------------- | --------- | ------------- |
| `filename`            | `string`  | `'image'`     |
| `shouldWaitForAssets` | `boolean` | `false`       |

#### Returns

`Promise`<`void`>

#### Implementation of

[RubensAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.rubensapi).[exportImageFromCamera](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.rubensapi#exportimagefromcamera)

***

### formatValueToUnitString

▸ **formatValueToUnitString**(`value`, `parameter`): `string` | `number`

Returns the formatted value based on the parameter.unitType

#### Parameters

| Name        | Type                                                                                                                          |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `value`     | `number`                                                                                                                      |
| `parameter` | [`KernelParameter`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelparameter) |

#### Returns

`string` | `number`

***

### generateHOMAGiXExport

▸ **generateHOMAGiXExport**(`defaultExportDefinition?`, `homagIxOrderData?`, `homagIxHeaderParams?`, `homagIxArticleParams?`): `Promise`<`string`>

#### Parameters

| Name                      | Type                                                                                                                                                                          | Default value |
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
| `defaultExportDefinition` | `string`                                                                                                                                                                      | `''`          |
| `homagIxOrderData`        | [`HomagIxOrderParams`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.homagixorderparams)     | `{}`          |
| `homagIxHeaderParams`     | [`HomagIxHeaderParams`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.homagixheaderparams)   | `{}`          |
| `homagIxArticleParams`    | [`HomagIxArticleParams`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.homagixarticleparams) | `{}`          |

#### Returns

`Promise`<`string`>

***

### generateHomagIxExport

▸ **generateHomagIxExport**(`exportType`, `defaultExportDefinition?`): `Promise`<`any`>

#### Parameters

| Name                      | Type                                                                                                           | Default value |
| ------------------------- | -------------------------------------------------------------------------------------------------------------- | ------------- |
| `exportType`              | [`ExportType`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/enums/typings_kernel.exporttype) | `undefined`   |
| `defaultExportDefinition` | `string`                                                                                                       | `''`          |

#### Returns

`Promise`<`any`>

***

### generateIMOSiXExport

▸ **generateIMOSiXExport**(`defaultExportDefinition?`): `Promise`<`any`>

#### Parameters

| Name                      | Type     | Default value |
| ------------------------- | -------- | ------------- |
| `defaultExportDefinition` | `string` | `''`          |

#### Returns

`Promise`<`any`>

***

### generateImagesOfCurrentConfiguration

▸ **generateImagesOfCurrentConfiguration**(): `Promise`<`object`>

Generates images of the current configuration

#### Returns

`Promise`<`object`>

Promise containing the `topImage`, `perspectgetAdditionalContentsOfiveImage` and a boolean `isLocally` which indicates if the images were generated while being offline

***

### generateProductionServiceExport

▸ **generateProductionServiceExport**(`defaultExportDefinition?`): `Promise`<`any`>

#### Parameters

| Name                      | Type     | Default value |
| ------------------------- | -------- | ------------- |
| `defaultExportDefinition` | `string` | `''`          |

#### Returns

`Promise`<`any`>

***

### generateTCExport

▸ **generateTCExport**(`defaultExportDefinition?`): `Promise`<`any`>

#### Parameters

| Name                      | Type     | Default value |
| ------------------------- | -------- | ------------- |
| `defaultExportDefinition` | `string` | `''`          |

#### Returns

`Promise`<`any`>

***

### getAdditionalContentsOf

▸ **getAdditionalContentsOf**(`rapiItems`): `Promise`<[`RapiAdditionalContent`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapiadditionalcontent)\[]>

It is possible to add additional content to a configurable-item in our backend\
for example, product images, product videos etc. To fetch them you can use this method

#### Parameters

| Name        | Type                                                                                                                   |
| ----------- | ---------------------------------------------------------------------------------------------------------------------- |
| `rapiItems` | [`RapiItem`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapiitem)\[] |

#### Returns

`Promise`<[`RapiAdditionalContent`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapiadditionalcontent)\[]>

***

### getCameraOffset

▸ **getCameraOffset**(): [`CanvasOffset`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_common_interfaces.canvasoffset)

Gets the available screen space for our item\
default: 'left: 0, top: 1, right: 1, bottom: 0'

#### Returns

[`CanvasOffset`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_common_interfaces.canvasoffset)

#### Implementation of

[GlobalAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.globalapi).[getCameraOffset](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.globalapi#getcameraoffset)

***

### getChildrenOfPlanComponent

▸ **getChildrenOfPlanComponent**(`componentRuntimeId`, `onlyPossible?`, `onlyVisible?`): `Promise`<{ `defaultChild`: [`UiPossibleChild`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.uipossiblechild) ; `tags`: [`UiPossibleChildTag`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.uipossiblechildtag)\[] }>

Returns all possible children and the default child for a given component

#### Parameters

| Name                 | Type      | Default value |
| -------------------- | --------- | ------------- |
| `componentRuntimeId` | `number`  | `undefined`   |
| `onlyPossible`       | `boolean` | `false`       |
| `onlyVisible`        | `boolean` | `false`       |

#### Returns

`Promise`<{ `defaultChild`: [`UiPossibleChild`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.uipossiblechild) ; `tags`: [`UiPossibleChildTag`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.uipossiblechildtag)\[] }>

***

### getChildrenOfPlanObject

▸ **getChildrenOfPlanObject**(`onlyPossible?`, `onlyVisible?`): `Promise`<{ `defaultChild`: [`UiPossibleChild`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.uipossiblechild) ; `tags`: [`UiPossibleChildTag`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.uipossiblechildtag)\[] }>

Returns all possible children and the default child for the plan object

#### Parameters

| Name           | Type      | Default value |
| -------------- | --------- | ------------- |
| `onlyPossible` | `boolean` | `false`       |
| `onlyVisible`  | `boolean` | `false`       |

#### Returns

`Promise`<{ `defaultChild`: [`UiPossibleChild`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.uipossiblechild) ; `tags`: [`UiPossibleChildTag`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.uipossiblechildtag)\[] }>

***

### getComponent

▸ **getComponent**(`componentRuntimeId`): [`KernelComponent`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelcomponent)

Returns the KernelComponent object for the given componentRuntimeId

#### Parameters

| Name                 | Type     |
| -------------------- | -------- |
| `componentRuntimeId` | `number` |

#### Returns

[`KernelComponent`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelcomponent)

***

### getConfiguratorContext

▸ **getConfiguratorContext**(): [`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.default-7)

returns class containing configurator specific data properties

#### Returns

[`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.default-7)

***

### getConfiguratorSettings

▸ **getConfiguratorSettings**(): `Promise`<[`RapiConfiguratorSettings`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapiconfiguratorsettings)>

Get the data which is assigned to the configurator object, especially things like allowed hosts

#### Returns

`Promise`<[`RapiConfiguratorSettings`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapiconfiguratorsettings)>

***

### getCurrentConfiguration

▸ **getCurrentConfiguration**(): `Promise`<`string`>

#### Returns

`Promise`<`string`>

Promise with the current configuration string/hash

***

### getCurrentConfigurationHash

▸ **getCurrentConfigurationHash**(): `Promise`<`string`>

returns the current configuration hash, this can be used for analytics or other stuff like caching etc

#### Returns

`Promise`<`string`>

string current configuration hash

***

### getCurrentSelection

▸ **getCurrentSelection**(): `string`\[]

#### Returns

`string`\[]

***

### getHashOfSerializedConfiguration

▸ **getHashOfSerializedConfiguration**(`serializedConfiguration`): `string`

Returns the hash of the given serialized configuration

#### Parameters

| Name                      | Type     |
| ------------------------- | -------- |
| `serializedConfiguration` | `string` |

#### Returns

`string`

***

### getParameterGroups

▸ **getParameterGroups**(): [`KernelParameterGroup`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelparametergroup)\[]

Get all parameter groups defined on the component, even if it has no parameters assigned

#### Returns

[`KernelParameterGroup`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelparametergroup)\[]

***

### getParametersOfComponent

▸ **getParametersOfComponent**(`componentRuntimeId`): [`UiKernelParameter`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.uikernelparameter)\[]

Returns parameters of the component including groups

#### Parameters

| Name                 | Type     |
| -------------------- | -------- |
| `componentRuntimeId` | `number` |

#### Returns

[`UiKernelParameter`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.uikernelparameter)\[]

***

### getParametersOfPlanObject

▸ **getParametersOfPlanObject**(): `Promise`<[`KernelParameter`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelparameter)\[]>

Returns all parameters which correspond to the plan object. This is also exposed for embedding

#### Returns

`Promise`<[`KernelParameter`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelparameter)\[]>

***

### getParametersOfRootComponent

▸ **getParametersOfRootComponent**(): `Promise`<[`KernelParameter`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelparameter)\[]>

Returns all parameters which correspond to the root component. This is also exposed for embedding

#### Returns

`Promise`<[`KernelParameter`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelparameter)\[]>

***

### getRuntimeComponentIdOfRootComponent

▸ **getRuntimeComponentIdOfRootComponent**(): `number`

Returns the runtime component id of root component of the current plan object

#### Returns

`number`

number the number of the runtime id of the root component

#### Implementation of

[KernelUtilityForUi](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.kernelutilityforui).[getRuntimeComponentIdOfRootComponent](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.kernelutilityforui#getruntimecomponentidofrootcomponent)

***

### getScene

▸ **getScene**(): `Scene`

Returns the three.js scene (<https://threejs.org/docs/#api/en/scenes/Scene)\\>
WARNING: This is the actual scene (reference) and not a copy!

#### Returns

`Scene`

#### Implementation of

[GlobalAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.globalapi).[getScene](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.globalapi#getscene)

***

### getShortUrlOfCurrentConfiguration

▸ **getShortUrlOfCurrentConfiguration**(): `Promise`<`string`>

#### Returns

`Promise`<`string`>

Promise containing the short url for the current configuration

***

### getStorage

▸ **getStorage**(): [`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.default-1)

returns manager class to interface with indexedDB storage

#### Returns

[`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.default-1)

#### Implementation of

[RubensAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.rubensapi).[getStorage](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.rubensapi#getstorage)

***

### getTagById

▸ **getTagById**(`tagId`, `options?`): `Promise`<[`RapiTagForUi`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapitagforui)>

Get tag for a given tag id

#### Parameters

| Name              | Type                                                                                                                                             | Description                 |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------- |
| `tagId`           | `string`                                                                                                                                         |                             |
| `options?`        | `Object`                                                                                                                                         | `{ include: RAPI_PATHS[] }` |
| `options.include` | [`RAPI_PATHS`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/enums/configurator_core_src_configurator._internal_.rapi_paths)\[] | -                           |

#### Returns

`Promise`<[`RapiTagForUi`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapitagforui)>

Promise containing the tag including items and materials for that tag

***

### getTools

▸ **getTools**(): `Promise`<[`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.default-11)>

#### Returns

`Promise`<[`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.default-11)>

***

### getUnitFormatter

▸ **getUnitFormatter**(): [`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.default)

returns unit formatter for formatting input und output values in scene

#### Returns

[`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.default)

#### Implementation of

[GlobalAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.globalapi).[getUnitFormatter](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.globalapi#getunitformatter)

***

### hideDimensions

▸ **hideDimensions**(): `void`

Hides dimensions when they are shown (see [showDimensions](#showdimensions)).\
Calling hideDimensions does not force dimensions to be always hidden.

See [@roomle/web-sdk/configurator-core/src/services/configurator-ui-callback#ConfiguratorUiCallbacks.onDimensionsVisibilityChange](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/modules/configurator_core_src_roomle_configurator) to get notified when dimension visibility changes

#### Returns

`void`

***

### highlightParts

▸ **highlightParts**(`ids`): `void`

Highlight parts in the scene with the given ids\
Use empty array to remove highlights

#### Parameters

| Name  | Type        |
| ----- | ----------- |
| `ids` | `number`\[] |

#### Returns

`void`

***

### init

▸ **init**(`element`, `initData?`): `Promise`<`void`>

This method has to be called before configurator is ready to use

#### Parameters

| Name        | Type                                                                                                                                             | Description                           |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------- |
| `element`   | `HTMLElement`                                                                                                                                    | which should contain the configurator |
| `initData?` | [`InitDataDefinition`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_utils_shims.initdatadefinition) |                                       |

#### Returns

`Promise`<`void`>

Promise which is resolved when configurator is initialized

***

### initSceneManager

▸ **initSceneManager**(`sceneManager?`): `void`

#### Parameters

| Name            | Type                                                                                                                                                |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `sceneManager?` | [`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.default-10) |

#### Returns

`void`

***

### isReady

▸ **isReady**(): `void`

#### Returns

`void`

#### Implementation of

[ConfiguratorKernelAccessCallbackI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.configuratorkernelaccesscallbacki).[isReady](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.configuratorkernelaccesscallbacki#isready)

***

### loadComponentIntoKernel

▸ **loadComponentIntoKernel**(`componentString`): `Promise`<`void`>

Loads the component (defined as string) into the kernel

#### Parameters

| Name              | Type     |
| ----------------- | -------- |
| `componentString` | `string` |

#### Returns

`Promise`<`void`>

Promise which gets resolved when the component has been loaded

***

### loadConfigurableItemById

▸ **loadConfigurableItemById**(`itemId`, `initData?`): `Promise`<[`ConfigurationLoadedResponse`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.configurationloadedresponse)>

Loads a configuration based on the item id

#### Parameters

| Name        | Type                                                                                                                                             |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `itemId`    | `string`                                                                                                                                         |
| `initData?` | [`InitDataDefinition`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_utils_shims.initdatadefinition) |

#### Returns

`Promise`<[`ConfigurationLoadedResponse`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.configurationloadedresponse)>

***

### loadConfiguration

▸ **loadConfiguration**(`configuration`, `initData?`): `Promise`<[`ConfigurationLoadedResponse`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.configurationloadedresponse)>

Loads an item based on a configuration string

For example: `{'componentId":"muuto:Muuto-Stacked'}`

#### Parameters

| Name            | Type                                                                                                                                             |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `configuration` | `string`                                                                                                                                         |
| `initData?`     | [`InitDataDefinition`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_utils_shims.initdatadefinition) |

#### Returns

`Promise`<[`ConfigurationLoadedResponse`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.configurationloadedresponse)>

***

### loadConfigurationById

▸ **loadConfigurationById**(`configurationId`, `initData?`): `Promise`<[`ConfigurationLoadedResponse`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.configurationloadedresponse)>

Loads an item based on a configuration hash

For example: `koinor:FORMIA_LeftGroup:79FBF0D6C79A2598B5FF943111EA29DC0C6884AA97F4383582B47F69C14DDB2C`

#### Parameters

| Name              | Type                                                                                                                                             |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `configurationId` | `string`                                                                                                                                         |
| `initData?`       | [`InitDataDefinition`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_utils_shims.initdatadefinition) |

#### Returns

`Promise`<[`ConfigurationLoadedResponse`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.configurationloadedresponse)>

***

### loadDynamicLightSetting

▸ **loadDynamicLightSetting**(`source`): `Promise`<`void`>

Loads a dynamic light settings into the scene. The dynamic light setting source can be an\
object (js), json, or an url (url to json). See [@roomle/web-sdk/configurator-core/src/scene-settings-loader#SceneSettings](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/modules/configurator_core_src_roomle_configurator) how to define it.

Exampe:

```
{
 "lights": [
   {
     "type": "rectarea",
     "name": "main",
     "intensity": 240,
     "color": "#ffffff",
     "position": {
       "x": -0.5,
       "y": 6,
       "z": 3
     },
     "target": {
       "x": 0,
       "y": 0,
       "z": 0
     },
     "castShadow": true,
     "width": 0.8,
     "height": 0.8
   },
   {
     "type": "spot",
     "name": "side",
     "intensity": 0.3,
     "color": "#ffffff",
     "position": {
       "x": 2,
       "y": 3,
       "z": 1.5
     },
     "target": {
       "x": 0,
       "y": 0.1,
       "z": 0
     },
     "castShadow": false,
     "angle": 50,
     "penumbra": 0.5
   },
   {
     "type": "ambient",
     "name": "ambient",
     "intensity": 0.3,
     "color": "#ffffff",
     "position": {
       "x": 0,
       "y": 0,
       "z": 0
     }
   }
 ]
}
```

#### Parameters

| Name     | Type                                                                                                                                                                                         |
| -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `source` | [`DynamicLightSettingSource`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_lightsetting_dynamic_light_setting_loader.dynamiclightsettingsource) |

#### Returns

`Promise`<`void`>

***

### loadError

▸ **loadError**(`error?`): `void`

#### Parameters

| Name     | Type  |
| -------- | ----- |
| `error?` | `any` |

#### Returns

`void`

#### Implementation of

[ConfiguratorKernelAccessCallbackI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.configuratorkernelaccesscallbacki).[loadError](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.configuratorkernelaccesscallbacki#loaderror)

***

### loadSceneSetting

▸ **loadSceneSetting**(`sceneSettings`): `Promise`<`void`>

Loads a SceneSettings object, currently it can can contain a light setting definition\
(see [@roomle/web-sdk/configurator-core/src/roomle-configurator#RoomleConfigurator.loadDynamicLightSetting](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/modules/configurator_core_src_roomle_configurator)) and an environment definition (see [@roomle/web-sdk/configurator-core/src/environment/dynamic-environment-setting-loader#EnvironmentSetting](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/modules/configurator_core_src_roomle_configurator)).

#### Parameters

| Name            | Type                                                                                                                                             |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `sceneSettings` | [`SceneSettings`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_scene_settings_loader.scenesettings) |

#### Returns

`Promise`<`void`>

***

### moveCamera

▸ **moveCamera**(`cameraParameter`): `Promise`<`void`>

#### Parameters

| Name              | Type                                                                                                                                                                |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `cameraParameter` | [`CameraParameter`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.cameraparameter) |

#### Returns

`Promise`<`void`>

***

### notifyUiAboutNewLabel

▸ **notifyUiAboutNewLabel**(`id`): `void`

#### Parameters

| Name | Type     |
| ---- | -------- |
| `id` | `string` |

#### Returns

`void`

***

### pauseKernelCallbacks

▸ **pauseKernelCallbacks**(): `void`

#### Returns

`void`

***

### preLoadConfigurableItemById

▸ **preLoadConfigurableItemById**(`itemId`): `Promise`<[`RapiItem`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapiitem)>

Downloads and caches the selected item id for faster use

#### Parameters

| Name     | Type     |
| -------- | -------- |
| `itemId` | `string` |

#### Returns

`Promise`<[`RapiItem`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapiitem)>

***

### preLoadConfigurationById

▸ **preLoadConfigurationById**(`configurationId`): `Promise`<[`RapiConfiguration`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapiconfiguration)>

Downloads and caches the selected configuration id for faster use

#### Parameters

| Name              | Type     |
| ----------------- | -------- |
| `configurationId` | `string` |

#### Returns

`Promise`<[`RapiConfiguration`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapiconfiguration)>

***

### preparePartImage

▸ **preparePartImage**(`partId`, `options?`): `Promise`<[`Base64Image`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_common_interfaces.base64image)>

Generates an image of one part (slightly from the side) and returns it as base 64\
WARNING: It's only possible to render one sub part at a time\
\*

#### Parameters

| Name       | Type                                                                                                                                                                                    | Description                                                                                   |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| `partId`   | `number`                                                                                                                                                                                | id of the sub part, received from part list \*                                                |
| `options?` | `number` \| [`PrepareImageOptions`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.prepareimageoptions) | size of the rendered image in pixel (default is 256), will render faster when size is smaller |

#### Returns

`Promise`<[`Base64Image`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_common_interfaces.base64image)>

***

### preparePerspectiveImage

▸ **preparePerspectiveImage**(`options?`): `Promise`<[`Base64Image`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_common_interfaces.base64image)>

Generates a perspective image (slightly from the side) and returns it as base 64

#### Parameters

| Name      | Type                                                                                                                                                                        |
| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `options` | [`PrepareImageOptions`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.prepareimageoptions) |

#### Returns

`Promise`<[`Base64Image`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_common_interfaces.base64image)>

***

### prepareTopImage

▸ **prepareTopImage**(`options?`): `Promise`<[`Base64Image`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_common_interfaces.base64image)>

Generates a top image (birds perspective) and returns it as base 64

#### Parameters

| Name       | Type                                                                                                                                                                                     | Description                         |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
| `options?` | `boolean` \| [`PrepareImageOptions`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.prepareimageoptions) | should object dimensions be visible |

#### Returns

`Promise`<[`Base64Image`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_common_interfaces.base64image)>

***

### previewDockings

▸ **previewDockings**(`possibleChild`, `dragEvent?`, `dragIn?`): `void`

Shows dockings/ghosts for the selected possible child

#### Parameters

| Name            | Type                                                                                                                          |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `possibleChild` | [`UiPossibleChild`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.uipossiblechild) |
| `dragEvent?`    | `DragEvent`                                                                                                                   |
| `dragIn?`       | `boolean`                                                                                                                     |

#### Returns

`void`

***

### redo

▸ **redo**(): `Promise`<`void`>

Redo last action\
calls configuratorHistory.redo where array of last configuration are stored\
only possible if undo was called before

#### Returns

`Promise`<`void`>

***

### removeTypeChangeTag

▸ **removeTypeChangeTag**(`rapiId`): `void`

After calling this method the UiCallback removeTypeChangeTag is triggered (see: [@roomle/web-sdk/configurator-core/src/services/configurator-ui-callback#ConfiguratorUiCallbacks.onRemoveTypeChangeTag](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/modules/configurator_core_src_roomle_configurator))

#### Parameters

| Name     | Type     |
| -------- | -------- |
| `rapiId` | `string` |

#### Returns

`void`

***

### renderImage

▸ **renderImage**(`renderOptions`): `Promise`<[`Base64Image`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_common_interfaces.base64image)>

Renders the current item in high quality, it also uses the current lightsetting

#### Parameters

| Name            | Type                                                      |
| --------------- | --------------------------------------------------------- |
| `renderOptions` | `Partial`<{ `useCurrentPerspective`: `boolean` = false }> |

#### Returns

`Promise`<[`Base64Image`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_common_interfaces.base64image)>

***

### requestAsset

▸ **requestAsset**(`url`): `string`

Returns same url when online or caches url when offline

#### Parameters

| Name  | Type     |
| ----- | -------- |
| `url` | `string` |

#### Returns

`string`

***

### requestDeleteComponent

▸ **requestDeleteComponent**(): `void`

Deletes the currently selected component if possible

#### Returns

`void`

***

### resetCameraPosition

▸ **resetCameraPosition**(): `void`

Resets the camera back to the start position

#### Returns

`void`

#### Implementation of

[RubensAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.rubensapi).[resetCameraPosition](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.rubensapi#resetcameraposition)

***

### resumeKernelCallbacks

▸ **resumeKernelCallbacks**(): `void`

#### Returns

`void`

***

### saveCurrentConfiguration

▸ **saveCurrentConfiguration**(): `Promise`<[`SaveCurrentConfigurationReturnType`](https://docs.roomle.com/rubens/rubens-sdk/modules/configurator_core_src_roomle_configurator._internal_#savecurrentconfigurationreturntype)<`P`>>

Saves the current configuration (parameters etc)\
and returns a new configuration object including the configuration hash

#### Returns

`Promise`<[`SaveCurrentConfigurationReturnType`](https://docs.roomle.com/rubens/rubens-sdk/modules/configurator_core_src_roomle_configurator._internal_#savecurrentconfigurationreturntype)<`P`>>

***

### selectComponent

▸ **selectComponent**(`runtimeId`): `Promise`<`void`>

Select a component by runtime id. You can retrieve this ID from partlist etc\
If it's already selected it will be deselected to mimic the behavior of click/touch

#### Parameters

| Name        | Type     | Description                                                                         |
| ----------- | -------- | ----------------------------------------------------------------------------------- |
| `runtimeId` | `number` | number, the runtime id of the component. You can retrieve this ID from partlist etc |

#### Returns

`Promise`<`void`>

***

### setActiveGroupInView

▸ **setActiveGroupInView**(`group`): `void`

Set the name of the parameter group which is selected at the moment

#### Parameters

| Name    | Type     |
| ------- | -------- |
| `group` | `string` |

#### Returns

`void`

***

### setActiveGroupInViewForPlanObject

▸ **setActiveGroupInViewForPlanObject**(`group`, `runtimeId?`): `void`

Set the name of the parameter group which is selected at the moment

#### Parameters

| Name         | Type     |
| ------------ | -------- |
| `group`      | `string` |
| `runtimeId?` | `number` |

#### Returns

`void`

***

### setCameraOffset

▸ **setCameraOffset**(`offset`): `void`

Sets the available screen space for our item\
Example 1: right 0.9 means 10% padding on the right side\
Example 2: bottom 0.2 means 20% padding on the bottom side\
default: 'left: 0, top: 1, right: 1, bottom: 0'

#### Parameters

| Name     | Type                                                                                                                                       |
| -------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `offset` | [`CanvasOffset`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_common_interfaces.canvasoffset) |

#### Returns

`void`

#### Implementation of

[GlobalAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.globalapi).[setCameraOffset](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.globalapi#setcameraoffset)

***

### setComponentParameter

▸ **setComponentParameter**(`runtimeId`, `parameter`, `value`): `Promise`<`void`>

Sets the parameter of the component by it's runtime id\
parameters of the plan object are set

#### Parameters

| Name        | Type                                                                                                                          | Description                                                                                                                                            |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `runtimeId` | `number`                                                                                                                      | number, the runtime id of the component. You can retrieve this ID from partlist etc                                                                    |
| `parameter` | [`KernelParameter`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelparameter) | an instance of the kernel parameter we want to set, use 'key: "your-key"' if you do not have a kernel instance and do not need validation of the input |
| `value`     | `string`                                                                                                                      | the value we want to set on the parameter as string                                                                                                    |

#### Returns

`Promise`<`void`>

***

### setEnvironmentMap

▸ **setEnvironmentMap**(`params`): `void`

#### Parameters

| Name                      | Type     |
| ------------------------- | -------- |
| `params`                  | `Object` |
| `params.intensity?`       | `number` |
| `params.maxLightSources?` | `number` |
| `params.rotation?`        | `number` |
| `params.url?`             | `string` |

#### Returns

`void`

#### Implementation of

[GlobalAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.globalapi).[setEnvironmentMap](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.globalapi#setenvironmentmap)

***

### setOverrides

▸ **setOverrides**(`initData`): `void`

Set general configuration parameter

#### Parameters

| Name       | Type                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `initData` | [`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_configurator._internal_.default-9) \| `Partial`<[`InitDataDefinition`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_utils_shims.initdatadefinition) & [`GlobalInitDataDefinition`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_utils_shims.globalinitdatadefinition)> |

#### Returns

`void`

***

### setParameter

▸ **setParameter**(`parameter`, `value`, `isRaw?`): `Promise`<`void`>

Sets the parameter of the selected component. If nothing is selected the parameters of the\
parameters of the plan object are set

#### Parameters

| Name        | Type                                                                                                                          | Default value | Description                                                                                                                                            |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `parameter` | [`KernelParameter`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelparameter) | `undefined`   | an instance of the kernel parameter we want to set, use 'key: "your-key"' if you do not have a kernel instance and do not need validation of the input |
| `value`     | `string`                                                                                                                      | `undefined`   | the value we want to set on the parameter as string                                                                                                    |
| `isRaw`     | `boolean`                                                                                                                     | `false`       | turn this to true if you dont want the kernel to parse the value string, e.g. convert 100cm to 1000                                                    |

#### Returns

`Promise`<`void`>

***

### setParameterOfPlanObject

▸ **setParameterOfPlanObject**(`parameter`, `value`): `Promise`<`void`>

Method to set a parameter on the plan object. This is used by embedding as well

#### Parameters

| Name        | Type                                                                                                                          | Description                                                                                                                                            |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `parameter` | [`KernelParameter`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelparameter) | an instance of the kernel parameter we want to set, use 'key: "your-key"' if you do not have a kernel instance and do not need validation of the input |
| `value`     | `string`                                                                                                                      | the value we want to set on the parameter as string                                                                                                    |

#### Returns

`Promise`<`void`>

***

### setParameterOfRootComponent

▸ **setParameterOfRootComponent**(`parameter`, `value`): `Promise`<`void`>

Method to set a parameter on the root component. This is used by embedding as well

#### Parameters

| Name        | Type                                                                                                                          | Description                                                                                                                                            |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `parameter` | [`KernelParameter`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelparameter) | an instance of the kernel parameter we want to set, use 'key: "your-key"' if you do not have a kernel instance and do not need validation of the input |
| `value`     | `string`                                                                                                                      | the value we want to set on the parameter as string                                                                                                    |

#### Returns

`Promise`<`void`>

***

### showDimensions

▸ **showDimensions**(): `void`

Show dimensions (width, height, depth) of object

See [@roomle/web-sdk/configurator-core/src/services/configurator-ui-callback#ConfiguratorUiCallbacks.onDimensionsVisibilityChange](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/modules/configurator_core_src_roomle_configurator) to get notified when dimension visibility changes

#### Returns

`void`

***

### showGUI

▸ **showGUI**(): `void`

#### Returns

`void`

***

### showStats

▸ **showStats**(): `void`

Show overlay with statistic data for:\
fps\
memory in MB\
number of draw calls\
number of poly/triangle count\
number of geometries\
number of textures

#### Returns

`void`

***

### syncCatalog

▸ **syncCatalog**(`catalogId`): `Promise`<`void`>

Start sync of catalog to make it offline available

#### Parameters

| Name        | Type     |
| ----------- | -------- |
| `catalogId` | `string` |

#### Returns

`Promise`<`void`>

***

### syncFloorTag

▸ **syncFloorTag**(`tagId`): `Promise`<`void`>

Start sync of floor tag to make it offline available

#### Parameters

| Name    | Type     |
| ------- | -------- |
| `tagId` | `string` |

#### Returns

`Promise`<`void`>

***

### syncTypeChangeTag

▸ **syncTypeChangeTag**(`tagId`): `Promise`<`void`>

Start sync of type change tag to make it offline available

#### Parameters

| Name    | Type     |
| ------- | -------- |
| `tagId` | `string` |

#### Returns

`Promise`<`void`>

***

### undo

▸ **undo**(): `Promise`<`void`>

Undo last action\
calls configuratorHistory.undo where array of last configuration are stored

#### Returns

`Promise`<`void`>

***

### updateParameters

▸ **updateParameters**(`parameters`, `parameterGroups`, `elementId`, `parameterUpdateType`): `void`

#### Parameters

| Name                  | Type                                                                                                                                                            |
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `parameters`          | [`KernelParameter`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelparameter)\[]                                |
| `parameterGroups`     | [`KernelParameterGroup`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelparametergroup)\[]                      |
| `elementId`           | `number` \| `number`\[]                                                                                                                                         |
| `parameterUpdateType` | [`PARAMETER_UPDATE_TYPE`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/enums/configurator_core_src_roomle_configurator.parameter_update_type) |

#### Returns

`void`

#### Implementation of

[ConfiguratorKernelAccessCallbackI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.configuratorkernelaccesscallbacki).[updateParameters](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.configuratorkernelaccesscallbacki#updateparameters)

***

### updatePossibleChildren

▸ **updatePossibleChildren**(`elementId`, `children`, `parameterUpdateType?`): `Promise`<`void`>

#### Parameters

| Name                   | Type                                                                                                                                                            |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `elementId`            | `number`                                                                                                                                                        |
| `children`             | [`KernelPossibleChild`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelpossiblechild)\[]                        |
| `parameterUpdateType?` | [`PARAMETER_UPDATE_TYPE`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/enums/configurator_core_src_roomle_configurator.parameter_update_type) |

#### Returns

`Promise`<`void`>

#### Implementation of

[ConfiguratorKernelAccessCallbackI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.configuratorkernelaccesscallbacki).[updatePossibleChildren](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.configuratorkernelaccesscallbacki#updatepossiblechildren)

***

### updateScene

▸ **updateScene**(): `void`

Updates the scene (recalculating bounds) and restart rendering

#### Returns

`void`

#### Implementation of

[GlobalAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.globalapi).[updateScene](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.globalapi#updatescene)

***

### updateSize

▸ **updateSize**(): `void`

This function has to be called when the size of the container\
(the html element which has been used in the init method) changes\
It is VERY important to call this method because the SDK can not\
detect if the DOM element which embeds the canvas of the 3D scene\
changes in size

#### Returns

`void`

#### Implementation of

[GlobalAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.globalapi).[updateSize](https://docs.roomle.com/rubens/rubens-sdk/interfaces/configurator_core_src_roomle_configurator._internal_.globalapi#updatesize)

***

### zoomIn

▸ **zoomIn**(`value?`): `void`

Moves the camera closer to the object. Default value (when no value given) is 4, higher value moves a bigger distance.

#### Parameters

| Name     | Type     |
| -------- | -------- |
| `value?` | `number` |

#### Returns

`void`

***

### zoomOut

▸ **zoomOut**(`value?`): `void`

Moves the camera away from the object. Default value (when no value given) is 4, higher value moves a bigger distance.

#### Parameters

| Name     | Type     |
| -------- | -------- |
| `value?` | `number` |

#### Returns

`void`
