This is the documentation for Enlighten.

class Enlighten GeoClusterNodeForest

class Enlighten::GeoClusterNodeForest

Debugging output representation of a set of clustering metric hierarchies.

Functions

Name Description
AddTree(GeoClusterNodeTree *)

Add a tree to the forest.

BuildRangeArray(ClusterRangeArray &)

Builds an array of nodes where each nodes stores the starting index and number of leaf cluster nodes that it covers.

BuildRangeArray(ClusterRangeArray &, const Geo::s32 &)

Builds an array of nodes similar to BuildRangeArray just for a single level in the tree.

FindNode(const Geo::s32 &)

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

GetAncestor(Geo::s32, Geo::s32)

Find the ancestor(s) of a given node.

GetAncestors(Geo::GeoArray< Geo::s32 > &, const Geo::s32 &)

Find the ancestor(s) of a given node.

GetNumLevels()

Get the number of levels in each hierarchy in the forest.

GetNumNodes()

Get the total number of nodes in the forest.

GetNumNodes(Geo::s32)

Get the number of nodes at a given level in the forest.

GetNumTrees()

Get the number of trees in the forest.

GetTree(Geo::s32)

Get the tree with the given idx.

Load(Geo::IGeoInputStream &)

Loads object from the provided stream.

Save(Geo::IGeoStream &)

Saves object to the provided stream.


void Enlighten::GeoClusterNodeForest::AddTree


public: void AddTree
(
    GeoClusterNodeTree * tree
)


Add a tree to the forest.


bool Enlighten::GeoClusterNodeForest::BuildRangeArray


public: bool BuildRangeArray
(
    ClusterRangeArray & rangeArray
) const


Builds an array of nodes where each nodes stores the starting index and number of leaf cluster nodes that it covers.

This assumes that a given cluster is made up of a contiguous range of leaf level cluster indices. NOTE: The leaves of the tree are triangles which are ignored since the purpose is to retrieve the (sub)clusters making up a given cluster node.


bool Enlighten::GeoClusterNodeForest::BuildRangeArray


public: bool BuildRangeArray
(
    ClusterRangeArray & rangeArray,
    const Geo::s32 & level
) const


Builds an array of nodes similar to BuildRangeArray just for a single level in the tree.


const GeoClusterNodeTree* Enlighten::GeoClusterNodeForest::FindNode


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


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


const GeoClusterNodeTree* Enlighten::GeoClusterNodeForest::GetAncestor


public: const GeoClusterNodeTree * GetAncestor
(
    Geo::s32 linearLeafId,
    Geo::s32 level
) const


Find the ancestor(s) of a given node.


bool Enlighten::GeoClusterNodeForest::GetAncestors


public: bool GetAncestors
(
    Geo::GeoArray< Geo::s32 > & ancestors,
    const Geo::s32 & linearLeafId
) const


Find the ancestor(s) of a given node.


Geo::s32 Enlighten::GeoClusterNodeForest::GetNumLevels


public: Geo::s32 GetNumLevels() const


Get the number of levels in each hierarchy in the forest.


Geo::s32 Enlighten::GeoClusterNodeForest::GetNumNodes


public: Geo::s32 GetNumNodes() const


Get the total number of nodes in the forest.


Geo::s32 Enlighten::GeoClusterNodeForest::GetNumNodes


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


Get the number of nodes at a given level in the forest.


Geo::s32 Enlighten::GeoClusterNodeForest::GetNumTrees


public: Geo::s32 GetNumTrees() const


Get the number of trees in the forest.


const GeoClusterNodeTree* Enlighten::GeoClusterNodeForest::GetTree


public: const GeoClusterNodeTree * GetTree
(
    Geo::s32 idx
) const


Get the tree with the given idx.


static GeoClusterNodeForest* Enlighten::GeoClusterNodeForest::Load


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


Loads object from the provided stream.


bool Enlighten::GeoClusterNodeForest::Save


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


Saves object to the provided stream.