# Planner interface

RoomleCore interface

# Basic containers

  • SizeTArray : array of numbers

# Object containers

  • PointPoint : array of Point

  • PlanObjectPtrVector : array of PlanObjectPtr

  • ConstObjectPtr : array of ConstructionObjectPtr

  • WallAreaArray : array of WallArea

  • ObjectArray : array of Object

  • RoomArray : array of Room

  • CatalogItemPtrList : list of CatalogItemPtr

  • PlanObjectPtrList : list of PlanObjectPtr

  • PointList : list of Point

  • ConstructionObjectSet : set of ConstructionObjectPtr

  • PlanObjectObjectSet : set of PlanObjectPtr

# Enumerators

# PlanElementType

enumeration constants: NODE, WALL, OBJECT, FLOOR, CEILING, TEXT, MEASURE, IMAGE, GROUP

# PlanObjectSide

enumeration constants: Back, Front, Left, Right

# WallSide

enumeration constants: Left, Right, Middle

# WallExtensionType

enumeration constants: ExtendBegin, ExtendEnd, ExtendBoth

# MaterialSourceType

enumeration constants: None, CatalogItem, CatalogItem, RgbValue

# DrawingType

enumeration constants: CONTINOUS, CLICK_PER_CLICK

# ResizingAnchor

enumeration constants: Center, BackLeft, BackRight, FrontLeft, FrontRight, Back, Front, Left, Right

# Functions

  • toPlanObjectSide(side : number) : string

  • toWallSide(side : number) : string

  • toDrawingType(drawingType : number) : string

  • toResizingAnchor(resizingAnchor : number) : string

  • catalogItemLoaded(anItem : CatalogItemPtr) : void

  • registerPlannerCallback(callback : any) : void

  • unregisterPlannerCallback(callback : any) : void

# Objects

# ExternalReference

constructor:

  • ExternalReference() : ExternalReferencePtr

# EMSReference

constructor:

  • EMSReference() : EMSReferencePtr

properties:

  • jsObject : any

methods:

  • getVoidReference
  • setVoidReference
  • getSelfPtrRef
  • setSelfPtr
  • clearSelfReference

class methods:

  • ptrFromRaw
  • rawFromPtr

# AbstractModel

constructor:

  • AbstractModel() : AbstractModelPtr

properties:

  • extRef : EMSReferencePtr

methods:

  • getId() : number

# PlanElement

derived from AbstractModel

constructor:

  • PlanElement() : PlanElementPtr

methods:

  • getType() : Type
  • getCenter() : Point
  • isLocked() : boolean
  • isValid() : boolean

# ObjectGroup

derived from PlanElement

constructor:

  • ObjectGroup() : ObjectGroupPtr

methods:

  • getObjects() : PlanObjectPtrList

# PlanText

derived from PlanElement

constructor:

  • PlanText() : PlanTextPtr

methods:

  • getText() : string

# PlanImage

derived from PlanElement

constructor:

  • PlanImage() : PlanImagePtr

properties:

  • url : string
  • size : Point
  • rotation : Point
  • center : Point

# PlanMeasure

derived from PlanElement

constructor:

  • PlanMeasure() : PlanMeasurePtr

methods:

  • getPoint1() : Point
  • getPoint2() : Point

# Node

derived from PlanElement

constructor:

  • Node() : NodePtr

methods:

  • getNumberOfConnectedWalls() : number
  • getMaxWallHeight() : number

# CatalogItem

derived from AbstractModel

constructor:

  • CatalogItem() : CatalogItemPtr

properties:

  • size : Point
  • layer : number
  • type : string object type
  • configuration : string
  • orderable : boolean
  • scaleable : boolean
  • flipable : boolean

# PlanObject

derived from PlanElement

constructor:

  • PlanObject() : PlanObjectCPtr

methods:

  • getCatalogItemId() : string
  • getConfigurationRuntimeId() : number
  • getObjectType() : string
  • hasConfiguration() : boolean
  • isConfigurationLoaded() : boolean

properties:

  • rotation : Point
  • customColor : number
  • level : number
  • flipX : boolean
  • flipY : boolean
  • fixedZ : boolean
  • size : Point
  • boxForMeasurement : Cube

# ConstructionObject

derived from PlanObject

constructor:

  • ConstructionObject() : ConstructionObjectPtr

methods:

  • getAttachedWall() : WallPtr

# Wall

derived from PlanElement

constructor:

  • Wall() : WallPtr

methods:

  • getFrom() : NodePtr
  • getTo() : NodePtr
  • getCornerFromLeft() : Point
  • getCornerFromRight() : Point
  • getCornerToLeft() : Point
  • getCornerToRight() : Point
  • getAngle() : number
  • getLength(side : Side)
  • getPreferredSide() : Side
  • getAttachedObjects() : ObjectSet
  • getAttachedObjectsExtRefArray() : SizeTArray
  • getCenter() : Point

properties:

  • thickness : number
  • height : number
  • leftMaterial : WallMaterial
  • rightMaterial : WallMaterial

# Floor

derived from PlanElement

constructor:

  • Floor() : FloorPtr

methods:

  • getCorners() : PointPoint
  • getTriangulationIndices() : SizeTArray
  • getRandomPointInside() : Point

properties:

  • area : number
  • material : FloorMaterial

# BaseMaterial

derived from AbstractModel

constructor:

  • BaseMaterial() : BaseMaterialPtr

methods:

  • getCatalogItemId() : string
  • getSourceType(): MaterialSourceType

properties:

  • catalogItemId : string
  • materialId : string
  • rgbValue : number

# FloorMaterial

derived from BaseMaterial

constructor:

  • FloorMaterial() : FloorMaterialPtr

# WallMaterial

derived from BaseMaterial

constructor:

  • WallMaterial() : WallMaterialPtr

properties:

  • uvScale : Point
  • rotation : number

# Plan

derived from AbstractModel

constructor:

  • Plan() : PlanPtr

methods:

  • increaseLockLevels() : void
  • getPlanXML(includeRuntimeId : boolean, version : number = 2) : string
  • getPlanXMLWithNormalizedLockLevels(includeRuntimeId : boolean, version : number = 2) : string
  • getBounds() : Cube
  • getPlanObjects() : PlanObjectPtrVector
  • getWallCount() : number
  • getImageCount() : number
  • isEmpty() : boolean
  • getTotalFloorArea() : number
  • applySettings(aRoomHeight : number, aParapet : number)
  • syncToView() : void

properties:

  • defaultParapetHeight : number
  • defaultWallColor : number
  • defaultWallHeight : number
  • defaultWallThickness : number

# ContinuousDrawingManager

constructor:

  • ContinuousDrawingManager() : ContinuousDrawingManagerPtr

methods:

  • getStartPoint() : Point
  • getDrawingAngle() : number
  • getCircleRotation() : number
  • shouldShowCircle() : boolean
  • isCorridorValid() : boolean
  • getCorridor() : Line
  • getDrawnPoints() : PointList

properties:

  • CIRCLE_RADIUS : number

# PlanInteractionHandler

constructor:

  • PlanInteractionHandler() : PlanInteractionHandler

methods:

  • init(zoomFactor : number = 1, viewSnapDist : number = 30, snapObjectsToWalls : boolean = true, bool shouldSnap : boolean = true, aDrawingType : DrawingType = CLICK_PER_CLICK) : void
  • loadPlanXML(planXML : string) : PlanPtr
  • setDefaultParapetHeight(parapetHeight : number, applyToAll : boolean) : void
  • setDefaultWallColor(wallColor : number, applyToAll : boolean) : void
  • setDefaultWallHeight(wallHeight : number, applyToAll : boolean) : void
  • setDefaultWallThickness(wallThickness : number, applyToAll : boolean) : void
  • moveElementBy(anElement : PlanElementPtr, aDiff : Point) : void
  • moveElementTo(anElement : PlanElementPtr, aPosition : Point) : void
  • moveObjectsBy(someObjects: PlanObjectPtrVector, aDiff : Point) : void
  • lockElement(anElement : PlanElementPtr,) : void
  • unlockElement(anElement : PlanElementPtr) : void
  • rotateObjectTo(anObject : PlanObjectPtr, aTargetAngleInRad : number) : void
  • rotateObjectsBy(someObjects: PlanObjectPtrVector, anAngleInRad : number, aroundPoint : Point) : void
  • rotateGroupBy(aGroup : ObjectGroupPtr, anAngleInRad : number, aroundPoint : Point) : void
  • setObjectRotation(anObject : PlanObjectPtr, aTargetAngleInRad : number) : void
  • setObjectFlipX(anObject : PlanObjectPtr, shouldFlipX : boolean) : void
  • setObjectFlipY(anObject : PlanObjectPtr, shouldFlipY : boolean) : void
  • setObjectFixedZanObject : PlanObjectPtr, shouldFlipZ : boolean) : void
  • setObjectCustomColor(anObject : PlanObjectPtr, aCustomColor : number) : void
  • setObjectCustomLabel(anObject : PlanObjectPtr, aLabel : string) : void
  • setObjectSize(anObject : PlanObjectPtr, aNewSize : Point, anAnchor : Anchor) : void
  • deleteObjectsInGroup(aGroup : ObjectGroupPtr) : void
  • duplicateGroup(aGroup : ObjectGroupPtr, count : number) : void
  • groupObjects(someObjects: PlanObjectPtrVector) : void
  • ungroup(aGroup : ObjectGroupPtr) : void
  • duplicatePlanObjects(someObjects: PlanObjectPtrVector, count : number) : void
  • moveObjectsBy(omeObjects: PlanObjectPtrVector, aDiff : Point) : void
  • setLengthOfWall(aWall : WallPtr, aNewLength : number, aSide : WallSide, anExtensionType : WallExtensionType, alsoMoveOrthogonalWalls : boolean) : void
  • setWallThickness(aWall : WallPtr, aThickness : number) : void
  • setWallHeight(aWall : WallPtr, aHeight : number) : void
  • setWallLeftMaterial(aWall : WallPtr, aMaterial : WallMaterialPtr) : void
  • setWallRightMaterial(aWall : WallPtr, aMaterial : WallMaterialPtr) : void
  • setFloorMaterial(aFloor FloorPtr, aMateria, FloorMaterialPtr) : void
  • setFloorMaterialRotation(aFloor FloorPtr, aRotationInRad : number) : void
  • setFloorMaterialUvScale(aFloor FloorPtr, aScale : Point) : void
  • setPlanTexterText(aText : PlanTextPtr, texterText : string) : void
  • setPlanTexterSize(aText : PlanTextPtr, newSize : Point) : void
  • setMeasurePoint1(aText : PlanTextPtr, aPoint : Point) : void
  • setMeasurePoint2(aText : PlanTextPtr, aPoint : Point) : void
  • setPlanImageRotation(anImage : PlanImagePtr, newRotation : Point) : void
  • setPlanImageSize(anImage : PlanImagePtr, newSize : Point) : void
  • removeElement(anElement : PlanElementPtr) : void
  • duplicatePlanObject(object : PlanObjectPtr, count : number) : PlanObjectPtrVector
  • addWall(from : Point, to : Point) : WallPtr
  • addNode(aPosition : Point) : NodePtr
  • addText(aText : string, aPosition : Point) : PlanTextPtr
  • addPlanObject(anItemId : string, aType : string, aSize : Point, aPosition : Point = {x=0, y=0, z=0}, aRotationInRad : number = 0) : PlanObjectPtr
  • addPlanObjects(list : CatalogItemPtrList) : PlanObjectPtrVector
  • addPlanObjectFromItem(anItem : CatalogItemCPtr, aPosition : Point = {x=0, y=0, z=0} aRotationInRad : number = 0) : PlanObjectPtr
  • addMeasure(startPosition : Point, endPosition : Point) : PlanMeasurePtr
  • addImage(anUrl : string, aCenter : Point, aSize : Point, aRotation : Point) : PlanImagePtr
  • getPlan() : PlanPtr
  • setPlan(aPlan : PlanPtr) : void
  • clearPlan() : void
  • setViewSnapDist(aDist : number) : void
  • setZoomFactor(pxPerMM : number) : void
  • endInteraction(anElement : PlanElementPtr, removeFromSet : boolean = true) : void
  • startInteraction(anElement : PlanElementPtr) : void
  • beginDrawing(atPoint : Point) : void
  • currentDrawingPosition(atPoint : Point) : void
  • forceNode(atPoint : Point) : void
  • endDrawing(atPoint : Point) : void
  • cancelDrawing()
  • setDrawingType(aNewDrawingType : DrawingType)
  • getContinuousDrawingManager() : ContinuousDrawingManager
  • deactivateAllSnappingActivity() : void
  • reactivateAllSnappingActivity() : void
  • snapObjectsToWalls(snapObjects : boolean) : void
  • getConfiguratorKernel() : ConfiguratorKernelPtr
  • loadPlanObjectConfigurations() : void
  • undo() : void
  • redo() : void
  • isRedoPossible() : boolean
  • isUndoPossible() : boolean
  • getRelativeHistoryPosition() : number

properties:

  • unit : string

# MaterialDTO

properties:

  • id : string
  • type : MaterialSourceType
  • rgbValue : number

# FloorMaterialDTO

properties:

  • id : string
  • type : MaterialSourceType
  • rgbValue : number
  • scaleX : number
  • scaleY : number
  • rotation : number

# WallArea

properties:

  • area : number
  • material : Material

# Object

properties:

  • runtimeId : number
  • dimensions : Vector3f
  • center : Vector3f
  • customColor : number
  • rotation : number
  • customLabel : string
  • catalogItemId : string
  • configuration : string
  • configurationHash : string
  • parts : PartList

# 'Room'

properties:

  • area : number
  • bounds : Cube
  • floorMaterial : FloorMaterial
  • walls : WallAreaArray
  • objects : ObjectArray

# Plan

Why does the dto::Plan have the same name as the Plan object?

properties:

  • area : number
  • bounds : Cube
  • outsideWalls : WallAreaArray
  • rooms : RoomArray
  • objects : ObjectArray

# PlanModelViewHelper

class methods:

  • requestMesh3d(anElement : PlanElementPtr) : void
  • requestPlanMesh3d(aPlan : PlanPtr, includeCeiling : boolean) : void
  • requestWallMesh2d(wall : WallPtr) : void
  • requestWallMesh3d(wall : WallPtr) : void
  • requestFloorMesh2d(floor : FloorPtr) : void
  • getCeilingHeight(floor : FloorPtr) : number
  • getMaxDistToBorderForPlanObject(anObject : PlanObjectCPtr) : number
  • getDistToNextWallOnSide(anObject : PlanObjectPtr, aSide : Side, maxDist : number) : number
  • getDistAlongWallOnSide(anObject : ConstructionObjectPtr, aSide : Side, aWallSide : Side) : number
  • getPlanOverview(plan : PlanPtr) : Plan