# Service interface

ConfiguratorKernel interface

# Enums

  • DimensionType : X, Y, Z
  • Type : UNKNOWN, INTEGRAL, DECIMAL, STRING, MATERIAL
  • Unit : InchFeet, MM, CM, Inch, Feet
  • UnitStringType : NoUnitString, LongUnitString, ShortUnitString
  • UnitType : LENGTH, AREA, ANGLE, COUNT

# Containers

  • StringArray : array of std::string
  • Vector2fArray : array of roomle::Vector2f
  • FloatArray : array of float
  • Vector3fArray : array of roomle::Vector3f
  • LongArray : array of long
  • DockPairToPointArray : array of DockPairToPoint
  • DockPairToLineArray : array of DockPairToLine
  • DimensioningArray : array of Dimensioning
  • ComponentArray : array of PlanComponent
  • VariableArray : array of Variable
  • RangeArray : array of RangeDTO
  • ParameterValueArray : array of ParameterValueDTO
  • ParameterArray : array of ParameterDTO
  • ParameterGroupArray : array of ParameterGroup
  • PartListParameterArray : array of PartListParameterDTO
  • ConfigurationArray : array of Configuration
  • PartArray : array of Part
  • PartListArray : array of PartList
  • PossibleChildArray : array of PossibleChildDTO
  • AddOnSpotArray : array of AddOnSpot
  • PlanObjectListArray : array of PlanObjectListElement
  • ParamKeyValuePairArray : array of ParameterKeyValuePair
  • ParamKeyValuePairArrayArray : array of std::vector<ParameterKeyValuePair>
  • VariantArray : array of Variant
  • IntArray : array of int
  • StringStringMap : map of string: string

# Objects

# AddOnSpot

  • mask: string
  • position: Vector3f

# Component

  • addOnSpots: AddOnSpot[]
  • boundingBox: Cube
  • bounds: Vector3f
  • boxForMeasurement: Cube
  • childIds: number[]
  • componentId: string
  • deletionLocked: boolean
  • dimensionings: Dimensioning[]
  • globalTransform: Matrix4f
  • hash: string
  • id: number
  • label: string
  • labelIsCalculated: boolean
  • parameterGroups: ParameterGroup[]
  • parameters: Parameter[]
  • position: Vector3f
  • possibleChildren: PossibleChild[]
  • rotation: Vector3f
  • transform: Matrix4f
  • valid: boolean

# Configuration

  • children: Configuration[]
  • componentId: string
  • dockChild: string
  • dockParent: string
  • dockPosition: string
  • parameters: Map<string, string>

# Cube

  • origin: Point
  • size: Point

# Dimensioning

  • from: number
  • label: string
  • level: number
  • maxLevel: number
  • to: number
  • type: { value: DimensionType }
  • visible: boolean

# DockPairToLine

  • childDockId: number
  • childId: number
  • lineFrom: Vector3f
  • lineTo: Vector3f
  • parentDockId: number
  • parentId: number
  • position: Vector3f
  • positionFrom: Vector3f
  • positionTo: Vector3f
  • rotation: Vector3f

# DockPairToPoint

  • childDockId: number
  • childId: number
  • parentDockId: number
  • parentId: number
  • position: Vector3f
  • rotation: Vector3f

# Line

  • angle: number
  • endPoint: Point
  • length: number
  • startPoint: Point

# Matrix3f

  • m: number[]

# Matrix4f

  • m: number[]

# ParamKeyValuePair

  • parameterKey: string
  • parameterValue: string
  • parameterValueTo: string

# Parameter

  • enabled: boolean
  • group: string
  • highlighted: boolean
  • key: string
  • label: string
  • sort: number
  • type: PARAMETER_KERNEL_TYPE
  • unitType: PARAMETER_UNIT_TYPES
  • validGroups: string[]
  • validRange: Range
  • validValues: ParameterValue[]
  • value: string
  • valuesAreEqual: boolean

# ParameterGroup

  • collapsed: boolean
  • key: string
  • label: string
  • sort: number

# ParameterValue

  • label: string
  • thumbnail: string
  • value: string

# ParametersAndParameterGroups

  • parameterGroups: ParameterGroup[]
  • parameters: Parameter[]

# Part

  • articleNr: string
  • componentId: string
  • componentRuntimeIds: number[]
  • count: number
  • currencySymbol: string
  • deletionLocked: boolean
  • hasGeometry: boolean
  • label: string
  • labelIsCalculated: boolean
  • packageSize: number
  • parameters: PartListParameter[]
  • price: number
  • retailerPrice: number
  • subpartId: number
  • valid: boolean

# PartList

  • fullList: Part[]
  • originPart: Part
  • perMainComponent: Array<PartList>

# PartListParameter

  • key: string
  • label: string
  • sort: number
  • type: string
  • unitType: string
  • value: string
  • valueLabel: string
  • valueThumbnail: string

# PlanObject

  • bounds: Vector3f
  • boxForMeasurement: Cube
  • id: number
  • parameterGroups: ParameterGroup[]
  • parameters: Parameter[]
  • rootPlanComponentId: number

# PlanObjectList

  • configuration: string
  • configurationHash: string
  • count: number
  • partList: PartList
  • rootComponentId: string

# Point

  • x: number
  • y: number
  • z: number

# PossibleChild

  • componentId: string
  • group: string
  • isDefault: boolean
  • itemId: string
  • possible: boolean

# Range

  • step: number
  • type: string
  • valueFrom: number
  • valueTo: number

# Variable

  • key: string
  • type: string
  • value: string

# Variant

  • componentId: string
  • parameterValues: ParamKeyValuePairArrayArray
  • parts: PartList

# Vector2f

  • x: number
  • y: number

# Vector3f

  • x: number
  • y: number
  • z: number

# Classes

# class Kernel

methods:

  • useHDGeometry(shouldUse: boolean) : void

  • useEnvironmentGeometry(shouldUse: boolean) : void

  • setLogLevel(level: number) : void

  • loadConfiguration(conversationId: number, serializedConfiguration: string, bounding: Vector3f) : void

  • loadFreeFlyingConfiguration(conversationId: number, serializedConfiguration: string) : void

  • loadComponentDefinition(conversationId: number, serializedComponent: string) : void

  • loadComponent(conversationId: number, serializedComponent: string, configuration: Configuration, parentId: number) : void

  • loadedSubComponent(parentId: number, subComponentId: string, componentId: string, serializedComponent: string) : void

  • loadedItemConfiguration(conversationId: number, itemId: string, serializedItemConfiguration: string) : void

  • loadPlainComponent(conversationId: number, componentId: string, serializedComponent: string) : void

  • saveConfiguration(planObjectId: number) : void

  • getComponent(planComponentId: number) : Component

  • getComponentParameters(planComponentId: number) : ParameterArray

  • setComponentParameter(conversationId: number, key: string, value: string) : void

  • getCommonPlanComponentParameters(somePlanComponentIds: LongArray) : ParametersAndParameterGroups

  • setPlanComponentParameters(somePlanComponentIds: LongArray, key: string, value: string) : void

  • dockComponent(id: number, dockId: number, parentId: number, parentDockId: number) : void

  • dockComponentWithPosition(id: number, dockId: number, parentId: number, parentDockId: number, position: Vector3f) : void

  • determinePlanComponentsThatWillBeDeleted(planComponentId: number, tryDockChildrenToParent: boolean) : LongArray Determine all PlanComponents that are deleted when the 'deletePlanComponent' or 'deleteComponent' command is invoked.

  • deleteComponent(planComponentId: number) : void Deletes a single PlanComponent and all its children.

  • deletePlanComponent(planComponentId: number) : void Deletes a single PlanComponent and tries to dock its children back to the parent.

  • prepareForIncrementalUpdate() : void

  • doNextIncrementalUpdate() : void

  • getPartList(planComponentId: number) : PartList

  • getFullPartList() : PartList

  • isConfigurationValid(planObjectOrComponentId: number) : boolean

  • getHashOfConfiguration(planObjectOrComponentId: number) : string

  • getHashOfSerializedConfiguration(serializedConfiguration: string) : string

  • getSerializedConfiguration(planObjectOrComponentId: number) : string

  • createNewSerializedConfiguration(planObjectOrComponentId: number) : string

  • clearScene() : void

  • clearAll() : void

  • reset() : void

  • getEnvironmentVariables() : void

  • getEnvironmentVariable(key: string) : void

  • setEnvironmentVariable(key: string, value: string) : void

  • getPlannedObjects() : void

  • getPlanObjectParameters(planObjectId: number) : ParameterArray

  • setPlanObjectParameter(planObjectId: number, key: string, value: string) : void

  • deletePlanObject(planObjectId: number) : void

  • getPlanObject(planObjectId: number) : PlanObject

  • getRootPlanComponentIdFromObjectId(planObjectId: number) : number

  • getComponentId(objectOrPlanComponentId: number) : string

  • getCurrencySymbol(planComponentId: number) : string

  • getPrice(planComponentId: number) : number

  • addPriceList(priceListId: string) : void

  • resetPriceListIds() : void

  • requestPlanObjectConstruction(planComponentId: number) : void

  • requestMergedPlanObjectConstruction(planComponentId: number) : void

  • requestPlanComponentConstruction(planComponentId: number) : boolean

  • requestDeltaPlanComponentConstruction(planComponentId: number) : boolean

  • requestPlanComponentConstructionRecursive(planComponentId: number) : void

  • requestPreviewGeometry(planComponentId: number, planObjectId: number) : void

  • setMaterialsInGroup(materialGroupsVal: any) : void

  • setMaterialProperties(propertiesOfMaterials: any) : void

  • setActiveGroupInView(activeGroup: string) : void

  • setActiveGroupInViewForPlanObject(activeGroup: string, planObjectOrComponentId: number) : void

  • getPlanObjectPossibleChildren(planObjectId: number) : PossibleChildArray

  • getChildrenOfPlanObject(planObjectId: number, onlyPossibleChildren: boolean, onlyVisibleChildren: boolean) : PossibleChildArray

  • getPlanComponentPossibleChildren(planComponentId: number) : PossibleChildArray

  • getChildrenOfPlanComponent(planComponentId: number, onlyPossibleChildren: boolean, onlyVisibleChildren: boolean) : PossibleChildArray

  • deletePlanComponents(somePlanComponentIds: LongArray) : void

  • syncPlanObjectToView(conversationId: number, planObjectId: number) : void

  • getAddOnSpotsForPlanObject(planObjectId: number) : AddOnSpotArray

  • addMeshCorto(meshId: string, quality: number, typedArray: any) : void

  • requestVariantList(componentId: string, onlyArticleNr: boolean) : void

  • generateTCExport(planObjectId: number, defaultExportDefinition: string) : string

  • generateProductionServiceExport(planObjectId: number, defaultExportDefinition: string) : string

  • generateBlueOceanPoCJSON(planObjectId: number) : string

  • generateIMOSiXExport(planObjectId: number, defaultExportDefinition: string) : string

# class UnitMeasureFormatter

methods:

  • init(mmLabel: string, cmLabel: string, ftShortLabel: string, ftLongLabel: string, inchShortLabel: string, inchLongLabel: string, sqMLabel: string, sqftLabel: string, showExactValue: boolean, maxPrecision: number, showFractionalUnitString: boolean) : void
  • showExactValues(shouldUseExactValue: boolean) : void
  • setMaxPrecision(maxPrecision: number) : void
  • showFractionalValues(shouldShowFractionalValues: boolean) : void
  • isParseableNumber(value: string) : boolean
  • isParseableUnitString(unitString: string, unit: Unit) : boolean
  • parseSquareMMValueFromUnitString(value: string, unit: Unit) : number
  • parseMMValueFromUnitString(value: string, unit: Unit) : number
  • parseNumber(value: string) : number
  • formatNumber(value: number, digit: number) : string
  • formatSquareMMValueToUnitString(value: number, unit: Unit) : string
  • formatMMValueToUnitString(value: number, unit: Unit, unitStringType: UnitStringType) : string
  • formatMMValueWithReqMaxLength(value: number, unit: Unit, reqMaxSize: number) : string