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
creator
string
Properties
_creator_
• _creator_: string
Implementation of
Accessors
PlannerCoreTypes
• get
PlannerCoreTypes(): PlannerKernelContainer
Returns
an object which has all type constants from Roomle Core (C/C++)
callbacks
• get
callbacks(): default
Returns
Implementation of
• set
callbacks(callback
): void
Parameters
callback
Returns
void
Implementation of
Methods
_selectExternalObjectGroup
▸ _selectExternalObjectGroup(groupId
, switchToPlanner
): Promise
<void
>
Parameters
groupId
string
switchToPlanner
boolean
Returns
Promise
<void
>
_selectExternalObjectModule
▸ _selectExternalObjectModule(rootModuleId
, subModuleId
, selectPlanObject
, switchToConfigurator
, selectComponent
): Promise
<void
>
Parameters
rootModuleId
string
subModuleId
string
selectPlanObject
boolean
switchToConfigurator
boolean
selectComponent
boolean
Returns
Promise
<void
>
back
▸ back(): void
Returns
void
backTo
▸ backTo(_cssClass
): void
Parameters
_cssClass
string
Returns
void
backToPlanner
▸ backToPlanner(): void
Returns
void
calcPartsPriceSum
▸ calcPartsPriceSum(partList
): Promise
<KernelPartListPrice
>
Parameters
partList
Returns
Promise
<KernelPartListPrice
>
cancelSelection
▸ cancelSelection(reason?
): void
Parameters
Returns
void
Implementation of
RoomlePlannerCallback.cancelSelection
changeExteriorWallsMaterial
▸ changeExteriorWallsMaterial(material
): void
Parameters
material
Returns
void
changeFloorsMaterial
▸ changeFloorsMaterial(material
): void
Parameters
material
Returns
void
changeInteriorWallsMaterial
▸ changeInteriorWallsMaterial(material
): void
Parameters
material
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
Returns
Promise
<void
>
Implementation of
ExternalObjectAPI.configureExternalObjectApi
createNewSerializedConfiguration
▸ createNewSerializedConfiguration(configurationRuntimeId
): Promise
<string
>
Parameters
configurationRuntimeId
number
Returns
Promise
<string
>
createPlanFromObject
▸ createPlanFromObject(id
, position?
, rotation?
): Promise
<number
>
creates and loads a plan from a given object
Parameters
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
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
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
wallDefinitions
interactionOptions
Returns
duplicateItems
▸ duplicateItems(itemList
): PlanObject
[]
Duplicates all planObjects in the array and inserts them into the current plan
Parameters
Returns
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
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
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
cancelDrawing
boolean
Returns
void
exportCanvasScreenshot
▸ exportCanvasScreenshot(quality?
): Promise
<string
>
Parameters
quality?
number
Returns
Promise
<string
>
Implementation of
RubensAPI.exportCanvasScreenshot
exportGLB
▸ exportGLB(): void
Returns
void
exportImageFromCamera
▸ exportImageFromCamera(filename?
, shouldWaitForAssets?
): Promise
<void
>
Parameters
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
value
number
parameter
Returns
string
| number
generateTCExport
▸ generateTCExport(planObjectIds?
): Promise
<any
>
Parameters
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
Implementation of
getConfigurator
▸ getConfigurator(): Configurator
Returns
getConfiguratorApi
▸ getConfiguratorApi(): default
Returns
getConfiguratorContext
▸ getConfiguratorContext(): default
returns class containing configurator specific data properties
Returns
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
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
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
getStorage
▸ getStorage(): default
returns manager class to interface with indexedDB storage
Returns
Implementation of
getUnitFormatter
▸ getUnitFormatter(): default
returns unit formatter for formatting input und output values in scene
Returns
Implementation of
getWallAngleDegrees
▸ getWallAngleDegrees(wall
): number
Returns the wall angle in degrees relative to the camera
Parameters
Returns
number
hasWalls
▸ hasWalls(): boolean
Returns
boolean
importGLB
▸ importGLB(url
): void
Parameters
url
string
Returns
void
init
▸ init(element
, preloadPlanId?
, options?
): Promise
<void
>
Parameters
Returns
Promise
<void
>
insertItemList
▸ insertItemList(ids
): Promise
<number
[]>
Parameters
ids
string
[]
Returns
Promise
<number
[]>
insertItems
▸ insertItems(itemList
): Promise
<number
[]>
Inserts all of the items in the array into current plan
Parameters
Returns
Promise
<number
[]>
insertObject
▸ insertObject(id
, position?
, rotation?
): Promise
<number
>
Inserts the object into the scene (at a given position and rotation)
Parameters
id
string
rotation?
number
in radians
Returns
Promise
<number
>
isCurrentlyDrawing
▸ isCurrentlyDrawing(): boolean
Returns
boolean
isReady
▸ isReady(): void
Returns
void
Implementation of
loadError
▸ loadError(error?
): void
Parameters
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:
Load a new group of modules
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
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
libraryJson
string
| object
The library JSON as string or object.
Returns
void
Implementation of
ExternalObjectAPI.loadExternalObjectLibrary
loadPlan
▸ loadPlan(id
, options?
): Promise
<RapiPlan
| RapiPlanSnapshotGetData
>
Parameters
id
string
options?
Returns
Promise
<RapiPlan
| RapiPlanSnapshotGetData
>
loadPlanXml
▸ loadPlanXml(xml
, options?
): Promise
<void
>
Parameters
xml
string
options?
Returns
Promise
<void
>
moveCamera
▸ moveCamera(cameraParameter
): Promise
<void
>
Parameters
cameraParameter
Returns
Promise
<void
>
moveElementPosition
▸ moveElementPosition(selectedElement
, position
): void
Move the current selected element in the 3D space
Parameters
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
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
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
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
runtimeId
number
runtime-id of the plan element, e.g.: a selected element
Returns
Promise
<Base64Image
>
prepareTopImage
▸ prepareTopImage(options?
): Promise
<Base64Image
>
Generates a top image (birds eye view) and returns it as base64
Parameters
options
Returns
Promise
<Base64Image
>
removeElements
▸ removeElements(kernelPlanElements
, interactionOptions?
): Promise
<void
>
Parameters
kernelPlanElements
interactionOptions
Returns
Promise
<void
>
removeExternalObjectGroup
▸ removeExternalObjectGroup(groupId
): Promise
<void
>
"removeExternalObjectGroup" removes a group and all its modules from the plan.
Parameters
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
rootModuleId
string
Returns
void
Implementation of
ExternalObjectAPI.removeExternalObjectRootModule
renderImagesOfExternalObjectGroup
▸ renderImagesOfExternalObjectGroup(groupsJson
): Promise
<{ [key: string]
: string
; }>
"renderImagesOfExternalObjectGroups" renders images of groups of modules.
Parameters
groupsJson
string
| object
Returns
Promise
<{ [key: string]
: string
; }>
Implementation of
ExternalObjectAPI.renderImagesOfExternalObjectGroup
resetCameraPosition
▸ resetCameraPosition(): void
Returns
void
Implementation of
resolveShortUrl
▸ resolveShortUrl(shortUrl
): Promise
<string
>
Resolves a shortened URL.
Parameters
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
rotateBy
number
angle in rad
Returns
void
Implementation of
RoomlePlannerCallback.rotateSelection
saveCurrentPlanSnapshot
▸ saveCurrentPlanSnapshot(parentPlanId?
, configurationHashOrGroupId?
): Promise
<RapiPlanSnapshotGetData
>
Parameters
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
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
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
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
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
offset
Returns
void
Implementation of
setEnvironmentMap
▸ setEnvironmentMap(params
): void
Parameters
params
Object
params.intensity?
number
params.maxLightSources?
number
params.rotation?
number
params.url?
string
Returns
void
Implementation of
setMeasurementLineLength
▸ setMeasurementLineLength(measurementId
, length
, wallDirection
): void
Parameters
measurementId
number
length
number
wallDirection
string
Returns
void
setObjectToWallMeasurementLength
▸ setObjectToWallMeasurementLength(planElementId
, measurementId
, length
): void
Parameters
planElementId
number
measurementId
number
length
number
Returns
void
setOverrides
▸ setOverrides(initData
): void
Set general configuration parameter
Parameters
initData
Returns
void
setSceneEvents
▸ setSceneEvents(sceneEvents
): void
set which events are enabled in the scene, for example disable selection of walls and wall nodes
Parameters
sceneEvents
Returns
void
setWallMeasurementLength
▸ setWallMeasurementLength(measurementId
, length
, wallDirection
): void
Parameters
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
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
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
id?
string
Returns
void
switchToViewer
▸ switchToViewer(): Promise
<GlbViewer
>
Returns
Promise
<GlbViewer
>
Implementation of
RoomlePlannerCallback.switchToViewer
syncCatalog
▸ syncCatalog(catalogId
): Promise
<void
>
Parameters
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
updateSize
▸ updateSize(): void
Returns
void
Implementation of
Last updated