RoomlePlanner.default

planner-core/src/roomle-planner.default

Shared API between configurator and planner

Implements

Table of contents

Constructors

Properties

Accessors

Methods

Constructors

constructor

new default(creator)

Parameters

Name
Type

creator

string

Properties

_creator_

_creator_: string

Implementation of

Context.creator

Accessors

PlannerCoreTypes

get PlannerCoreTypes(): PlannerKernelContainer

Returns

PlannerKernelContainer

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


callbacks

get callbacks(): default

Returns

default

Implementation of

ExternalEmbeddable.callbacks

set callbacks(callback): void

Parameters

Name
Type

callback

Returns

void

Implementation of

ExternalEmbeddable.callbacks

Methods

_selectExternalObjectGroup

_selectExternalObjectGroup(groupId, switchToPlanner): Promise<void>

Parameters

Name
Type

groupId

string

switchToPlanner

boolean

Returns

Promise<void>


_selectExternalObjectModule

_selectExternalObjectModule(rootModuleId, subModuleId, selectPlanObject, switchToConfigurator, selectComponent): Promise<void>

Parameters

Name
Type

rootModuleId

string

subModuleId

string

selectPlanObject

boolean

switchToConfigurator

boolean

selectComponent

boolean

Returns

Promise<void>


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>

Parameters

Name
Type

Returns

Promise<KernelPartListPrice>


cancelSelection

cancelSelection(reason?): void

Parameters

Name
Type
Default value

reason

'unknown'

Returns

void

Implementation of

RoomlePlannerCallback.cancelSelection


changeExteriorWallsMaterial

changeExteriorWallsMaterial(material): void

Parameters

Name
Type

Returns

void


changeFloorsMaterial

changeFloorsMaterial(material): void

Parameters

Name
Type

Returns

void


changeInteriorWallsMaterial

changeInteriorWallsMaterial(material): void

Parameters

Name
Type

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

The configuration JSON as string or object.

Returns

Promise<void>

Implementation of

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?

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

Returns

void


disableSnapping

disableSnapping(): void

disable all types of snapping

Returns

void


disableWallDrawing

disableWallDrawing(): void

Returns

void


dragInObject

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

Parameters

Name
Type
Default value

idOrSerializedConfigString

string

undefined

dragEvent

DragEvent

undefined

type

'rml_id'

Returns

Promise<number>


drawWalls

drawWalls(wallDefinitions, interactionOptions?): KernelWall[]

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

Parameters

Name
Type

wallDefinitions

interactionOptions

Returns

KernelWall[]


duplicateItems

duplicateItems(itemList): PlanObject[]

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

Parameters

Name
Type
Description

itemList

Array of PlanObjects

Returns

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

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.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.exportImageFromCamera


formatValueToUnitString

formatValueToUnitString(value, parameter): string | number

Returns the formatted value based on the parameter.unitType

Parameters

Name
Type

value

number

Returns

string | number


generateTCExport

generateTCExport(planObjectIds?): Promise<any>

Parameters

Name
Type
Default value

planObjectIds

string[]

[]

Returns

Promise<any>


getCameraOffset

getCameraOffset(): CanvasOffset

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

Returns

CanvasOffset

Implementation of

GlobalAPI.getCameraOffset


getConfigurator

getConfigurator(): Configurator

Returns

Configurator


getConfiguratorApi

getConfiguratorApi(): default

Returns

default


getConfiguratorContext

getConfiguratorContext(): default

returns class containing configurator specific data properties

Returns

default


getCurrentSkin

getCurrentSkin(): Promise<RapiSkin>

Returns

Promise<RapiSkin>


getObjects

getObjects(): Promise<UiPlanObject[]>

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

Returns

Promise<UiPlanObject[]>


getPartlistOf

getPartlistOf(id): Promise<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>

kernelPartlist with processed price, currency and RAL colors


getPlanInteractionHandler

getPlanInteractionHandler(): Promise<PlanInteractionHandler>

Returns

Promise<PlanInteractionHandler>


getPlanModelViewHelper

getPlanModelViewHelper(): Promise<PlanModelViewHelper>

Returns

Promise<PlanModelViewHelper>


getPlanOverview

getPlanOverview(): Promise<PlanOverview>

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

Returns

Promise<PlanOverview>


getPlanXmlFrom

getPlanXmlFrom(plan): any

Parameters

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.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.getScene


getStorage

getStorage(): default

returns manager class to interface with indexedDB storage

Returns

default

Implementation of

RubensAPI.getStorage


getUnitFormatter

getUnitFormatter(): default

returns unit formatter for formatting input und output values in scene

Returns

default

Implementation of

GlobalAPI.getUnitFormatter


getWallAngleDegrees

getWallAngleDegrees(wall): number

Returns the wall angle in degrees relative to the camera

Parameters

Name
Type
Description

wall

a WallPlanElementViewModel instance

Returns

number


hasWalls

hasWalls(): boolean

Returns

boolean


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

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

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?

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.isReady


loadError

loadError(error?): void

Parameters

Name
Type

error?

any

Returns

void

Implementation of

KernelAccessCallbackI.loadError


loadExternalObjectGroup

loadExternalObjectGroup(groupJson, findFreeSpaceInPlan): 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
Description

groupJson

string | object

The group JSON as string or object.

findFreeSpaceInPlan

boolean

A free space is automatically searched for in the plane.

Returns

Promise<void>

Implementation of

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.loadExternalObjectLibrary


loadPlan

loadPlan(id, options?): Promise<RapiPlan | RapiPlanSnapshotGetData>

Parameters

Returns

Promise<RapiPlan | RapiPlanSnapshotGetData>


loadPlanXml

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

Parameters

Name
Type

Returns

Promise<void>


moveCamera

moveCamera(cameraParameter): Promise<void>

Parameters

Name
Type

cameraParameter

Returns

Promise<void>


moveElementPosition

moveElementPosition(selectedElement, position): void

Move the current selected element in the 3D space

Parameters

Name
Type
Description

selectedElement

this is the current selected plan object

position

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

this is the current selected plan object

position

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.openOrCloseGeometryOfExternalObject


preparePerspectiveImage

preparePerspectiveImage(options?, isolationMode?): Promise<Base64Image>

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

Parameters

Name
Type
Default value
Description

isolationMode

boolean

false

defaults to false. Determines whether to generate a perspective image for the current configuration.

Returns

Promise<Base64Image>


preparePerspectiveImageOf

preparePerspectiveImageOf(runtimeId, options?): Promise<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

Returns

Promise<Base64Image>


prepareTopImage

prepareTopImage(options?): Promise<Base64Image>

Generates a top image (birds eye view) and returns it as base64

Parameters

Name
Type

Returns

Promise<Base64Image>


removeElements

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

Parameters

Name
Type

kernelPlanElements

interactionOptions

Returns

Promise<void>


removeExternalObjectGroup

removeExternalObjectGroup(groupId): Promise<void>

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

Parameters

Name
Type
Description

groupId

string

The ID of the group of modules.

Returns

Promise<void>

Implementation of

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.removeExternalObjectRootModule


renderImagesOfExternalObjectGroup

renderImagesOfExternalObjectGroup(groupsJson): Promise<{ [key: string]: string; }>

"renderImagesOfExternalObjectGroups" renders images of groups of modules.

Parameters

Name
Type

groupsJson

string | object

Returns

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

Implementation of

ExternalObjectAPI.renderImagesOfExternalObjectGroup


resetCameraPosition

resetCameraPosition(): void

Returns

void

Implementation of

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>

Parameters

Name
Type

parentPlanId?

string

configurationHashOrGroupId?

string

Returns

Promise<RapiPlanSnapshotGetData>


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


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

Returns

void

Implementation of

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

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

Returns

void


setWallMeasurementLength

setWallMeasurementLength(measurementId, length, wallDirection): void

Parameters

Name
Type

measurementId

number

length

number

wallDirection

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

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

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>

Returns

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

Returns

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


updateScene

updateScene(): void

Updates the scene (recalculating bounds) and restart rendering

Returns

void

Implementation of

GlobalAPI.updateScene


updateSize

updateSize(): void

Returns

void

Implementation of

GlobalAPI.updateSize

Last updated