BH.oM.Data.Collections.DomainTree<T>¶
A data tree which is traversed through DomainBoxes. Each node's DomainBox is assumed to be enclosed by its parent's DomainBox and to enclose its own data. All the tree's data is stored in its leaves.
Class structure¶
Generic parameters¶
The DomainTree contains the following generic paramters:
T¶
Unconstrained generic type. Can be any type of object.
Implemented interfaces and base types¶
The DomainTree`1 is inheriting from the following base type(s) and implements the following interfaces:
- BH.oM.Data.Collections.INode<T>
- BH.oM.Data.Collections.IDataStructure
- BH.oM.Base.IObject
Properties¶
Defining properties¶
The following properties are defined on the class
Name | Type | Description | Quantity |
---|---|---|---|
Children | List<DomainTree<T>> | The child nodes of this node. All child nodes DomainBoxes are assumed to be enclosed by this nodes DomainBox. An empty list indicates this node as a leaf node | - |
Values | List<T> | The data values stored on this node. The DomainTree assumes that only nodes with an empty list of children have values. | - |
DomainBox | DomainBox | This nodes DomainBox, enclosing either all the child nodes' DomainBoxes or this node's Values. | - |
Code and Schema¶
C# implementation¶
C#
public class DomainTree`1 : BH.oM.Data.Collections.INode<>, BH.oM.Data.Collections.IDataStructure, BH.oM.Base.IObject
Assembly: Data_oM.dll
The C# class definition is available on github:
All history and changes of the class can be found by inspection the history.
JSON Schema implementation¶
The object is defined as a JSON schema. You can validate a JSON instance against this schema by reference. To do this, use the schema reference below in a validator like this one.
JSON Schema
{
"$ref" : "https://raw.githubusercontent.com/BHoM/BHoM_JSONSchema/develop/Data_oM/Collections/DomainTree`1.json"
}
The JSON Schema is available on github here:
- [DomainTree
1.json](https://github.com/BHoM/BHoM_JSONSchema/blob/develop/Data_oM/Collections/DomainTree
1.json)