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.