“onChangedExternalObjectGroupPlan” is invoked when a group of root modules is moved or rotated to a new position
or when the plan itself is changed.
The group with the ID "group.id" is moved to the new position and orientation defined in "group".
"onDeleteExternalObjectGroup" is invoked when a group of root modules and all the root modules it contains are deleted.
The group with the ID "groupIdToDelete" is removed from the plan and is completely deleted.
"onDeleteExternalObjectRootModule" is invoked when a root module is deleted from a group of root modules.
The root module with the ID "rootModuleIdToDelete" is removed from the group with the ID "group.id" and is completely deleted.
"group" contains the information about the group and the remaining root modules.
If removing the root module results in a group of root modules being split into two or more groups,
"splitGroups" contains the information about the new groups and root modules.
This callback is not be called when the solely remaining root module of a group is deleted.
In this case, "onDeleteExternalObjectGroup" is called.
"onDeleteExternalObjectSubModule" is invoked when a sub module is deleted from a root module.
The sub module with the ID "subModuleIdToDelete" is removed from the root module with the ID "rootModuleId"
and is completely deleted.
"onDuplicateExternalObjectGroup" is invoked when a group of root modules is duplicated.
This event request generating a completely new group with the an new root modules
with exactly the same structure as the group wih the ID "sourceGroupId".
The new group is placed at the position and orientation defined in "newGroupPosition".
"oneExternalObjectAttributeChanged" is invoked when an attribute of a root module or sub module has changed.
The attribute with the ID "attributeId" of the sub module with the ID "subModuleId"
of the root module with the ID "rootModuleId" has the new value "value".
If "subModuleId" is "null", an attribute of the root module has changed.
"onExternalObjectEnvironmentChanged" is invoked when the plan (walls, doors, windows, etc.) has changed.
"affectedGroupIds" contains the IDs of all groups of root modules that are affected by the change.
Parameters
Name
Type
Description
affectedGroupIds
string[]
The IDs of the groups of root modules that are affected by the change.
"onExternalObjectGroupArrangementChanged" is invoked when the arrangement (position and rotation) of the root modules of a group has changed .
"changedGroup" contains the information about the root modules of the group.
"onExternalObjectGroupChanged" is invoked when the modules of a group itself have changed.
This can be the case in relation with undo/redo operations.
"stringifiedGroupData" contains the complete information about the group and the root modules.
"onExternalObjectModuleSelected" is invoked when the selection has been changed
by and user interaction and a group, a root module or a sub module is selected.
Parameters
Name
Type
Description
groupId
string
The ID of the group of root modules.
rootModuleId
string
The ID of the root modules. Is null if a group is selected.
subModuleId
string
The ID of the sub module. Is null if a group or a root module is selected.
Returns
void
onExternalObjectSelectionCancel
▸ onExternalObjectSelectionCancel(reason): void
"onExternalObjectSelectionCancel" is invoked when the selection of a group, root module or sub module is canceled.
"onExternalObjectGroupSelected" is invoked when the SDK needs the configuration to a certain ID the
implementor of this callback should return the configuration as a JSON.
Parameters
Name
Type
Description
id
string
id of the external object to which the configuration should be retrieved
"onMergeExternalObjectGroup" is invoked when a group of root modules is merged into another group of root modules.
The group with the ID "sourceGroupId" is merged into the group with the ID "targetGroup.id".
The root modules of the source group are added to the target group and the soured group does no longer exist.
"targetGroup" contains information about all root modules of the target group (both present and new) and their relative position and orientation.
"idsOfGroupsMerged" are the IDs of the groups whose modules must be merged into the target group and therefore the groups that must be deleted.
"onSplitExternalObjectGroup" is invoked when one or more root modules are split from a group of root modules.
The split root modules form a new group, which must be assigned a new ID.
"originalGroup" contains the information about the original group and the remaining root modules.
"newGroupedRootModules" contains the location and orientation of the new groups and root modules that have been split off.