# RoomlePlanner.default

[planner-core/src/roomle-planner](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/modules/planner_core_src_roomle_planner).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

* [`KernelAccessCallbackI`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.kernelaccesscallbacki)
* [`RoomlePlannerCallback`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner.roomleplannercallback)
* [`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)
* [`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/planner_core_src_roomle_planner_ui_callback.default)>
* [`RubensAPI`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.rubensapi)
* [`ExternalObjectAPI`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi)

## Table of contents

### Constructors

* [constructor](#constructor)

### Properties

* [\_creator\_](#_creator_)

### Accessors

* [PlannerCoreTypes](#plannercoretypes)
* [callbacks](#callbacks)
* [hasSingleRoom](#hassingleroom)

### Methods

* [\_selectExternalObjectGroup](#_selectexternalobjectgroup)
* [\_selectExternalObjectModule](#_selectexternalobjectmodule)
* [addAtticToWall](#addattictowall)
* [back](#back)
* [backTo](#backto)
* [backToPlanner](#backtoplanner)
* [calcPartsPriceSum](#calcpartspricesum)
* [cancelSelection](#cancelselection)
* [changeExteriorWallsMaterial](#changeexteriorwallsmaterial)
* [changeFloorsMaterial](#changefloorsmaterial)
* [changeInteriorWallsMaterial](#changeinteriorwallsmaterial)
* [configureExternalObjectApi](#configureexternalobjectapi)
* [createNewSerializedConfiguration](#createnewserializedconfiguration)
* [createPlanFromObject](#createplanfromobject)
* [deleteSelection](#deleteselection)
* [disableAdvancedDocking](#disableadvanceddocking)
* [disableEvents](#disableevents)
* [disableMeasurementLineDrawing](#disablemeasurementlinedrawing)
* [disableMultiselect](#disablemultiselect)
* [disableRotation](#disablerotation)
* [disableShowChildrenOfPlanObject](#disableshowchildrenofplanobject)
* [disableSnapping](#disablesnapping)
* [disableWallDrawing](#disablewalldrawing)
* [downloadHomagIxExportPoC](#downloadhomagixexportpoc)
* [dragInObject](#draginobject)
* [drawWalls](#drawwalls)
* [duplicateItems](#duplicateitems)
* [enableAdvancedDocking](#enableadvanceddocking)
* [enableEvents](#enableevents)
* [enableMeasurementLineDrawing](#enablemeasurementlinedrawing)
* [enableMultiselect](#enablemultiselect)
* [enableRotation](#enablerotation)
* [enableShowChildrenOfPlanObject](#enableshowchildrenofplanobject)
* [enableSnapping](#enablesnapping)
* [enableWallDrawing](#enablewalldrawing)
* [escapeDrawing](#escapedrawing)
* [exportCanvasScreenshot](#exportcanvasscreenshot)
* [exportGLB](#exportglb)
* [exportImageFromCamera](#exportimagefromcamera)
* [formatValueToUnitString](#formatvaluetounitstring)
* [generateTCExport](#generatetcexport)
* [getAttachedAttic](#getattachedattic)
* [getCameraOffset](#getcameraoffset)
* [getConfigurator](#getconfigurator)
* [getConfiguratorApi](#getconfiguratorapi)
* [getConfiguratorContext](#getconfiguratorcontext)
* [getCurrentSkin](#getcurrentskin)
* [getExternalObjectGroups](#getexternalobjectgroups)
* [getObjects](#getobjects)
* [getPartlistOf](#getpartlistof)
* [getPlanInteractionHandler](#getplaninteractionhandler)
* [getPlanModelViewHelper](#getplanmodelviewhelper)
* [getPlanOverview](#getplanoverview)
* [getPlanXmlFrom](#getplanxmlfrom)
* [getRuntimeComponentIdOfRootComponent](#getruntimecomponentidofrootcomponent)
* [getScene](#getscene)
* [getStorage](#getstorage)
* [getUnitFormatter](#getunitformatter)
* [getWallAngleDegrees](#getwallangledegrees)
* [hasWalls](#haswalls)
* [highlightPlanElements](#highlightplanelements)
* [importGLB](#importglb)
* [init](#init)
* [insertItemList](#insertitemlist)
* [insertItems](#insertitems)
* [insertObject](#insertobject)
* [isCurrentlyDrawing](#iscurrentlydrawing)
* [isReady](#isready)
* [loadError](#loaderror)
* [loadExternalObjectGroup](#loadexternalobjectgroup)
* [loadExternalObjectLibrary](#loadexternalobjectlibrary)
* [loadPlan](#loadplan)
* [loadPlanXml](#loadplanxml)
* [moveCamera](#movecamera)
* [moveElementPosition](#moveelementposition)
* [moveElementsPosition](#moveelementsposition)
* [onCloseHSC](#onclosehsc)
* [openOrCloseGeometryOfExternalObject](#openorclosegeometryofexternalobject)
* [preparePerspectiveImage](#prepareperspectiveimage)
* [preparePerspectiveImageOf](#prepareperspectiveimageof)
* [prepareTopImage](#preparetopimage)
* [removeAttic](#removeattic)
* [removeElements](#removeelements)
* [removeExternalObjectGroup](#removeexternalobjectgroup)
* [removeExternalObjectRootModule](#removeexternalobjectrootmodule)
* [renderImagesOfExternalObjectGroup](#renderimagesofexternalobjectgroup)
* [resetCameraPosition](#resetcameraposition)
* [resolveShortUrl](#resolveshorturl)
* [rotateSelection](#rotateselection)
* [saveCurrentPlanSnapshot](#savecurrentplansnapshot)
* [saveExternalObjectSnapshot](#saveexternalobjectsnapshot)
* [selectExternalObjectGroup](#selectexternalobjectgroup)
* [selectExternalObjectRootModule](#selectexternalobjectrootmodule)
* [selectExternalObjectSubModule](#selectexternalobjectsubmodule)
* [selectPlanObjectById](#selectplanobjectbyid)
* [setAtticSide](#setatticside)
* [setCameraOffset](#setcameraoffset)
* [setEnvironmentMap](#setenvironmentmap)
* [setMeasurementLineLength](#setmeasurementlinelength)
* [setObjectToWallMeasurementLength](#setobjecttowallmeasurementlength)
* [setOverrides](#setoverrides)
* [setSceneEvents](#setsceneevents)
* [setWallMeasurementLength](#setwallmeasurementlength)
* [showBenchmarks](#showbenchmarks)
* [showGUI](#showgui)
* [showStats](#showstats)
* [showsChildrenOfPlanObject](#showschildrenofplanobject)
* [startConfiguring](#startconfiguring)
* [startViewing](#startviewing)
* [swapObject](#swapobject)
* [switch2D](#switch2d)
* [switch3D](#switch3d)
* [switchToConfigurator](#switchtoconfigurator)
* [switchToFirstPerson](#switchtofirstperson)
* [switchToPlanner](#switchtoplanner)
* [switchToViewer](#switchtoviewer)
* [syncCatalog](#synccatalog)
* [toggleConfigureInRoom](#toggleconfigureinroom)
* [update](#update)
* [updateAtticKneeHeight](#updateattickneeheight)
* [updateAtticWidth](#updateatticwidth)
* [updateScene](#updatescene)
* [updateSize](#updatesize)

## 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

### PlannerCoreTypes

• `get` **PlannerCoreTypes**(): [`PlannerKernelContainer`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_services_configurator_ui_callback._internal_.plannerkernelcontainer)

#### Returns

[`PlannerKernelContainer`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_services_configurator_ui_callback._internal_.plannerkernelcontainer)

an object which has all type constants from Roomle Core (C/C++)

***

### callbacks

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

#### Returns

[`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/planner_core_src_roomle_planner_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)

• `set` **callbacks**(`callback`): `void`

#### Parameters

| Name       | Type                                                                                                                                    |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `callback` | [`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/planner_core_src_roomle_planner_ui_callback.default) |

#### Returns

`void`

#### 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)

***

### hasSingleRoom

• `get` **hasSingleRoom**(): `boolean`

Check if the 3D scene contains only one room

#### Returns

`boolean`

True if there is only one room, false otherwise

## Methods

### \_selectExternalObjectGroup

▸ **\_selectExternalObjectGroup**(`groupId`, `switchToPlanner`): `Promise`<`void`>

#### Parameters

| Name              | Type      |
| ----------------- | --------- |
| `groupId`         | `string`  |
| `switchToPlanner` | `boolean` |

#### Returns

`Promise`<`void`>

***

### \_selectExternalObjectModule

▸ **\_selectExternalObjectModule**(`rootModuleId`, `subModuleId`, `selectPlanObject`, `switchToConfigurator`, `selectComponent`, `highlightSelection`): `Promise`<`void`>

#### Parameters

| Name                   | Type      |
| ---------------------- | --------- |
| `rootModuleId`         | `string`  |
| `subModuleId`          | `string`  |
| `selectPlanObject`     | `boolean` |
| `switchToConfigurator` | `boolean` |
| `selectComponent`      | `boolean` |
| `highlightSelection`   | `boolean` |

#### Returns

`Promise`<`void`>

***

### addAtticToWall

▸ **addAtticToWall**(`wall`, `kneeHeight`, `width`, `preferredSide?`): [`KernelAttic`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.kernelattic)

Creates a sloping roof attic on a given wall.

#### Parameters

| Name             | Type                                                                                                                                                      | Description                               |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- |
| `wall`           | [`KernelWall`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.kernelwall) | The wall to add an attic to.              |
| `kneeHeight`     | `number`                                                                                                                                                  | Height of the attic knee wall.            |
| `width`          | `number`                                                                                                                                                  | Width of the sloping roof.                |
| `preferredSide?` | [`WallSide`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.wallside)     | The side where the attic should be added. |

#### Returns

[`KernelAttic`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.kernelattic)

The newly created attic.

***

### back

▸ **back**(): `void`

#### Returns

`void`

***

### backTo

▸ **backTo**(`_cssClass`): `void`

#### Parameters

| Name        | Type     |
| ----------- | -------- |
| `_cssClass` | `string` |

#### Returns

`void`

***

### backToPlanner

▸ **backToPlanner**(): `void`

#### Returns

`void`

***

### 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)>

***

### cancelSelection

▸ **cancelSelection**(`reason?`): `void`

#### Parameters

| Name     | Type                                                                                                                                                      | Default value |
| -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
| `reason` | [`CancelSelectionReasons`](https://docs.roomle.com/rubens/rubens-sdk/modules/configurator_core_src_roomle_configurator._internal_#cancelselectionreasons) | `'unknown'`   |

#### Returns

`void`

#### Implementation of

RoomlePlannerCallback.cancelSelection

***

### changeExteriorWallsMaterial

▸ **changeExteriorWallsMaterial**(`material`): `void`

#### Parameters

| Name       | Type                                                                                                                                                 |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `material` | [`BatchPaintMaterial`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner.batchpaintmaterial) |

#### Returns

`void`

***

### changeFloorsMaterial

▸ **changeFloorsMaterial**(`material`): `void`

#### Parameters

| Name       | Type                                                                                                                                                 |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `material` | [`BatchPaintMaterial`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner.batchpaintmaterial) |

#### Returns

`void`

***

### changeInteriorWallsMaterial

▸ **changeInteriorWallsMaterial**(`material`): `void`

#### Parameters

| Name       | Type                                                                                                                                                 |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `material` | [`BatchPaintMaterial`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner.batchpaintmaterial) |

#### Returns

`void`

***

### configureExternalObjectApi

▸ **configureExternalObjectApi**(`configurationJson`): `Promise`<`void`>

With "configureExternalObjectApi" the default representation of the objects and UI and\
the default behavior when interacting with external objects can be completely or partially overwritten.\
This configuration should be set prior to loading plans or objects.

#### Parameters

| Name                | Type                                                                                                                                                                                                   | Description                                 |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------- |
| `configurationJson` | `string` \| [`ExternalObjectApiConfiguration`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_configurator._internal_.externalobjectapiconfiguration) | The configuration JSON as string or object. |

#### Returns

`Promise`<`void`>

#### Implementation of

[ExternalObjectAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi).[configureExternalObjectApi](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi#configureexternalobjectapi)

***

### createNewSerializedConfiguration

▸ **createNewSerializedConfiguration**(`configurationRuntimeId`): `Promise`<`string`>

#### Parameters

| Name                     | Type     |
| ------------------------ | -------- |
| `configurationRuntimeId` | `number` |

#### Returns

`Promise`<`string`>

***

### createPlanFromObject

▸ **createPlanFromObject**(`id`, `position?`, `rotation?`): `Promise`<`number`>

creates and loads a plan from a given object

#### Parameters

| Name        | Type                                                                                                                                 | Description                  |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------- |
| `id`        | `string`                                                                                                                             |                              |
| `position?` | [`Position3`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_common_interfaces.position3) |                              |
| `rotation?` | `number`                                                                                                                             | return the object runtime id |

#### Returns

`Promise`<`number`>

***

### deleteSelection

▸ **deleteSelection**(): `void`

#### Returns

`void`

#### Implementation of

RoomlePlannerCallback.deleteSelection

***

### disableAdvancedDocking

▸ **disableAdvancedDocking**(): `void`

disable docking of objects that fit together when objects are snapped in the plan

#### Returns

`void`

***

### disableEvents

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

#### Returns

`void`

***

### disableMeasurementLineDrawing

▸ **disableMeasurementLineDrawing**(): `void`

#### Returns

`void`

***

### disableMultiselect

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

Disable the selection of multiple elements.

#### Returns

`void`

***

### disableRotation

▸ **disableRotation**(): `void`

Disable rotation of selected elements

#### Returns

`void`

***

### disableShowChildrenOfPlanObject

▸ **disableShowChildrenOfPlanObject**(`planElementViewModel`): `void`

disable interaction with child components of configurable objects in the plan

#### Parameters

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

#### Returns

`void`

***

### disableSnapping

▸ **disableSnapping**(): `void`

disable all types of snapping

#### Returns

`void`

***

### disableWallDrawing

▸ **disableWallDrawing**(): `void`

#### Returns

`void`

***

### downloadHomagIxExportPoC

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

#### Returns

`Promise`<`any`>

***

### dragInObject

▸ **dragInObject**(`idOrSerializedConfigString`, `dragEvent`, `type?`): `Promise`<`number`>

#### Parameters

| Name                         | Type                                                                                                   | Default value |
| ---------------------------- | ------------------------------------------------------------------------------------------------------ | ------------- |
| `idOrSerializedConfigString` | `string`                                                                                               | `undefined`   |
| `dragEvent`                  | `DragEvent`                                                                                            | `undefined`   |
| `type`                       | [`ID_TYPE`](https://docs.roomle.com/rubens/rubens-sdk/modules/planner_core_src_roomle_planner#id_type) | `'rml_id'`    |

#### Returns

`Promise`<`number`>

***

### drawWalls

▸ **drawWalls**(`wallDefinitions`, `interactionOptions?`): [`KernelWall`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.kernelwall)\[]

Draws walls according to the wall definitions\
this can be used to create a room on the fly

#### Parameters

| Name                 | Type                                                                                                                                                 |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `wallDefinitions`    | [`WallDefinition`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner.walldefinition)\[]      |
| `interactionOptions` | [`InteractionOptions`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner.interactionoptions) |

#### Returns

[`KernelWall`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.kernelwall)\[]

***

### duplicateItems

▸ **duplicateItems**(`itemList`): [`PlanObject`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.planobject)\[]

Duplicates all planObjects in the array and inserts them into the current plan

#### Parameters

| Name       | Type                                                                                                                                                         | Description          |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------- |
| `itemList` | [`PlanObject`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.planobject)\[] | Array of PlanObjects |

#### Returns

[`PlanObject`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.planobject)\[]

***

### enableAdvancedDocking

▸ **enableAdvancedDocking**(): `void`

enable docking of objects that fit together when objects are snapped in the plan

#### Returns

`void`

***

### enableEvents

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

#### Returns

`void`

***

### enableMeasurementLineDrawing

▸ **enableMeasurementLineDrawing**(): `void`

#### Returns

`void`

***

### enableMultiselect

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

Enable the selection of multiple elements.\
Common parameters shared between those elements 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)

***

### enableRotation

▸ **enableRotation**(): `void`

Enables rotation of selected elements

#### Returns

`void`

***

### enableShowChildrenOfPlanObject

▸ **enableShowChildrenOfPlanObject**(`planElementViewModel`): `void`

enable interaction with child components of configurable objects in the plan

#### Parameters

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

#### Returns

`void`

***

### enableSnapping

▸ **enableSnapping**(): `void`

enable snapping of object to object and object to wall

#### Returns

`void`

***

### enableWallDrawing

▸ **enableWallDrawing**(): `void`

#### Returns

`void`

***

### escapeDrawing

▸ **escapeDrawing**(`cancelDrawing`): `void`

#### Parameters

| Name            | Type      |
| --------------- | --------- |
| `cancelDrawing` | `boolean` |

#### Returns

`void`

***

### 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)

***

### exportGLB

▸ **exportGLB**(): `void`

#### Returns

`void`

***

### 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`

***

### generateTCExport

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

#### Parameters

| Name            | Type        | Default value |
| --------------- | ----------- | ------------- |
| `planObjectIds` | `string`\[] | `[]`          |

#### Returns

`Promise`<`any`>

***

### getAttachedAttic

▸ **getAttachedAttic**(`wall`): [`KernelAttic`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.kernelattic)

Gets the attached attic from a wall.

#### Parameters

| Name   | Type                                                                                                                                                      | Description                          |
| ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
| `wall` | [`KernelWall`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.kernelwall) | The wall to retrieve the attic from. |

#### Returns

[`KernelAttic`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.kernelattic)

The first attached attic or null.

***

### 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)

***

### getConfigurator

▸ **getConfigurator**(): [`Configurator`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_configurator.configurator)

#### Returns

[`Configurator`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_configurator.configurator)

***

### getConfiguratorApi

▸ **getConfiguratorApi**(): [`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator.default)<`P`>

#### Returns

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

***

### 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)

***

### getCurrentSkin

▸ **getCurrentSkin**(): `Promise`<[`RapiSkin`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapiskin)>

#### Returns

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

***

### getExternalObjectGroups

▸ **getExternalObjectGroups**(): `Promise`<`object`\[]>

"getExternalObjectGroups" returns all groups of external objects modules (PosData) that are currently loaded in the plan.

#### Returns

`Promise`<`object`\[]>

#### Implementation of

[ExternalObjectAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi).[getExternalObjectGroups](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi#getexternalobjectgroups)

***

### getObjects

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

returns all objects found in the current plan\
this includes info about size, rotation, id and parts

#### Returns

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

***

### getPartlistOf

▸ **getPartlistOf**(`id`): `Promise`<[`KernelPartList`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelpartlist)>

get the Partlist of certain runtimeID\
can be used if partlist of a selected Item is needed

#### Parameters

| Name | Type     | Description                      |
| ---- | -------- | -------------------------------- |
| `id` | `number` | runtimeID of a configurable item |

#### Returns

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

kernelPartlist with processed price, currency and RAL colors

***

### getPlanInteractionHandler

▸ **getPlanInteractionHandler**(): `Promise`<[`PlanInteractionHandler`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.planinteractionhandler)>

#### Returns

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

***

### getPlanModelViewHelper

▸ **getPlanModelViewHelper**(): `Promise`<[`PlanModelViewHelper`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.planmodelviewhelper)>

#### Returns

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

***

### getPlanOverview

▸ **getPlanOverview**(): `Promise`<[`PlanOverview`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.planoverview)>

get all info available for the current plan, including objects, rooms and walls

#### Returns

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

***

### getPlanXmlFrom

▸ **getPlanXmlFrom**(`plan`): `any`

#### Parameters

| Name   | Type                                                                                                                                                                                                                                                                     |
| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `plan` | [`RapiPlan`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapiplan) \| [`RapiPlanSnapshotGetData`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapiplansnapshotgetdata) |

#### Returns

`any`

***

### getRuntimeComponentIdOfRootComponent

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

Returns the runtime component id of the plan object with the given id

#### Parameters

| Name           | Type     | Description                                                                               |
| -------------- | -------- | ----------------------------------------------------------------------------------------- |
| `planObjectId` | `number` | id of the plan object you want to get the runtime component id of the root component from |

#### 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)

***

### 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)

***

### 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)

***

### getWallAngleDegrees

▸ **getWallAngleDegrees**(`wall`): `number`

Returns the wall angle in degrees relative to the camera

#### Parameters

| Name   | Type                                                                                                                                     | Description                         |
| ------ | ---------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
| `wall` | [`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/planner_core_src_roomle_planner._internal_.default-1) | a WallPlanElementViewModel instance |

#### Returns

`number`

***

### hasWalls

▸ **hasWalls**(): `boolean`

#### Returns

`boolean`

***

### highlightPlanElements

▸ **highlightPlanElements**(`runtimeIds`): `void`

Highlights one or more objects in the scene based on their runtime IDs.\
If `runtimeIds` is `null`, all highlighted objects will be unhighlighted.

#### Parameters

| Name         | Type                    | Description                                            |
| ------------ | ----------------------- | ------------------------------------------------------ |
| `runtimeIds` | `number` \| `number`\[] | A single runtime ID, an array of runtime IDs, or null. |

#### Returns

`void`

***

### importGLB

▸ **importGLB**(`url`): `void`

#### Parameters

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

#### Returns

`void`

***

### init

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

#### Parameters

| Name             | Type                                                                                                                                                                                                                                                                                                            |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `element`        | `HTMLElement`                                                                                                                                                                                                                                                                                                   |
| `preloadPlanId?` | `string`                                                                                                                                                                                                                                                                                                        |
| `options?`       | [`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

`Promise`<`void`>

***

### insertItemList

▸ **insertItemList**(`ids`): `Promise`<`number`\[]>

#### Parameters

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

#### Returns

`Promise`<`number`\[]>

***

### insertItems

▸ **insertItems**(`itemList`): `Promise`<`number`\[]>

Inserts all of the items in the array into current plan

#### Parameters

| Name       | Type                                                                                                                                                                                                                                                                                                                                                                                                                                     | Description                                 |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- |
| `itemList` | ([`RapiItem`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapiitem) \| [`RapiConfiguration`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapiconfiguration) \| \`\_\_ext\_\_obj\_\_#${string}\` \| [`ExternalObject`](https://docs.roomle.com/rubens/rubens-sdk/modules/planner_core_src_roomle_planner._internal_#externalobject))\[] | Array of items received from the Roomle API |

#### Returns

`Promise`<`number`\[]>

***

### insertObject

▸ **insertObject**(`id`, `position?`, `rotation?`): `Promise`<`number`>

Inserts the object into the scene (at a given position and rotation)

#### Parameters

| Name        | Type                                                                                                                                 | Description                                              |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------- |
| `id`        | `string`                                                                                                                             |                                                          |
| `position?` | [`Position3`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/common_core_src_common_interfaces.position3) | x (left/right),y (up, down) and z(front, back) in meters |
| `rotation?` | `number`                                                                                                                             | in radians                                               |

#### Returns

`Promise`<`number`>

***

### isCurrentlyDrawing

▸ **isCurrentlyDrawing**(): `boolean`

#### Returns

`boolean`

***

### isReady

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

#### Returns

`void`

#### Implementation of

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

***

### loadError

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

#### Parameters

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

#### Returns

`void`

#### Implementation of

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

***

### loadExternalObjectGroup

▸ **loadExternalObjectGroup**(`groupData`, `findFreeSpaceInPlan`, `verifyArrangement?`, `mergedGroups?`): `Promise`<`void`>

"loadExternalObjectGroup" loads a group of modules and places them in the plan.\
If the group has already been loaded, it is completely replaced by the new group.\
This function therefore has 2 use cases:

1. Load a new group of modules
2. Update or modify an existing group of modules\
   The initial location of the group and the IDs of the modules are defined in the group JSON.

#### Parameters

| Name                  | Type                                                                                                                                  | Default value | Description                                                                                                              |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------ |
| `groupData`           | [`ExternalGroupData`](https://docs.roomle.com/rubens/rubens-sdk/modules/planner_core_src_roomle_planner._internal_#externalgroupdata) | `undefined`   | The group JSON as string or object.                                                                                      |
| `findFreeSpaceInPlan` | `boolean`                                                                                                                             | `undefined`   | A free space is automatically searched for in the plane.                                                                 |
| `verifyArrangement`   | `boolean`                                                                                                                             | `false`       | Verify whether the root modules of the group need to be rearranged as they have changed in size.                         |
| `mergedGroups`        | `string`\[]                                                                                                                           | `[]`          | Groups that were merged into another group and have to be delete (this is required to generate correct undo/redo steps). |

#### Returns

`Promise`<`void`>

#### Implementation of

[ExternalObjectAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi).[loadExternalObjectGroup](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi#loadexternalobjectgroup)

***

### loadExternalObjectLibrary

▸ **loadExternalObjectLibrary**(`libraryJson`): `void`

"loadExternalObjectLibrary" loads the master data of a library.\
If master data has already been loaded for the library, it is completely replaced by the new master data.

#### Parameters

| Name          | Type                 | Description                           |
| ------------- | -------------------- | ------------------------------------- |
| `libraryJson` | `string` \| `object` | The library JSON as string or object. |

#### Returns

`void`

#### Implementation of

[ExternalObjectAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi).[loadExternalObjectLibrary](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi#loadexternalobjectlibrary)

***

### loadPlan

▸ **loadPlan**(`id`, `options?`): `Promise`<[`RapiPlan`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapiplan) | [`RapiPlanSnapshotGetData`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapiplansnapshotgetdata)>

#### Parameters

| Name       | Type                                                                                                                                                                                                                                                                                                            |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`       | `string`                                                                                                                                                                                                                                                                                                        |
| `options?` | [`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

`Promise`<[`RapiPlan`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapiplan) | [`RapiPlanSnapshotGetData`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapiplansnapshotgetdata)>

***

### loadPlanXml

▸ **loadPlanXml**(`xml`, `options?`): `Promise`<`void`>

#### Parameters

| Name       | Type                                                                                                                                                                                                                                                                                                            |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `xml`      | `string`                                                                                                                                                                                                                                                                                                        |
| `options?` | [`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

`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`>

***

### moveElementPosition

▸ **moveElementPosition**(`selectedElement`, `position`): `void`

Move the current selected element in the 3D space

#### Parameters

| Name              | Type                                                                                                                                                | Description                                                                                     |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `selectedElement` | [`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.default-52) | this is the current selected plan object                                                        |
| `position`        | [`KernelVector3`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelvector3)                           | new KernelVector3 position of the current selected element returns runtime ID of the new object |

#### Returns

`void`

***

### moveElementsPosition

▸ **moveElementsPosition**(`selectedElements`, `position`): `void`

Moves the current multi-selected elements in the 3D space

#### Parameters

| Name               | Type                                                                                                                                                   | Description                                                                                     |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| `selectedElements` | [`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.default-52)\[] | this is the current selected plan object                                                        |
| `position`         | [`KernelVector3`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_kernel.kernelvector3)                              | new KernelVector3 position of the current selected element returns runtime ID of the new object |

#### Returns

`void`

***

### onCloseHSC

▸ **onCloseHSC**(): `void`

#### Returns

`void`

***

### openOrCloseGeometryOfExternalObject

▸ **openOrCloseGeometryOfExternalObject**(`groupIdOrRootModuleId`, `subModuleId`, `open`, `animate`): `Promise`<`void`>

"openOrCloseGeometryOfExternalObject" switches the geometry of the modules between closed and open representation.\
The function can switch the geometry of the group or the singe root module with the ID "groupIdOrRootModuleId".\
If "groupIdOrRootModuleId" is the ID of a root module and the "subModuleId" is also specified, only this one sub-module is opened or closed.

#### Parameters

| Name                    | Type      | Description                                                                                                                   |
| ----------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `groupIdOrRootModuleId` | `string`  | The ID of the group of modules or the ID of the root module.                                                                  |
| `subModuleId`           | `string`  | The ID of the sub module.                                                                                                     |
| `open`                  | `boolean` | If true, the modules are opened, if false, they are closed, if the geometry is already in the desired state, nothing happens. |
| `animate`               | `boolean` | If true the opening or closing is animated else the geometry is switched instantly.                                           |

#### Returns

`Promise`<`void`>

#### Implementation of

[ExternalObjectAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi).[openOrCloseGeometryOfExternalObject](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi#openorclosegeometryofexternalobject)

***

### preparePerspectiveImage

▸ **preparePerspectiveImage**(`options?`, `isolationMode?`): `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 base64

#### Parameters

| Name            | Type                                                                                                                                                                        | Default value | Description                                                                                          |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | ---------------------------------------------------------------------------------------------------- |
| `options`       | [`PrepareImageOptions`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.prepareimageoptions) | `{}`          |                                                                                                      |
| `isolationMode` | `boolean`                                                                                                                                                                   | `false`       | defaults to false. Determines whether to generate a perspective image for the current configuration. |

#### Returns

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

***

### preparePerspectiveImageOf

▸ **preparePerspectiveImageOf**(`runtimeId`, `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) of a plan element by a\
given runtime-id and returns it as base64

#### Parameters

| Name        | Type                                                                                                                                                                        | Description                                              |
| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| `runtimeId` | `number`                                                                                                                                                                    | runtime-id of the plan element, e.g.: a selected element |
| `options`   | [`PrepareImageOptions`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.prepareimageoptions) | 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 eye view) and returns it as base64

#### 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)>

***

### removeAttic

▸ **removeAttic**(`attic`): `void`

Removes an attic from a wall.

#### Parameters

| Name    | Type                                                                                                                                                        | Description              |
| ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| `attic` | [`KernelAttic`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.kernelattic) | The attic to be removed. |

#### Returns

`void`

***

### removeElements

▸ **removeElements**(`kernelPlanElements`, `interactionOptions?`): `Promise`<`void`>

#### Parameters

| Name                 | Type                                                                                                                                                             |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `kernelPlanElements` | [`KernelObject`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.kernelobject)\[] |
| `interactionOptions` | [`InteractionOptions`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner.interactionoptions)             |

#### Returns

`Promise`<`void`>

***

### removeExternalObjectGroup

▸ **removeExternalObjectGroup**(`groupId`, `wasMerged?`): `Promise`<`void`>

"removeExternalObjectGroup" removes a group and all its modules from the plan.

#### Parameters

| Name        | Type      | Default value | Description                                                                                                                   |
| ----------- | --------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `groupId`   | `string`  | `undefined`   | The ID of the group of modules.                                                                                               |
| `wasMerged` | `boolean` | `false`       | Should be set to true if the group has been merged with another group (this is required to generate correct undo/redo steps). |

#### Returns

`Promise`<`void`>

#### Implementation of

[ExternalObjectAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi).[removeExternalObjectGroup](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi#removeexternalobjectgroup)

***

### removeExternalObjectRootModule

▸ **removeExternalObjectRootModule**(`rootModuleId`): `void`

"removeExternalObjectRootModule" removes a root module from a group and splits the remaining group if the removed root module is located between other root modules.\
If the group consists of only one root module, the group is removed.

#### Parameters

| Name           | Type     |
| -------------- | -------- |
| `rootModuleId` | `string` |

#### Returns

`void`

#### Implementation of

[ExternalObjectAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi).[removeExternalObjectRootModule](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi#removeexternalobjectrootmodule)

***

### renderImagesOfExternalObjectGroup

▸ **renderImagesOfExternalObjectGroup**(`groups`): `Promise`<{ `[key: string]`: `string`; }>

"renderImagesOfExternalObjectGroups" renders images of groups of modules.

#### Parameters

| Name     | Type     |
| -------- | -------- |
| `groups` | `object` |

#### Returns

`Promise`<{ `[key: string]`: `string`; }>

#### Implementation of

[ExternalObjectAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi).[renderImagesOfExternalObjectGroup](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi#renderimagesofexternalobjectgroup)

***

### resetCameraPosition

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

#### 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)

***

### resolveShortUrl

▸ **resolveShortUrl**(`shortUrl`): `Promise`<`string`>

Resolves a shortened URL.

#### Parameters

| Name       | Type     | Description                   |
| ---------- | -------- | ----------------------------- |
| `shortUrl` | `string` | The shortened URL to resolve. |

#### Returns

`Promise`<`string`>

* A promise that resolves to the URL.

***

### rotateSelection

▸ **rotateSelection**(`rotateBy`): `void`

rotates the selected item(s)

#### Parameters

| Name       | Type     | Description  |
| ---------- | -------- | ------------ |
| `rotateBy` | `number` | angle in rad |

#### Returns

`void`

#### Implementation of

RoomlePlannerCallback.rotateSelection

***

### saveCurrentPlanSnapshot

▸ **saveCurrentPlanSnapshot**(`parentPlanId?`, `configurationHashOrGroupId?`): `Promise`<[`RapiPlanSnapshotGetData`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapiplansnapshotgetdata)>

#### Parameters

| Name                          | Type                    |
| ----------------------------- | ----------------------- |
| `parentPlanId?`               | `string`                |
| `configurationHashOrGroupId?` | `string` \| `string`\[] |

#### Returns

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

***

### saveExternalObjectSnapshot

▸ **saveExternalObjectSnapshot**(`parentPlanId?`): `Promise`<[`RapiPlanSnapshotGetDataWith3dUrls`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/typings_rapi_types.rapiplansnapshotgetdatawith3durls)>

Saves a snapshot of the external objects in the plan without walls and other objects\
Also contains the urls to the glb and usdz files

#### Parameters

| Name            | Type     | Description                      |
| --------------- | -------- | -------------------------------- |
| `parentPlanId?` | `string` | id of the current plan, optional |

#### Returns

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

the snapshot of the external objects if there are no external objects it returns null

***

### selectExternalObjectGroup

▸ **selectExternalObjectGroup**(`groupId`): `Promise`<`void`>

"selectExternalObjectGroup" changes the selected object in the scene.\
The function selects a complete group of root modules and always switches to planning mode.\
If the group consists of only one root module, this is equivalent to selecting a single root module.

#### Parameters

| Name      | Type     | Description                     |
| --------- | -------- | ------------------------------- |
| `groupId` | `string` | The ID of the group of modules. |

#### Returns

`Promise`<`void`>

#### Implementation of

[ExternalObjectAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi).[selectExternalObjectGroup](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi#selectexternalobjectgroup)

***

### selectExternalObjectRootModule

▸ **selectExternalObjectRootModule**(`rootModuleId`): `Promise`<`void`>

"selectExternalObjectRootModule" changes the selected object in the scene.\
The function selects a root module within a group and always switches to planning mode.

#### Parameters

| Name           | Type     | Description                |
| -------------- | -------- | -------------------------- |
| `rootModuleId` | `string` | The ID of the root module. |

#### Returns

`Promise`<`void`>

#### Implementation of

[ExternalObjectAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi).[selectExternalObjectRootModule](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi#selectexternalobjectrootmodule)

***

### selectExternalObjectSubModule

▸ **selectExternalObjectSubModule**(`rootModuleId`, `subModuleId`): `Promise`<`void`>

"selectExternalObjectSubModule" changes the selected object in the scene.\
The function selects a sub module a root module and always switches to configuration mode.

#### Parameters

| Name           | Type     | Description                |
| -------------- | -------- | -------------------------- |
| `rootModuleId` | `string` | The ID of the root module. |
| `subModuleId`  | `string` | The ID of the sub module.  |

#### Returns

`Promise`<`void`>

#### Implementation of

[ExternalObjectAPI](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi).[selectExternalObjectSubModule](https://docs.roomle.com/rubens/rubens-sdk/interfaces/planner_core_src_roomle_planner._internal_.externalobjectapi#selectexternalobjectsubmodule)

***

### selectPlanObjectById

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

select an object in the scene based on its runtime id

#### Parameters

| Name        | Type     |
| ----------- | -------- |
| `runtimeId` | `number` |

#### Returns

`Promise`<`void`>

***

### setAtticSide

▸ **setAtticSide**(`attic`, `side`): `void`

Set the attic direction from a wall.

#### Parameters

| Name    | Type                                                                                                                                                        | Description              |
| ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| `attic` | [`KernelAttic`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.kernelattic) | The attic to be removed. |
| `side`  | [`WallSide`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.wallside)       | -                        |

#### 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)

***

### 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)

***

### setMeasurementLineLength

▸ **setMeasurementLineLength**(`measurementId`, `length`, `wallDirection`): `void`

#### Parameters

| Name            | Type     |
| --------------- | -------- |
| `measurementId` | `number` |
| `length`        | `number` |
| `wallDirection` | `string` |

#### Returns

`void`

***

### setObjectToWallMeasurementLength

▸ **setObjectToWallMeasurementLength**(`planElementId`, `measurementId`, `length`): `void`

#### Parameters

| Name            | Type     |
| --------------- | -------- |
| `planElementId` | `number` |
| `measurementId` | `number` |
| `length`        | `number` |

#### Returns

`void`

***

### setOverrides

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

Set general configuration parameter

#### Parameters

| Name       | Type                                                                                                                                                                                                                                                                                                            |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `initData` | [`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`

***

### setSceneEvents

▸ **setSceneEvents**(`sceneEvents`): `void`

set which events are enabled in the scene, for example disable selection of walls and wall nodes

#### Parameters

| Name          | Type                                                                                                                                   |
| ------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `sceneEvents` | [`SceneEvents`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/planner_core_src_roomle_planner.sceneevents) |

#### Returns

`void`

***

### setWallMeasurementLength

▸ **setWallMeasurementLength**(`measurementId`, `length`, `wallDirection`): `void`

#### Parameters

| Name            | Type                                                                                                                                                     |
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `measurementId` | `number`                                                                                                                                                 |
| `length`        | `number`                                                                                                                                                 |
| `wallDirection` | [`EMSConstant`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.emsconstant) |

#### Returns

`void`

***

### showBenchmarks

▸ **showBenchmarks**(): `void`

#### Returns

`void`

***

### showGUI

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

#### Returns

`void`

***

### showStats

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

#### Returns

`void`

***

### showsChildrenOfPlanObject

▸ **showsChildrenOfPlanObject**(`planElementViewModel`): `boolean`

returns true if interaction with the child components of a configuration object is enabled, and flashes otherwise

#### Parameters

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

#### Returns

`boolean`

***

### startConfiguring

▸ **startConfiguring**(): `void`

#### Returns

`void`

***

### startViewing

▸ **startViewing**(): `void`

#### Returns

`void`

***

### swapObject

▸ **swapObject**(`old`, `idOfNew`): `Promise`<`number`>

Swap two plan objects in the scene in the same position for example swap two object variants

#### Parameters

| Name      | Type                                                                                                                                                | Description                                                             |
| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| `old`     | [`default`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_roomle_configurator._internal_.default-52) | this is the current selected plan object                                |
| `idOfNew` | `string`                                                                                                                                            | the RAPI id of the new plan object returns runtime ID of the new object |

#### Returns

`Promise`<`number`>

***

### switch2D

▸ **switch2D**(): `void`

#### Returns

`void`

***

### switch3D

▸ **switch3D**(): `void`

#### Returns

`void`

***

### switchToConfigurator

▸ **switchToConfigurator**(): `Promise`<[`Configurator`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_configurator.configurator)>

#### Returns

`Promise`<[`Configurator`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/configurator_core_src_configurator.configurator)>

#### Implementation of

RoomlePlannerCallback.switchToConfigurator

***

### switchToFirstPerson

▸ **switchToFirstPerson**(): `void`

#### Returns

`void`

***

### switchToPlanner

▸ **switchToPlanner**(`id?`): `void`

#### Parameters

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

#### Returns

`void`

***

### switchToViewer

▸ **switchToViewer**(): `Promise`<[`GlbViewer`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/glb_viewer_core_src_glb_viewer.glbviewer)>

#### Returns

`Promise`<[`GlbViewer`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/classes/glb_viewer_core_src_glb_viewer.glbviewer)>

#### Implementation of

RoomlePlannerCallback.switchToViewer

***

### syncCatalog

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

#### Parameters

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

#### Returns

`Promise`<`void`>

***

### toggleConfigureInRoom

▸ **toggleConfigureInRoom**(): `void`

#### Returns

`void`

***

### update

▸ **update**(): `void`

#### Returns

`void`

***

### updateAtticKneeHeight

▸ **updateAtticKneeHeight**(`attic`, `kneeHeight`): `void`

Updates the knee height of an attic.

#### Parameters

| Name         | Type                                                                                                                                                        | Description                |
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- |
| `attic`      | [`KernelAttic`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.kernelattic) | The attic to update.       |
| `kneeHeight` | `number`                                                                                                                                                    | The new knee height value. |

#### Returns

`void`

***

### updateAtticWidth

▸ **updateAtticWidth**(`attic`, `width`): `void`

Updates the width of an attic.

#### Parameters

| Name    | Type                                                                                                                                                        | Description          |
| ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- |
| `attic` | [`KernelAttic`](https://docs.roomle.com/rubens/rubens-sdk/rubens-sdk-reference/interfaces/configurator_core_src_roomle_configurator._internal_.kernelattic) | The attic to update. |
| `width` | `number`                                                                                                                                                    | The new width value. |

#### Returns

`void`

***

### 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`

#### 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)
