ControllerTree Cluster
class ClusterInstance
A controller cluster lets users create a ControllerTree within a ControllerTree. All elements a ControllerTree can have can be added to a cluster aswell. Clusters also require the same structure with levels including a root level. All controllers are accessible and may be instanciated within a cluster.
Clusters are defined by a cluster class which can then be instantiated at any level in the ControllerTree. Like with controllers, cluster instances can be opened by double-click in the ControllerTree view.
In the cluster instance properties, we can define the class of which we want to create an instance of. IdOffset lets us ensure that all ControllerInstances in our cluster have unique id's (the value of idOffset will be added to the id value entered into the instance in the cluster when generating the code). InstanceNrOffset has the same purpose, but for the instance number. When creating mutliple instances of the same cluster class, instanceNrOffset and idOffset need to have different values on every instance.
It is possible to create a cluster within a cluster. However, you may not add an instance of a cluster with a cluster inside to a cluster, because that would create an infinite loop of clusters which will crash the program.