@roomle/embedding-lib 5.30.1 → 5.31.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/docs/md/web/embedding/CHANGELOG.md +23 -2
  2. package/package.json +1 -1
  3. package/packages/design-system/build-webcomponents.d.ts +5 -0
  4. package/packages/design-system/src/utils/shadow-dom.d.ts +6 -0
  5. package/packages/design-system/src/utils/toggle.d.ts +19 -0
  6. package/packages/embedding-lib/src/examples/homag-intelligence-example.d.ts +11 -0
  7. package/packages/embedding-lib/src/examples/utils/homag-intelligence/drag-in.d.ts +1 -0
  8. package/packages/web-sdk/packages/common-core/src/configurator-kernel-access.d.ts +5 -6
  9. package/packages/web-sdk/packages/common-core/src/services/cache-holder.d.ts +5 -2
  10. package/packages/web-sdk/packages/common-core/src/utils/common-utils.d.ts +37 -0
  11. package/packages/web-sdk/packages/common-core/src/utils/init-data.d.ts +1 -1
  12. package/packages/web-sdk/packages/common-core/src/utils/threejs-utils.d.ts +3 -0
  13. package/packages/web-sdk/packages/common-core/src/view-model/configurator-view-model.d.ts +5 -7
  14. package/packages/web-sdk/packages/common-core/src/webgl/roomle-component-factory.d.ts +1 -1
  15. package/packages/web-sdk/packages/configurator-core/src/services/configurator-ui-callback.d.ts +4 -0
  16. package/packages/web-sdk/packages/configurator-core/src/utils/animation/animation-helper.d.ts +3 -2
  17. package/packages/web-sdk/packages/configurator-core/src/utils/animation/drag-insert-animation.d.ts +2 -2
  18. package/packages/web-sdk/packages/configurator-core/src/utils/dimensioning-helper.d.ts +30 -18
  19. package/packages/web-sdk/packages/configurator-core/src/webgl/configurator-scene-event-handler.d.ts +4 -0
  20. package/packages/web-sdk/packages/configurator-core/src/webgl/configurator-scene-manager.d.ts +0 -3
  21. package/packages/web-sdk/packages/homag-intelligence/__tests__/glue-logic-test.d.ts +1 -0
  22. package/packages/web-sdk/packages/homag-intelligence/src/api.d.ts +4 -3
  23. package/packages/web-sdk/packages/homag-intelligence/src/callbacks.d.ts +1 -1
  24. package/packages/web-sdk/packages/homag-intelligence/src/debug-logging.d.ts +6 -7
  25. package/packages/web-sdk/packages/{planner-core → homag-intelligence}/src/external-object-api.d.ts +26 -10
  26. package/packages/web-sdk/packages/homag-intelligence/src/{emulator.d.ts → glue-logic.d.ts} +12 -13
  27. package/packages/web-sdk/packages/homag-intelligence/src/hi-object-selection.d.ts +2 -2
  28. package/packages/web-sdk/packages/homag-intelligence/src/hi-tag-catalog-callbacks.d.ts +1 -1
  29. package/packages/web-sdk/packages/homag-intelligence/src/homag-intelligence.d.ts +1 -1
  30. package/packages/web-sdk/packages/homag-intelligence/src/orders.d.ts +1 -1
  31. package/packages/web-sdk/packages/planner-core/src/roomle-planner-ui-callback.d.ts +1 -1
  32. package/packages/web-sdk/packages/planner-core/src/roomle-planner.d.ts +21 -22
  33. package/packages/web-sdk/packages/planner-core/src/services/planner-kernel-access.d.ts +10 -6
  34. package/packages/web-sdk/packages/planner-core/src/view-model/plan-view-model.d.ts +1 -1
  35. package/packages/web-sdk/packages/planner-core/src/webgl/planner-element-highlighter.d.ts +1 -0
  36. package/packages/web-sdk/packages/planner-core/src/webgl/planner-scene-event-handler.d.ts +4 -4
  37. package/packages/web-sdk/packages/planner-core/src/webgl/planner-scene-manager.d.ts +10 -5
  38. package/packages/web-sdk/packages/typings/configurator-kernel-container.d.ts +3 -6
  39. package/packages/web-sdk/packages/typings/kernel.d.ts +20 -15
  40. package/packages/web-sdk/packages/typings/planner-kernel-container.d.ts +4 -7
  41. package/packages/web-sdk/packages/typings/planner.d.ts +10 -6
  42. package/src/common/components/flying-menu/FlyingMenuToggles.vue.d.ts +16 -0
  43. package/src/common/components/notifications/MaximumLightNotification.vue.d.ts +8 -0
  44. package/src/common/components/notifications/RenderingLightNotification.vue.d.ts +6 -0
  45. package/src/common/components/parameters/ColorParameter.vue.d.ts +2 -2
  46. package/src/common/components/side-bar/utils/configurator-sidebar-components.d.ts +88 -46
  47. package/src/common/components/utils/-utils/notifications.d.ts +4 -0
  48. package/src/common/composables/use-static-item-parameters.d.ts +1 -1
  49. package/src/configurator/components/addons/PossibleChildren.vue.d.ts +2 -2
  50. package/src/configurator/components/grid-view/GridView.vue.d.ts +2 -2
  51. package/src/configurator/components/parameters/types/MaterialParameter.vue.d.ts +2 -2
  52. package/src/configurator/components/parameters/types/ProductVariant.vue.d.ts +2 -2
  53. package/src/configurator/components/parameters/types/ThumbnailsParameter.vue.d.ts +2 -4
  54. package/src/configurator/embedding/exposed-api.d.ts +10 -1
  55. package/src/configurator/embedding/types.d.ts +3 -0
  56. package/src/planner/components/overlays/rooms/ElementLengthScaling.vue.d.ts +79 -35
  57. package/src/planner/components/overlays/rooms/ParameterSwitch.vue.d.ts +2 -0
  58. /package/packages/web-sdk/packages/{planner-core → homag-intelligence}/src/external-object-api-callbacks.d.ts +0 -0
@@ -1,4 +1,5 @@
1
- import { CheckResult, PosContour } from '../../homag-intelligence/src/model/oc-scripts-domain.model';
1
+ import { Position3 } from '../../common-core/src/common-interfaces';
2
+ import { CheckResult, PosContour } from './model/oc-scripts-domain.model';
2
3
 
3
4
  export interface ExternalObjectUiSliderRange {
4
5
  min: number;
@@ -44,7 +45,22 @@ export declare const HI_CONTEXT_ACTION: {
44
45
  readonly ROOM: "room";
45
46
  readonly ISOLATION: "isolation";
46
47
  };
47
- export type HiContextAction = typeof HI_CONTEXT_ACTION[keyof typeof HI_CONTEXT_ACTION];
48
+ export type HiContextAction = (typeof HI_CONTEXT_ACTION)[keyof typeof HI_CONTEXT_ACTION];
49
+ export type ExternalGroupData = object | object[] | string | string[];
50
+ export interface LoadExternalObjectOptions {
51
+ dragIn?: boolean;
52
+ newAction?: boolean;
53
+ findFreeSpaceInPlan?: boolean;
54
+ correctArrangement?: boolean;
55
+ moduleIdMap?: Array<{
56
+ originalModuleId: string;
57
+ newModuleId: string;
58
+ }>;
59
+ respondWithPositionInPlan?: boolean;
60
+ mergedGroups?: string[];
61
+ position?: Position3;
62
+ rotation?: number;
63
+ }
48
64
  export interface ExternalObjectAPI {
49
65
  /**
50
66
  * With "configureExternalObjectApi" the default representation of the objects and UI and
@@ -66,20 +82,20 @@ export interface ExternalObjectAPI {
66
82
  */
67
83
  loadExternalObjectMasterData(masterDataJson: string | object): void;
68
84
  /**
69
- * "loadExternalObjectGroup" loads a group of modules and places them in the plan.
85
+ * "loadExternalObjectGroups" loads groups of modules and places them in the plan.
70
86
  * If the group has already been loaded, it is completely replaced by the new group.
71
87
  * This function therefore has 2 use cases:
72
88
  * 1. Load a new group of modules
73
89
  * 2. Update or modify an existing group of modules
74
90
  * The initial location of the group and the IDs of the modules are defined in the group JSON.
75
91
  * @param groupJson The group JSON as string or object.
76
- * @param findFreeSpaceInPlan A free space is automatically searched for in the plane.
77
- * @param verifyArrangement Verify whether the root modules of the group need to be rearranged as they have changed in size.
78
- * @param mergedGroups Groups that were merged into another group and have to be delete (this is required to generate correct undo/redo steps).
79
- * @param respondWithPositionInPlan If true, loading the group is responded with the new planning situation of the group (`onChangedExternalObjectGroupPlan`).
80
- * @param moduleIdMap Optional mapping of module IDs that associates original module IDs with new module IDs (required for the correction of the arrangement of root modules).
92
+ * @param options Options for loading the external object groups.
93
+ */
94
+ loadExternalObjectGroups(groupJson: ExternalGroupData, options: LoadExternalObjectOptions): Promise<void>;
95
+ /**
96
+ * Deprecated API that can be deleted once the new API is fully integrated into the OC.
81
97
  */
82
- loadExternalObjectGroup(groupJson: object | string | string[], findFreeSpaceInPlan: boolean, verifyArrangement?: boolean, mergedGroups?: string[], respondWithPositionInPlan?: boolean, moduleIdMap?: ExternalObjectModuleIdMap[]): Promise<void>;
98
+ loadExternalObjectGroup(groupJson: object | string | string[], findFreeSpaceInPlan: boolean, verifyArrangement?: boolean, mergedGroups?: string[], respondWithPositionInPlan?: boolean, moduleIdMap?: ExternalObjectModuleIdMap[], newAction?: boolean): Promise<void>;
83
99
  /**
84
100
  * "updateExternalObjectGroupAttribute" modifies an attribute of a root module or sub module.
85
101
  * The attribute with the ID "attributeId" of the sub module with the ID "moduleId"
@@ -146,7 +162,7 @@ export interface ExternalObjectAPI {
146
162
  * @param groupOrRootModuleId The ID of the group or root module that should be selected.
147
163
  * @param subModuleId The optional ID of the sub module that should be selected.
148
164
  * @param contextAction The context action defines whether the selection is done in room context or isolation context or no context change is done.
149
- */
165
+ */
150
166
  selectExternalObject(groupOrRootModuleId: string, subModuleId: string | null, contextAction: HiContextAction): Promise<void>;
151
167
  /**
152
168
  * "openOrCloseGeometryOfExternalObject" switches the geometry of the modules between closed and open representation.
@@ -1,8 +1,8 @@
1
1
  import { HiCallbacks } from '../../../../embedding-lib/src/embedding-lib';
2
2
  import { ExternalModuleInformation, ExternalObjectGroup } from './callbacks';
3
3
  import { MasterData, PosModuleAttribute, PosGroup, PosModuleData, CheckResult, PosSaveData } from './model/oc-scripts-domain.model';
4
- import { ExternalObjectModuleIdMap } from './api';
5
4
  import { HiObjectSelection } from './hi-object-selection';
5
+ import { LoadExternalObjectOptions } from './external-object-api';
6
6
 
7
7
  export interface LibraryData {
8
8
  libraryId: string;
@@ -15,7 +15,7 @@ export interface LibraryData {
15
15
  }
16
16
  export interface RoomDesignerRequests {
17
17
  loadMasterData(masterData: MasterData): void;
18
- loadPosGroups(posDataJson: PosGroup | PosGroup[], findFreeSpaceInPlan: boolean, verifyArrangement: boolean, mergedGroups?: string[], respondWithPositionInPlan?: boolean, moduleIdMap?: ExternalObjectModuleIdMap[]): Promise<void>;
18
+ loadPosGroups(posDataJson: PosGroup | PosGroup[], options: LoadExternalObjectOptions): Promise<void>;
19
19
  selectGroup(groupId: string): Promise<void>;
20
20
  selectRoot(rootModuleId: string): Promise<void>;
21
21
  selectModule(rootModuleId: string, subModuleId: string): Promise<void>;
@@ -42,15 +42,14 @@ export interface GlueLogic {
42
42
  mergeGroups(targetGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], idOfTargetRootModule: string): void;
43
43
  deleteRootModule(remainingGroup: ExternalObjectGroup, rootModuleIdToDelete: string, splitOffGroups: ExternalObjectGroup[]): void;
44
44
  splitRootModuleFromGroup(splitGroup: ExternalObjectGroup, newGroupedRootModules: ExternalObjectGroup[]): void;
45
- duplicateGroup(sourceGroupId: string, duplicatedGroup: ExternalObjectGroup): void;
45
+ duplicateGroup(duplicatedGroup: ExternalObjectGroup): void;
46
+ swapRootModule(groupId: string, rootModuleId: string, articleId: string): void;
46
47
  modifyAttribute(groupId: string, moduleIdObjects: ExternalModuleInformation[], attributeName: string, value: string): void;
47
- updateAttribute(rootModuleId: string, moduleId: string, attributeId: string, attributeValue: string | boolean): void;
48
+ updateAttribute(rootModuleId: string, moduleId: string | null, attributeId: string, attributeValue: string | boolean): void;
48
49
  getVerifiedAttributeOptions(moduleId: string, attributeIds?: string | string[]): Promise<Record<string, CheckResult> | undefined>;
49
50
  updateAdditionalInfo(rootModuleId: string, additionalInfo: string): void;
50
- swapRootModule(groupId: string, rootModuleId: string, articleId: string): void;
51
51
  arrangeRootModulesOfGroup(changedGroup: ExternalObjectGroup): void;
52
52
  changedGroupPlanningSituation(changedGroup: ExternalObjectGroup): void;
53
- deleteGroup(groupId: string): Promise<void>;
54
53
  changedGroup(posDataJson: PosGroup): void;
55
54
  loadedGroup(posDataJson: PosGroup): void;
56
55
  groupsCompletelyLoaded(): void;
@@ -58,7 +57,7 @@ export interface GlueLogic {
58
57
  openCloseGroup(groupId: string): void;
59
58
  newPosDataFromId(id: string): PosGroup | undefined;
60
59
  getGroupDataForOrder(roomlePlannerId?: string): Promise<any>;
61
- savePlanSnapshot(): Promise<PlanSnapshot>;
60
+ savePlanSnapshot(): Promise<PlanSnapshot | null>;
62
61
  }
63
62
  export interface PlanSnapshot {
64
63
  id: string;
@@ -71,7 +70,7 @@ interface GroupItem {
71
70
  posDataJson: PosGroup;
72
71
  opened: boolean;
73
72
  }
74
- export declare class Emulator implements GlueLogic {
73
+ export declare class GlueLogicImplementation implements GlueLogic {
75
74
  private _designerRequests;
76
75
  private _libraryData;
77
76
  private _posDataForLoading;
@@ -85,20 +84,20 @@ export declare class Emulator implements GlueLogic {
85
84
  constructor(designerRequests: RoomDesignerRequests, hiCallbacks?: HiCallbacks | null);
86
85
  get hiCallbacks(): HiCallbacks | null;
87
86
  get hiObjectSelection(): HiObjectSelection;
87
+ private _getGroup;
88
88
  getLibraryData(data: string | PosGroup): LibraryData | null;
89
89
  isLibraryLoaded(libraryId: string): boolean;
90
90
  addLibrary(libraryData: LibraryData): void;
91
91
  loadPosData(articleCatalogJson: any, libraryId: string): void;
92
92
  setPosDataForLoading(posData: PosSaveData | null): void;
93
93
  newPosDataFromId(id: string): any;
94
- deleteGroup(groupId: string): Promise<void>;
95
94
  selectGroup(groupId: string): Promise<void>;
96
95
  selectRoot(_groupId: any, rootId: string): Promise<void>;
97
96
  deleteRoot(_groupId: any, rootId: string): Promise<void>;
98
97
  selectSubModule(_groupId: any, rootId: string, moduleId: string): Promise<void>;
99
98
  openCloseGroup(groupId: string): Promise<void>;
100
99
  deleteRootModule(remainingGroup: ExternalObjectGroup, rootModuleIdToDelete: string, splitOffGroups: ExternalObjectGroup[]): void;
101
- duplicateGroup(_sourceGroupId: string, duplicatedGroup: ExternalObjectGroup): Promise<void>;
100
+ duplicateGroup(duplicatedGroup: ExternalObjectGroup): void;
102
101
  mergeGroups(targetGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], idOfTargetRootModule: string): void;
103
102
  private _applyImplicitRelevantAttributes;
104
103
  splitRootModuleFromGroup(splitGroup: ExternalObjectGroup, newGroupedRootModules: ExternalObjectGroup[]): void;
@@ -127,14 +126,14 @@ export declare class Emulator implements GlueLogic {
127
126
  private _calculateAndUpdateGroupMap;
128
127
  private _addNewGroup;
129
128
  private _addGroupToMap;
130
- updateAttribute(rootModuleId: string, moduleId: string, attributeId: string, attributeValue: string | boolean): void;
129
+ updateAttribute(rootModuleId: string, moduleId: string | null, attributeId: string, attributeValue: string | boolean): void;
131
130
  modifyAttribute(groupId: string, moduleIdObjects: ExternalModuleInformation[], attributeName: string, value: string): void;
132
131
  getVerifiedAttributeOptions(moduleId: string, attributeIds?: string | string[]): Promise<Record<string, CheckResult> | undefined>;
133
132
  updateAdditionalInfo(rootModuleId: string, additionalInfo: string): void;
134
133
  swapRootModule(groupId: string, rootModuleId: string, articleId: string): void;
135
- _modifyAttributeOfModules(emulatorGroupItem: GroupItem, moduleIds: string[] | string, attributeName: string, value: string | boolean): PosGroup;
134
+ _modifyAttributeOfModules(emulatorGroupItem: GroupItem, moduleIds: string[] | string, attributeId: string, value: string | boolean): PosGroup;
136
135
  private _setAttribute;
137
- savePlanSnapshot(): Promise<PlanSnapshot>;
136
+ savePlanSnapshot(): Promise<PlanSnapshot | null>;
138
137
  private _findRootModuleInAllGroups;
139
138
  private _findModuleInAllGroups;
140
139
  private _findModule;
@@ -12,13 +12,13 @@ export declare const HI_SELECTION_TYPE: {
12
12
  readonly ROOT_MODULE: "rootModule";
13
13
  readonly SUB_MODULE: "subModule";
14
14
  };
15
- export type HiSelectionType = typeof HI_SELECTION_TYPE[keyof typeof HI_SELECTION_TYPE];
15
+ export type HiSelectionType = (typeof HI_SELECTION_TYPE)[keyof typeof HI_SELECTION_TYPE];
16
16
  export declare const HI_SELECTION_MODE: {
17
17
  readonly MULTI_SELECT: "multiselect";
18
18
  readonly TC_CONFIG: "tc-config";
19
19
  readonly RML_OBJECT: "rml-object";
20
20
  };
21
- export type HiSelectionMode = typeof HI_SELECTION_MODE[keyof typeof HI_SELECTION_MODE];
21
+ export type HiSelectionMode = (typeof HI_SELECTION_MODE)[keyof typeof HI_SELECTION_MODE];
22
22
  export declare class HiObjectSelection {
23
23
  private _callbacks;
24
24
  private _contextType;
@@ -1,4 +1,4 @@
1
- import { GlueLogic } from './emulator';
1
+ import { GlueLogic } from './glue-logic';
2
2
  import { Context } from '../../common-core/src/di/context';
3
3
 
4
4
  export declare const FAKE_ROOT_TAG = "external:root-tag";
@@ -1,5 +1,5 @@
1
1
  import { RmlPlugin } from './rml-plugin';
2
- import { GlueLogic } from './emulator';
2
+ import { GlueLogic } from './glue-logic';
3
3
  import { HomagIntelligenceInitData } from './loader';
4
4
  import { MasterData } from './model/oc-scripts-domain.model';
5
5
  import { default as RoomlePlanner } from '../../planner-core/src/roomle-planner';
@@ -1,5 +1,5 @@
1
1
  import { default as RoomlePlanner } from '../../planner-core/src/roomle-planner';
2
- import { GlueLogic } from './emulator';
2
+ import { GlueLogic } from './glue-logic';
3
3
 
4
4
  export declare const createEmptyOrder: () => {
5
5
  id: any;
@@ -14,7 +14,7 @@ import { MeasurementLineDimension, MeasurementLineDimensionTransferable } from '
14
14
  import { ConstructionMeasurementsTransferable } from './utils/measurements';
15
15
  import { FloorAreaDataTransferable } from './view-model/floor-plan-element-view-model';
16
16
  import { BASE_CONTEXT } from '../../common-core/src/main';
17
- import { ExternalObjectGroup, ExternalObjectUiCallback } from './external-object-api-callbacks';
17
+ import { ExternalObjectGroup, ExternalObjectUiCallback } from '../../homag-intelligence/src/external-object-api-callbacks';
18
18
 
19
19
  export interface SelectionPayload {
20
20
  item?: RapiItem;
@@ -21,7 +21,7 @@ import { default as PlanElementViewModel } from '../../common-core/src/view-mode
21
21
  import { default as WallPlanElementViewModel } from './view-model/wall-plan-element-view-model';
22
22
  import { default as ConfiguratorContext } from '../../common-core/src/webgl/configurator-context';
23
23
  import { default as IdbManager } from '../../common-core/src/services/idb-manager';
24
- import { ExternalObjectAPI, ExternalObjectApiConfiguration, ExternalObjectModuleIdMap, ExternalRoomInformation, HiContextAction } from './external-object-api';
24
+ import { LoadExternalObjectOptions, ExternalObjectAPI, ExternalObjectApiConfiguration, ExternalObjectModuleIdMap, ExternalRoomInformation, HiContextAction } from '../../homag-intelligence/src/external-object-api';
25
25
  import { GlobalCallback } from '../../common-core/src/services/global-callback';
26
26
  import { ExternalGroupData, ExternalObject, ExtObjId } from '../../typings/external-objects';
27
27
  import { PluginName } from '../../configurator-core/src/utils/plugin-types';
@@ -78,17 +78,10 @@ export interface InsertItemResult {
78
78
  runtimeId: RuntimeId;
79
79
  originalIndex: number;
80
80
  }
81
- export interface LoadExternalObjectOptions {
82
- dragIn?: boolean;
83
- findFreeSpaceInPlan?: boolean;
84
- correctArrangement?: boolean;
85
- moduleIdMap?: Array<{
86
- originalModuleId: string;
87
- newModuleId: string;
88
- }>;
89
- respondWithPositionInPlan?: boolean;
90
- position?: Position3;
91
- rotation?: number;
81
+ export interface LightCacheInfo {
82
+ activeLights: number;
83
+ availableLights: number;
84
+ maximumLights: number;
92
85
  }
93
86
  export default class RoomlePlanner<P extends readonly PluginName[] = readonly []> implements KernelAccessCallbackI, RoomlePlannerCallback, GlobalAPI, Context, KernelUtilityForUi, ExternalEmbeddable<RoomlePlannerUiCallback>, RubensAPI, ExternalObjectAPI {
94
87
  _creator_: string;
@@ -167,7 +160,8 @@ export default class RoomlePlanner<P extends readonly PluginName[] = readonly []
167
160
  showBenchmarks(): void;
168
161
  getConfiguratorApi(): RoomleConfigurator<P>;
169
162
  startViewing(): void;
170
- startConfiguring(): void;
163
+ startConfiguring(): Promise<void>;
164
+ private _getObjectComponentForStartConfiguring;
171
165
  /**
172
166
  * select an object in the scene based on its runtime id
173
167
  * @param runtimeId
@@ -234,6 +228,7 @@ export default class RoomlePlanner<P extends readonly PluginName[] = readonly []
234
228
  * @param rotation in radians
235
229
  */
236
230
  insertObject(id: RapiId | ExtObjId, position?: Position3, rotation?: number): Promise<RuntimeId>;
231
+ _insertObject(id: RapiId | ExtObjId, newUndoRedoStep: boolean, position?: Position3, rotation?: number): Promise<RuntimeId>;
237
232
  insertItemList(ids: Array<RapiId | ExtObjId>): Promise<RuntimeId[]>;
238
233
  /**
239
234
  * Inserts all of the items in the array into current plan
@@ -312,15 +307,15 @@ export default class RoomlePlanner<P extends readonly PluginName[] = readonly []
312
307
  /**
313
308
  * returns true if interaction with the child components of a configuration object is enabled, and flashes otherwise
314
309
  */
315
- showsChildrenOfPlanObject(planElementViewModel: PlanElementViewModel): boolean;
310
+ isEnabledChildObjectMode(planElementViewModel: PlanElementViewModel): boolean;
316
311
  /**
317
312
  * enable interaction with child components of configurable objects in the plan
318
313
  */
319
- enableShowChildrenOfPlanObject(planElementViewModel: PlanElementViewModel): KernelObject;
314
+ enableChildObjects(planElementViewModel: PlanElementViewModel): KernelObject;
320
315
  /**
321
316
  * disable interaction with child components of configurable objects in the plan
322
317
  */
323
- disableShowChildrenOfPlanObject(planElementViewModel: PlanElementViewModel): KernelObject;
318
+ disableChildObjects(planElementViewModel: PlanElementViewModel): KernelObject;
324
319
  /**
325
320
  * get the Partlist of certain runtimeID
326
321
  * can be used if partlist of a selected Item is needed
@@ -392,7 +387,7 @@ export default class RoomlePlanner<P extends readonly PluginName[] = readonly []
392
387
  * @param idOfNew the RAPI id of the new plan object
393
388
  * @returns runtime ID of the new object
394
389
  */
395
- swapObject(old: number | PlanElementViewModel, idOfNew: RapiId): Promise<number>;
390
+ swapObject(old: number | PlanElementViewModel | null, idOfNew: RapiId): Promise<number>;
396
391
  exportImageFromCamera(filename?: string, shouldWaitForAssets?: boolean): Promise<void>;
397
392
  exportCanvasScreenshot(quality?: number): Promise<string>;
398
393
  /**
@@ -437,7 +432,11 @@ export default class RoomlePlanner<P extends readonly PluginName[] = readonly []
437
432
  configureExternalObjectApi(configurationJson: string | ExternalObjectApiConfiguration): Promise<void>;
438
433
  loadExternalObjectLibrary(libraryId: string): Promise<void>;
439
434
  loadExternalObjectMasterData(masterDataJson: string | object): void;
440
- loadExternalObjectGroup(groupData: ExternalGroupData, findFreeSpaceInPlan: boolean, correctArrangement?: boolean, mergedGroups?: string[], respondWithPositionInPlan?: boolean, moduleIdMap?: ExternalObjectModuleIdMap[]): Promise<void>;
435
+ /**
436
+ * Deprecated API that can be deleted once the new API is fully integrated into the OC.
437
+ */
438
+ loadExternalObjectGroup(groupData: ExternalGroupData, findFreeSpaceInPlan: boolean, correctArrangement?: boolean, mergedGroups?: string[], respondWithPositionInPlan?: boolean, moduleIdMap?: ExternalObjectModuleIdMap[], newAction?: boolean): Promise<void>;
439
+ loadExternalObjectGroups(groupData: ExternalGroupData, options?: LoadExternalObjectOptions): Promise<void>;
441
440
  private _loadExternalObjectGroup;
442
441
  private _loadExternalObjectGroupInConfigurator;
443
442
  private _loadExternalObjectGroupInPlanner;
@@ -473,12 +472,8 @@ export default class RoomlePlanner<P extends readonly PluginName[] = readonly []
473
472
  */
474
473
  selectExternalObjectSubModule(rootModuleId: string, subModuleId: string): Promise<void>;
475
474
  selectExternalObject(groupOrRootModuleId: string, subModuleId: string | null, contextAction: HiContextAction): Promise<void>;
476
- private _switchExternalObjectMode;
477
475
  openOrCloseGeometryOfExternalObject(groupIdOrRootModuleId: string, _subModuleId: string | null, open: boolean, animate: boolean): void;
478
476
  _selectExternalObjectGroup(groupId: string, switchToPlanner: boolean): Promise<void>;
479
- _selectExternalObjectModule(rootModuleId: string, subModuleId: string | null, selectPlanObject: boolean, switchToConfigurator: boolean, selectComponent: boolean, highlightSelection: boolean): Promise<void>;
480
- private _selectPlanObject;
481
- private _getSelectedPlanObjectComponent;
482
477
  getExternalObjectGroups(): Promise<object[]>;
483
478
  getExternalRoomInformation(): Promise<ExternalRoomInformation>;
484
479
  /**
@@ -558,6 +553,10 @@ export default class RoomlePlanner<P extends readonly PluginName[] = readonly []
558
553
  * @param ids array of light IDs, see type interface RoomleLightSource._lightSourceId
559
554
  */
560
555
  setElementLightsOnOff(planElementViewModel: PlanElementViewModel, state: boolean): void;
556
+ /**
557
+ * Returns an object containing the amount of active, available and maximum lights for the scene.
558
+ */
559
+ getLightCache(): LightCacheInfo;
561
560
  getPlanObjectForRuntimeId(runtimeId: number): Promise<PlanElementViewModel | null>;
562
561
  rotateByRuntimeId(runtimeId: number, rotateBy: number): Promise<void>;
563
562
  deleteByRuntimeId(runtimeId: number): Promise<void>;
@@ -1,14 +1,16 @@
1
- import { KernelAnimation, KernelComponent, KernelEnum, RuntimeId, PlanObject as ConfiguratorPlanObject } from '../../../typings/kernel';
1
+ import { KernelAnimation, KernelPlanObjectComponent, KernelComponent, KernelEnum, RuntimeId, PlanObject as ConfiguratorPlanObject } from '../../../typings/kernel';
2
2
  import { default as PlanObjectViewModel } from '../../../common-core/src/view-model/plan-object-view-model';
3
- import { KernelObject, Plan, PlanElement, PlanInteractionHandler, PlanModelViewHelper, PlanObject } from '../../../typings/planner';
3
+ import { KernelObject, Plan, PlanElement, PlanInteractionHandler, PlanModelViewHelper, PlanObject, CORE_TYPE_OF_CORE_ID } from '../../../typings/planner';
4
4
  import { RapiConfiguration, RapiItem, RapiPlanSnapshotPostData } from '../../../typings/rapi-types';
5
5
  import { default as RoomlePlannerUiCallback } from '../roomle-planner-ui-callback';
6
6
  import { default as PlanElementViewModel } from '../../../common-core/src/view-model/plan-element-view-model';
7
7
  import { Position3 } from '../../../common-core/src/common-interfaces';
8
8
  import { default as ConfiguratorKernelAccess } from '../../../common-core/src/configurator-kernel-access';
9
- import { ExternalObjectApiConfiguration } from '../external-object-api';
10
- import { ExternalObjectGroup } from '../external-object-api-callbacks';
9
+ import { RoomleComponent } from '../../../common-core/src/webgl/roomle-component-factory';
10
+ import { ExternalObjectApiConfiguration } from '../../../homag-intelligence/src/external-object-api';
11
+ import { ExternalObjectGroup } from '../../../homag-intelligence/src/external-object-api-callbacks';
11
12
  import { AnimationLevelType } from '../../../configurator-core/src/utils/animation/animation-helper';
13
+ import { Enumify } from '../../../common-core/src/types';
12
14
 
13
15
  export interface PlannerKernelCallbackI {
14
16
  handlerSwitchedPlans(fromPlan: Plan, toPlan: Plan): void;
@@ -48,7 +50,7 @@ export default class PlannerKernelAccess extends ConfiguratorKernelAccess {
48
50
  get planInteractionHandler(): PlanInteractionHandler;
49
51
  get planModelViewHelper(): PlanModelViewHelper;
50
52
  catalogItemLoaded(catalogItem: RapiItem): void;
51
- insertItems(itemList: Array<RapiItem | RapiConfiguration>): Promise<RuntimeId[]>;
53
+ insertItems(itemList: Array<RapiItem | RapiConfiguration>, newUndoRedoStep?: boolean): Promise<RuntimeId[]>;
52
54
  duplicateItems(planObjects: PlanObject[]): PlanObject[];
53
55
  private _rapiItemToKernelItem;
54
56
  planObjectDeleted(): void;
@@ -90,7 +92,7 @@ export default class PlannerKernelAccess extends ConfiguratorKernelAccess {
90
92
  addPlanMesh(plan: Plan, material: any, vertices: Float32Array, indices: Int32Array, uvCoords: Float32Array, normals: Float32Array, type: KernelEnum): void;
91
93
  endPlanConstruction(plan: Plan): void;
92
94
  createPlanFromObject(rapiElement: RapiItem | RapiConfiguration, position?: Position3, rotation?: number): Plan;
93
- addPlanObjectFromItem(rapiElement: RapiItem | RapiConfiguration, position?: Position3, rotation?: number): Promise<RuntimeId>;
95
+ addPlanObjectFromItem(rapiElement: RapiItem | RapiConfiguration, newUndoRedoStep: boolean, position?: Position3, rotation?: number): Promise<RuntimeId>;
94
96
  coupleReferences(jsObject: any, coreReference: KernelObject): void;
95
97
  private _decoupleReferences;
96
98
  isConstructionPlanElement(planElement: PlanElement): boolean;
@@ -115,4 +117,6 @@ export default class PlannerKernelAccess extends ConfiguratorKernelAccess {
115
117
  configureExternalObjectApi(externalObjectSettings?: ExternalObjectApiConfiguration): Promise<void>;
116
118
  setComponentParameter(componentId: number, interactionKey: string, newValue: any): void;
117
119
  protected _getAnimationLevelForObject(runtimeId: number, _animation: KernelAnimation): AnimationLevelType;
120
+ getObjectComponent(runtimeId: number, typeOfId: Enumify<typeof CORE_TYPE_OF_CORE_ID>): KernelPlanObjectComponent | null;
121
+ isChildObjectRootComponent(roomleComponent: RoomleComponent): boolean;
118
122
  }
@@ -64,7 +64,6 @@ export default class PlanViewModel extends ConfiguratorViewModel implements Plan
64
64
  addPlanElementViewModel(planElementViewModel: PlanElementViewModel): void;
65
65
  private _handleConfiguratorPlanObjectViewModel;
66
66
  private _linkPlanObjectViewModelAndComponent;
67
- private _detachPlanObjectViewModelFromComponent;
68
67
  private _handleConfiguratorConstructionPlanObjectViewModel;
69
68
  private _handleConstructionPlanObjectViewModel;
70
69
  private _handleStaticPlanObjectViewModel;
@@ -97,6 +96,7 @@ export default class PlanViewModel extends ConfiguratorViewModel implements Plan
97
96
  }): void;
98
97
  toggleCeilingLights(on: boolean): void;
99
98
  private commonHandlerForEditableAndTopView;
99
+ isChildObjectRootComponent(roomleComponent: RoomleComponent): boolean;
100
100
  protected dockComponent(componentId: number, isRootComponent: boolean, parentId: number, componentPosition: KernelVector3, componentRotation: KernelVector3): void;
101
101
  protected _addComponent(component: RoomleComponent): void;
102
102
  private _getPlanObjectViewModelForRuntimeId;
@@ -9,6 +9,7 @@ export default class PlanElementHighlighter {
9
9
  private _planViewModel;
10
10
  constructor(sceneEventHandler: PlannerSceneEventHandler, roomleRenderer: RoomleWebGLRenderer, planViewModel: PlanViewModel);
11
11
  private _processViewModel;
12
+ private _isChildObjectRootComponent;
12
13
  private _processSelectedPlanElementIds;
13
14
  private _highlightPlanElementsBase;
14
15
  highlightPlanElements(runtimeIds?: number[]): void;
@@ -141,10 +141,10 @@ export default class PlannerSceneEventHandler extends SceneEventHandler<SceneEve
141
141
  disableSnapping(): void;
142
142
  enableAdvancedDocking(): void;
143
143
  disableAdvancedDocking(): void;
144
- showsChildrenOfPlanObject(object: KernelObject): boolean;
145
- enableShowChildrenOfPlanObject(object: KernelObject, switchChildModeOffForAllOtherObjects?: boolean): KernelObject | null;
146
- disableShowChildrenOfPlanObject(object: KernelObject): KernelObject | null;
147
- disableShowChildrenOfAllPlanObjects(): void;
144
+ isEnabledChildObjectMode(object: KernelObject): boolean;
145
+ enableChildObjects(object: KernelObject, switchChildModeOffForAllOtherObjects?: boolean): KernelObject | null;
146
+ disableChildObjects(object: KernelObject): KernelObject | null;
147
+ disableChildObjectsOfAllPlanObjects(): void;
148
148
  private _checkRaycasterSnapping;
149
149
  enableWallDrawing(): Group;
150
150
  cancelWallDrawing(): Group;
@@ -52,6 +52,7 @@ export default class PlannerSceneManager extends ConfiguratorSceneManager implem
52
52
  currentSelection: SelectionPayload | null;
53
53
  private _paperBackground;
54
54
  private _cameraState;
55
+ private _cameraStateLocked;
55
56
  private _planElementHighlighter;
56
57
  private _debugSpheres;
57
58
  constructor(creator: string, offset: CanvasOffset, plannerCallback: RoomlePlannerCallback, mode: Enumify<typeof CAMERA_TYPE>);
@@ -159,9 +160,9 @@ export default class PlannerSceneManager extends ConfiguratorSceneManager implem
159
160
  disableSnapping(): void;
160
161
  enableAdvancedDocking(): void;
161
162
  disableAdvancedDocking(): void;
162
- showsChildrenOfPlanObject(planElementViewModel: PlanElementViewModel): boolean;
163
- enableShowChildrenOfPlanObject(planElementViewModel: PlanElementViewModel): import('../../../typings/planner').KernelObject;
164
- disableShowChildrenOfPlanObject(planElementViewModel: PlanElementViewModel): import('../../../typings/planner').KernelObject;
163
+ isEnabledChildObjectMode(planElementViewModel: PlanElementViewModel): boolean;
164
+ enableChildObjects(planElementViewModel: PlanElementViewModel): import('../../../typings/planner').KernelObject;
165
+ disableChildObjects(planElementViewModel: PlanElementViewModel): import('../../../typings/planner').KernelObject;
165
166
  dragIn(dragEvent: DragEvent): void;
166
167
  getPlannerSceneEventHandler(): PlannerSceneEventHandler;
167
168
  disablePlannerEvents(): void;
@@ -221,13 +222,17 @@ export default class PlannerSceneManager extends ConfiguratorSceneManager implem
221
222
  protected notifyPlannerOnComponentSelectionCancel(isExternalObject: boolean, reason: CancelSelectionReasons): void;
222
223
  private _externalPlanObjectSelectionChanged;
223
224
  highlightExternalObject(planObjectComponent: KernelPlanObjectComponent): void;
224
- private _selectExternalObjectModule;
225
- getObjectComponent(id: number, typeOfId: Enumify<typeof CORE_TYPE_OF_CORE_ID>): KernelPlanObjectComponent;
225
+ private _selectExternalObjectComponent;
226
+ getSelectedPlanObjectComponent(): KernelPlanObjectComponent;
227
+ selectObjectComponent(planObjectComponent: KernelPlanObjectComponent, switchToConfigurator: boolean, selectComponent: boolean): Promise<void>;
228
+ _swapObjectInConfigurator(planObjectComponent: KernelPlanObjectComponent): Promise<void>;
229
+ getObjectComponent(id: number, typeOfId: Enumify<typeof CORE_TYPE_OF_CORE_ID>): KernelPlanObjectComponent | null;
226
230
  getExternalObjectComponent(groupOrRootModuleId: string, subModuleId: string): KernelPlanObjectComponent;
227
231
  getCameraParameters3d(): NonNullable<CameraParameter>;
228
232
  private _createCeilingLightGroup;
229
233
  toggleInteriorLightsSceneSettings(on: boolean): void;
230
234
  private _insertRapiItems;
231
235
  insertRapiObjects(rapiIds: InsertItemIdInfo[]): Promise<InsertItemResult[]>;
236
+ private _saveConfiguration;
232
237
  }
233
238
  export {};
@@ -1,11 +1,9 @@
1
- import { ConfiguratorKernelClass, KernelAddOnSpot, KernelComponent, KernelConfiguration, KernelDockPairToLine, KernelDockPairToPoint, KernelParameter, KernelParameterGroup, KernelParameterValue, KernelParamKeyValuePair, KernelPart, KernelPartListParameter, KernelPossibleChild, KernelRange, KernelVariable, KernelVariant } from './kernel';
1
+ import { ConfiguratorKernelClass, KernelAddOnSpot, KernelComponent, KernelConfiguration, KernelDockPairPreview, KernelParameter, KernelParameterGroup, KernelParameterValue, KernelParamKeyValuePair, KernelPart, KernelPartListParameter, KernelPossibleChild, KernelRange, KernelVariable, KernelVariant } from './kernel';
2
2
  import { PlanObjectList } from './planner-kernel-container';
3
3
 
4
4
  import * as ems from './ems';
5
5
  declare const EmsArray: typeof ems.EmsArray;
6
- declare class DockPairToPointArray extends EmsArray<KernelDockPairToPoint> {
7
- }
8
- declare class DockPairToLineArray extends EmsArray<KernelDockPairToLine> {
6
+ declare class DockPairPreviewArray extends EmsArray<KernelDockPairPreview> {
9
7
  }
10
8
  declare class ComponentArray extends EmsArray<KernelComponent> {
11
9
  }
@@ -72,8 +70,7 @@ declare class UnitMeasureFormatter {
72
70
  isParseableNumber(aString: string): boolean;
73
71
  }
74
72
  export interface ConfiguratorKernelContainer {
75
- DockPairToPointArray: DockPairToPointArray;
76
- DockPairToLineArray: DockPairToLineArray;
73
+ DockPairPreviewArray: DockPairPreviewArray;
77
74
  ComponentArray: ComponentArray;
78
75
  Type: Type;
79
76
  UnitType: UnitType;
@@ -234,7 +234,8 @@ export interface KernelPlanObjectBase {
234
234
  center: KernelVector3;
235
235
  rootComponentCenter: KernelVector3;
236
236
  rotation: number;
237
- customColor: number;
237
+ rgbValue: number;
238
+ useCustomColor?: boolean;
238
239
  customLabel: string;
239
240
  catalogItemId: string;
240
241
  runtimeId: number;
@@ -388,16 +389,33 @@ export interface KernelContainer {
388
389
  registerConfiguratorCallback: (callbacksObject: any) => void;
389
390
  unregisterConfiguratorCallback: (callbacksObject: any) => void;
390
391
  }
391
- export interface KernelDockPairToPoint {
392
+ export declare const CORE_DOCK_PAIR_TYPE: {
393
+ readonly POINT: 0;
394
+ readonly LINE: 1;
395
+ };
396
+ export interface DockPairType {
397
+ value: Enumify<typeof CORE_DOCK_PAIR_TYPE>;
398
+ }
399
+ export interface KernelDockPairPreview {
392
400
  parentId: number;
393
401
  parentDockId: number;
394
402
  childId: number;
395
403
  childDockId: number;
404
+ type: DockPairType;
396
405
  position: KernelVector3f;
397
406
  rotation: KernelVector3f;
398
407
  insertInBetween: boolean;
399
408
  displacedChildId: number;
400
409
  displacedChildTransform: KernelMatrix4;
410
+ displacedComponents: number[];
411
+ displacementRotation: KernelVector3f;
412
+ displacementVector: KernelVector3f;
413
+ positionFrom?: KernelVector3f;
414
+ positionTo?: KernelVector3f;
415
+ lineFrom?: KernelVector3f;
416
+ lineTo?: KernelVector3f;
417
+ lineSegments: DockingLineSegment[];
418
+ areaWidth?: number;
401
419
  }
402
420
  export interface KernelVector2f {
403
421
  x: number;
@@ -416,19 +434,6 @@ export interface KernelDockingLineSegment {
416
434
  from: number;
417
435
  to: number;
418
436
  }
419
- export interface KernelDockPairToLine {
420
- parentId: number;
421
- parentDockId: number;
422
- childId: number;
423
- childDockId: number;
424
- position: KernelVector3f;
425
- rotation: KernelVector3f;
426
- positionFrom: KernelVector3f;
427
- positionTo: KernelVector3f;
428
- lineFrom: KernelVector3f;
429
- lineTo: KernelVector3f;
430
- lineSegments: KernelDockingLineSegment[];
431
- }
432
437
  export interface KernelVariable {
433
438
  key: string;
434
439
  type: string;
@@ -1,4 +1,4 @@
1
- import { ConfiguratorKernelClass, KernelAddOnSpot, KernelComponent, KernelConfiguration, KernelDockPairToLine, KernelDockPairToPoint, KernelEnum, KernelParameter, KernelParameterGroup, KernelParameterValue, KernelParamKeyValuePair, KernelPart, KernelPartListParameter, KernelPlanObject, KernelPossibleChild, KernelRange, KernelVariable, KernelVariant, KernelVector2f, KernelVector3f } from './kernel';
1
+ import { ConfiguratorKernelClass, KernelAddOnSpot, KernelComponent, KernelConfiguration, KernelDockPairPreview, KernelEnum, KernelParameter, KernelParameterGroup, KernelParameterValue, KernelParamKeyValuePair, KernelPart, KernelPartListParameter, KernelPlanObject, KernelPossibleChild, KernelRange, KernelVariable, KernelVariant, KernelVector2f, KernelVector3f } from './kernel';
2
2
  import { PlanInteractionHandler, WallSide } from './planner';
3
3
  import { Enumify } from '../common-core/src/types';
4
4
 
@@ -83,7 +83,7 @@ declare class PlanObjectPtrVector extends EmsArray<PlanObjectPtr> {
83
83
  }
84
84
  declare abstract class PlanObjectPtr extends AbstractModelWrapper {
85
85
  rotation: KernelVector3f;
86
- customColor: number;
86
+ rgbColor: number;
87
87
  level: number;
88
88
  flipX: boolean;
89
89
  flipY: boolean;
@@ -238,9 +238,7 @@ declare class Vector2fArray extends EmsArray<KernelVector2f> {
238
238
  }
239
239
  declare class LongArray extends EmsArray<number> {
240
240
  }
241
- declare class DockPairToPointArray extends EmsArray<KernelDockPairToPoint> {
242
- }
243
- declare class DockPairToLineArray extends EmsArray<KernelDockPairToLine> {
241
+ declare class DockPairPreviewArray extends EmsArray<KernelDockPairPreview> {
244
242
  }
245
243
  declare class ComponentArray extends EmsArray<KernelComponent> {
246
244
  }
@@ -351,8 +349,7 @@ export interface PlannerKernelContainer {
351
349
  StringArray: StringArray;
352
350
  Vector2fArray: Vector2fArray;
353
351
  LongArray: LongArray;
354
- DockPairToPointArray: DockPairToPointArray;
355
- DockPairToLineArray: DockPairToLineArray;
352
+ DockPairPreviewArray: DockPairPreviewArray;
356
353
  ComponentArray: ComponentArray;
357
354
  Type: Type;
358
355
  UnitType: UnitType;
@@ -76,7 +76,8 @@ export interface ObjectFrontRotation {
76
76
  export interface PlanObject extends PlanElement {
77
77
  size: KernelVector3;
78
78
  rotation: number;
79
- customColor: number;
79
+ rgbColor: number;
80
+ useCustomColor?: boolean;
80
81
  flipX: boolean;
81
82
  flipY: boolean;
82
83
  fixedZ: boolean;
@@ -264,18 +265,21 @@ export interface PlanInteractionHandler {
264
265
  getContinuousDrawingManager(): ContinuousDrawingManager;
265
266
  setSnapFeedbackWhileDrawing(enabled: boolean): void;
266
267
  consistsOfMergedComponents(object: KernelObject): boolean;
267
- getShowChildrenOfPlanObject(object: KernelObject): ChildEntityMode;
268
- setShowChildrenOfPlanObject(object: KernelObject, mode: ChildEntityMode, switchChildModeOffForAllOtherObjects: boolean): KernelObject;
269
- setShowChildrenOfExternalObject(objectId: string, mode: ChildEntityMode, switchChildModeOffForAllOtherObjects: boolean): KernelObject;
270
268
  setObjectSize(anObject: KernelObject, aNewSize: KernelVector3, anAnchor: Anchor): void;
271
269
  setObjectFlipX(anObject: KernelObject, shouldFlipX: boolean): void;
272
270
  setObjectFlipY(anObject: KernelObject, shouldFlipY: boolean): void;
273
- setObjectCustomColor(anObject: KernelObject, aCustomColor: number): void;
271
+ setObjectCustomColor(object: PlanObject, rgbColor: number, useCustomColor: boolean): void;
274
272
  setObjectFixedZ(anObject: KernelObject, shouldFlipZ: boolean): void;
275
273
  setMeasurePoint1(measure: PlanMeasure, point: KernelVector3f, snapToWalls: boolean, snapToObjects: boolean): void;
276
274
  setMeasurePoint2(measure: PlanMeasure, point: KernelVector3f, snapToWalls: boolean, snapToObjects: boolean): void;
277
275
  addMeasure(startPosition: KernelVector3f, endPosition: KernelVector3f): PlanMeasure;
278
276
  setDiscardExternalObjectsOnLoad(discard: boolean): void;
277
+ isEnabledChildObjectMode(object: KernelObject): boolean;
278
+ enableChildObjects(object: KernelObject, switchChildModeOffForAllOtherObjects: boolean): KernelObject;
279
+ disableChildObjects(object: KernelObject): KernelObject;
280
+ enableChildObjectsOfExternalObject(objectId: string, switchChildModeOffForAllOtherObjects: boolean): KernelObject;
281
+ disableChildObjectsOfExternalObject(objectId: string): KernelObject;
282
+ disableChildObjectsOfAllPlanObjects(): void;
279
283
  unit: string;
280
284
  enableRaster: boolean;
281
285
  customRaster: number;
@@ -285,7 +289,6 @@ export interface PlanInteractionHandler {
285
289
  objectToObjectSnapMode: SnapMode;
286
290
  dockWhenSnap: boolean;
287
291
  unDockOnMove: boolean;
288
- showChildrenOfPlanObjects: ChildEntityMode;
289
292
  }
290
293
  export interface PlanOverview {
291
294
  area: number;
@@ -336,6 +339,7 @@ declare class GeometryHelpLineArray extends EmsArray<GeometryHelpLine> {
336
339
  export interface PlanModelViewHelper {
337
340
  getPlanOverview(planObject: KernelObject): PlanOverview;
338
341
  getPlanObject(plan: Plan, aRuntimeId: number): KernelPlanObject;
342
+ isChildObjectRootComponent(plan: Plan, componentRuntimeId: number): boolean;
339
343
  getRootPlanObjectId(plan: Plan, aRuntimeId: number): number;
340
344
  getObjectComponent(plan: Plan, typeOfId: TypeOfCoreId, anId: number): KernelPlanObjectComponent;
341
345
  getExternalObjectComponent(plan: Plan, groupId: string, moduleId: string): KernelPlanObjectComponent;