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 default

# Returns

void

# Implementation of

ExternalEmbeddable.callbacks

# Methods

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

# Returns

Promise<KernelPartListPrice>


# cancelSelection

cancelSelection(reason?): void

# Parameters

Name Type Default value
reason CancelSelectionReasons 'unknown'

# Returns

void

# Implementation of

RoomlePlannerCallback.cancelSelection


# changeExteriorWallsMaterial

changeExteriorWallsMaterial(material): void

# Parameters

Name Type
material BatchPaintMaterial

# Returns

void


# changeFloorsMaterial

changeFloorsMaterial(material): void

# Parameters

Name Type
material BatchPaintMaterial

# Returns

void


# changeInteriorWallsMaterial

changeInteriorWallsMaterial(material): void

# Parameters

Name Type
material BatchPaintMaterial

# Returns

void


# createNewSerializedConfiguration

createNewSerializedConfiguration(configurationRuntimeId): Promise<string>

# Parameters

Name Type
configurationRuntimeId number

# Returns

Promise<string>


# 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


# 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

# Returns

void


# disableSnapping

disableSnapping(): void

disable all types of snapping

# Returns

void


# disableWallDrawing

disableWallDrawing(): void

# Returns

void


# dragInObject

dragInObject(id, dragEvent): Promise<number>

# Parameters

Name Type
id string
dragEvent DragEvent

# 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 WallDefinition[]
interactionOptions 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 PlanObject[] Array of PlanObjects

# Returns

PlanObject[]


# enableAdvancedDocking

enableAdvancedDocking(): void

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

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

# 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


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

# 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

Name Type
plan RapiPlan | 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.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 default 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
options? InitDataDefinition & 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[] 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 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


# loadPlan

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

# Parameters

Name Type
id string
options? InitDataDefinition & GlobalInitDataDefinition

# Returns

Promise<RapiPlan | RapiPlanSnapshotGetData>


# loadPlanXml

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

# Parameters

Name Type
xml string
options? InitDataDefinition & GlobalInitDataDefinition

# Returns

Promise<void>


# moveCamera

moveCamera(cameraParameter): Promise<void>

# Parameters

Name Type
cameraParameter CameraParameter

# Returns

Promise<void>


# moveElementPosition

moveElementPosition(selectedElement, position): void

Move the current selected element in the 3D space

# Parameters

Name Type Description
selectedElement default this is the current selected plan object
position 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[] this is the current selected plan object
position KernelVector3 new KernelVector3 position of the current selected element returns runtime ID of the new object

# Returns

void


# onCloseHSC

onCloseHSC(): void

# Returns

void


# preparePerspectiveImage

preparePerspectiveImage(options?): Promise<Base64Image>

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

# Parameters

Name Type
options PrepareImageOptions

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

# Returns

Promise<Base64Image>


# prepareTopImage

prepareTopImage(options?): Promise<Base64Image>

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

# Parameters

Name Type
options PrepareImageOptions

# Returns

Promise<Base64Image>


# removeElements

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

# Parameters

Name Type
kernelPlanElements KernelObject[]
interactionOptions InteractionOptions

# Returns

Promise<void>


# 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?): Promise<RapiPlanSnapshotGetData>

# Parameters

Name Type
parentPlanId? string

# Returns

Promise<RapiPlanSnapshotGetData>


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

# 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

Name Type
initData InitDataDefinition & 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

# Returns

void


# setWallMeasurementLength

setWallMeasurementLength(measurementId, length, wallDirection): void

# Parameters

Name Type
measurementId number
length number
wallDirection 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

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