This is the documentation for Enlighten.

class Enlighten GeoClusterNodeTree

class Enlighten::GeoClusterNodeTree

    └>Geo::TreeNode< GeoClusterNode >

Debugging output representation of a hierarchy of clustering metrics.

Functions

Name Description
~TreeNode()

Destructor.

AddChild(const _Ty &)

Add a child node with the given value 'val'.

AddLevelTags(void)

Fills in the m_Level and m_LevelClusterIdx properties for each node in the tree.

BuildLinearIdLookupRecursive(ClusterIdLookup &)

Builds a linear ID lookup.

BuildRangeArrayRecursive(ClusterRangeArray &, Geo::s32, Geo::s32)

Builds a range array.

DeleteChild(Geo::s32)

Delete the child with index 'idx', children of the node is assigned to this node at the end of the child array.

DeleteSubTree(Geo::s32)

Delete the child with index 'idx' and all nodes below this child.

FindNode(const Geo::s32 &)

Locate a node with the given linear index in the tree.

GetChild(Geo::s32)

Get child with index 'idx', NULL if 'idx' is out of range.

GetChild(Geo::s32)

Get child with index 'idx', NULL if 'idx' is out of range.

GetDepth()

Get the depth of the node.

GetLeaves(Geo::GeoArray< const TreeNode< _Ty > * > &)

Fills in an array of all the leaf nodes underneath this node. Returns the total number of leaves in the resulting array.

GetLevelFromRoot(Geo::GeoArray< TreeNode< _Ty > * > &, Geo::s32)

Return an array of nodes at the given depth ordered from left to right in the tree.

GetLevelFromRoot(Geo::GeoArray< const TreeNode< _Ty > * > &, Geo::s32)

Return an array of nodes at the given depth ordered from left to right in the tree.

GetNumChildren()

Number of immediate children nodes.

GetNumInternalNodes()

Total number of internal nodes in the tree (i.e. not leaves)

GetNumLevels()

Get the number of levels in the tree.

GetNumNodes()

Total number of nodes in the tree.

GetNumNodes(Geo::s32)

Total number of nodes in a given level.

GetParent()

Get the parent node, NULL if this is the root.

GetParent()

Get the parent node, NULL if this is the root.

GetRoot()

Get the root of the tree.

GetRoot()

Get the root of the tree.

GetValue()

Get the value stored in the node.

GetValue()

Get the value stored in the node.

IsLeaf()

Returns whether this is a leaf node, i.e. has no children.

IsRoot()

Returns whether this is a root node, i.e. has no parent.

Load(Geo::IGeoInputStream &)

Load tree from disk.

Load(Geo::IGeoInputStream &)

Loads object from the provided stream.

NonCopyable(NonCopyable &&)

Defaulted to allow move.

operator=(NonCopyable &&)

Defaulted to allow move.

RemoveChild(Geo::s32)

Remove and return the child with index 'idx' from the tree.

Save(Geo::IGeoStream &)

Save tree to disk.

SetValue(const _Ty &)

Set the value stored in the node.

TreeNode()

Constructor.


Geo::TreeNode< _Ty >::~TreeNode


public: ~TreeNode()


Destructor.


TreeNode<_Ty>* Geo::TreeNode< _Ty >::AddChild


public: TreeNode< _Ty > * AddChild
(
    const _Ty & val
)


Add a child node with the given value 'val'.


bool Enlighten::GeoClusterNodeTree::AddLevelTags


public: bool AddLevelTags
(
    void
)


Fills in the m_Level and m_LevelClusterIdx properties for each node in the tree.

This is called from Load(), but if you are manually creating a tree you must call this once you have finished adding nodes.


void Enlighten::GeoClusterNodeTree::BuildLinearIdLookupRecursive


public: void BuildLinearIdLookupRecursive
(
    ClusterIdLookup & lookup
) const


Builds a linear ID lookup.


Geo::s32 Enlighten::GeoClusterNodeTree::BuildRangeArrayRecursive


public: Geo::s32 BuildRangeArrayRecursive
(
    ClusterRangeArray & rangeArray,
    Geo::s32 bottomLevel,
    Geo::s32 currentLevel
) const


Builds a range array.


bool Geo::TreeNode< _Ty >::DeleteChild


public: bool DeleteChild
(
    Geo::s32 idx
)


Delete the child with index 'idx', children of the node is assigned to this node at the end of the child array.


bool Geo::TreeNode< _Ty >::DeleteSubTree


public: bool DeleteSubTree
(
    Geo::s32 idx
)


Delete the child with index 'idx' and all nodes below this child.


const GeoClusterNodeTree* Enlighten::GeoClusterNodeTree::FindNode


public: const GeoClusterNodeTree * FindNode
(
    const Geo::s32 & linearIdx
) const


Locate a node with the given linear index in the tree.


const TreeNode<_Ty>* Geo::TreeNode< _Ty >::GetChild


public: const TreeNode< _Ty > * GetChild
(
    Geo::s32 idx
) const


Get child with index 'idx', NULL if 'idx' is out of range.


TreeNode<_Ty>* Geo::TreeNode< _Ty >::GetChild


public: TreeNode< _Ty > * GetChild
(
    Geo::s32 idx
)


Get child with index 'idx', NULL if 'idx' is out of range.


Geo::s32 Geo::TreeNode< _Ty >::GetDepth


public: Geo::s32 GetDepth() const


Get the depth of the node.


Geo::s32 Geo::TreeNode< _Ty >::GetLeaves


public: Geo::s32 GetLeaves
(
    Geo::GeoArray< const TreeNode< _Ty > * > & leaves
) const


Fills in an array of all the leaf nodes underneath this node. Returns the total number of leaves in the resulting array.


bool Geo::TreeNode< _Ty >::GetLevelFromRoot


protected: bool GetLevelFromRoot
(
    Geo::GeoArray< TreeNode< _Ty > * > & levelNodes,
    Geo::s32 level
)


Return an array of nodes at the given depth ordered from left to right in the tree.


bool Geo::TreeNode< _Ty >::GetLevelFromRoot


public: bool GetLevelFromRoot
(
    Geo::GeoArray< const TreeNode< _Ty > * > & levelNodes,
    Geo::s32 level
) const


Return an array of nodes at the given depth ordered from left to right in the tree.


Geo::s32 Geo::TreeNode< _Ty >::GetNumChildren


public: Geo::s32 GetNumChildren() const


Number of immediate children nodes.


Geo::s32 Geo::TreeNode< _Ty >::GetNumInternalNodes


public: Geo::s32 GetNumInternalNodes() const


Total number of internal nodes in the tree (i.e. not leaves)


Geo::s32 Geo::TreeNode< _Ty >::GetNumLevels


public: Geo::s32 GetNumLevels() const


Get the number of levels in the tree.


Geo::s32 Geo::TreeNode< _Ty >::GetNumNodes


public: Geo::s32 GetNumNodes() const


Total number of nodes in the tree.


Geo::s32 Geo::TreeNode< _Ty >::GetNumNodes


public: Geo::s32 GetNumNodes
(
    Geo::s32 level
) const


Total number of nodes in a given level.


const TreeNode<_Ty>* Geo::TreeNode< _Ty >::GetParent


public: const TreeNode< _Ty > * GetParent() const


Get the parent node, NULL if this is the root.


TreeNode<_Ty>* Geo::TreeNode< _Ty >::GetParent


public: TreeNode< _Ty > * GetParent()


Get the parent node, NULL if this is the root.


const TreeNode<_Ty>* Geo::TreeNode< _Ty >::GetRoot


public: const TreeNode< _Ty > * GetRoot() const


Get the root of the tree.


TreeNode<_Ty>* Geo::TreeNode< _Ty >::GetRoot


public: TreeNode< _Ty > * GetRoot()


Get the root of the tree.


const _Ty& Geo::TreeNode< _Ty >::GetValue


public: const _Ty & GetValue() const


Get the value stored in the node.


_Ty& Geo::TreeNode< _Ty >::GetValue


public: _Ty & GetValue()


Get the value stored in the node.


bool Geo::TreeNode< _Ty >::IsLeaf


public: bool IsLeaf() const


Returns whether this is a leaf node, i.e. has no children.


bool Geo::TreeNode< _Ty >::IsRoot


public: bool IsRoot() const


Returns whether this is a root node, i.e. has no parent.


bool Geo::TreeNode< _Ty >::Load


public: bool Load
(
    Geo::IGeoInputStream & reader
)


Load tree from disk.


static GeoClusterNodeTree* Enlighten::GeoClusterNodeTree::Load


public: GeoClusterNodeTree * Load
(
    Geo::IGeoInputStream & reader
)


Loads object from the provided stream.


Geo::NonCopyable::NonCopyable


public: NonCopyable
(
    NonCopyable &&
)


Defaulted to allow move.


NonCopyable& Geo::NonCopyable::operator=


public: NonCopyable & operator=
(
    NonCopyable &&
)


Defaulted to allow move.


TreeNode<_Ty>* Geo::TreeNode< _Ty >::RemoveChild


public: TreeNode< _Ty > * RemoveChild
(
    Geo::s32 idx
)


Remove and return the child with index 'idx' from the tree.


bool Geo::TreeNode< _Ty >::Save


public: bool Save
(
    Geo::IGeoStream & writer
) const


Save tree to disk.


void Geo::TreeNode< _Ty >::SetValue


public: void SetValue
(
    const _Ty & val
)


Set the value stored in the node.


Geo::TreeNode< _Ty >::TreeNode


public: TreeNode()


Constructor.