Skip to content

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:

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:

  • [DomainTree1.json](https://github.com/BHoM/BHoM_JSONSchema/blob/develop/Data_oM/Collections/DomainTree1.json)