This is the documentation for Enlighten.
class Enlighten IClusteringOutput
class Enlighten::IClusteringOutput
  └>Geo::IGeoSerialisable
    └>Geo::IGeoReleasable
An interface for diagnosing the quality and any issues with the clustering process in EnlightenPrecomp2.
In particular, it contains the clustered geometry, used during the precompute. This can be helpful to debug clustering related problems and is the interface GeoRadiosity uses in it's clustering render mode. If you are just interested in debugging a problem, you may be best off simply using these debugging modes in GeoRadiosity.
Functions
Name | Description |
---|---|
Create() | Creates a new IClusteringOutput. |
GetClusterAncestor(const Geo::s32, const Geo::s32) | The index of the ancestor at a particular level of a cluster in the tree. |
GetClusterForest() | Returns the entire tree structure for the clustering. |
GetClusterTriList(Geo::s32) | Returns a collection of triangles that make up the mesh for cluster. |
GetDusterPoints(Geo::s32) | Returns a collection of duster points within this cluster. |
GetNumLeafClusters() | Returns the number of leaves in the clustering. |
GetPreClusterIndex(Geo::s32) | The index of a cluster in the pre-clustering. |
Load(IGeoInputStream &, Geo::u32) | Load an instance of this class from an IGeoInputStream. |
NonCopyable(NonCopyable &&) | Defaulted to allow move. |
operator=(NonCopyable &&) | Defaulted to allow move. |
Release() | Free this object that was created within the Enlighten libraries. |
Save(IGeoStream &, Geo::u32) | Save an instance of this class to an IGeoStream. |
static IClusteringOutput* Enlighten::IClusteringOutput::Create
public: IClusteringOutput * Create()
Creates a new IClusteringOutput.
virtual Geo::s32 Enlighten::IClusteringOutput::GetClusterAncestor
public: Geo::s32 GetClusterAncestor
(
  const Geo::s32 level,
  const Geo::s32 clusterTreeIdx
) const
The index of the ancestor at a particular level of a cluster in the tree.
Parameters
level | The level in the tree to view. Root is level 0, and we count up from there towards the leaves. |
|
clusterTreeIdx | The index of the cluster. Should be from 0 to GetNumLeafClusters(). |
Returns
The ClusterTreeIdx, should be passed to GeoClusterNodeTree::FindNode() to get the cluster data.
Note
Advanced functionality for internal debugging of the Clustering precompute tasks.
virtual const GeoClusterNodeForest* Enlighten::IClusteringOutput::GetClusterForest
public: const GeoClusterNodeForest * GetClusterForest() const
Returns the entire tree structure for the clustering.
Note
Advanced functionality for internal debugging of the Clustering precompute tasks.
virtual const GeoTriangleList* Enlighten::IClusteringOutput::GetClusterTriList
public: const GeoTriangleList * GetClusterTriList
(
  Geo::s32 clusterIdx
) const
Returns a collection of triangles that make up the mesh for cluster.
Parameters
clusterIdx | The index of the cluster. Should be from 0 to GetNumLeafClusters(). |
Returns
A collection of triangles making up the cluster.
virtual const GeoDirectionalPointList* Enlighten::IClusteringOutput::GetDusterPoints
public: const GeoDirectionalPointList * GetDusterPoints
(
  Geo::s32 clusterIdx
) const
Returns a collection of duster points within this cluster.
Note
This class contains a complete list of the duster points, but not in exactly the same order as the points in the InputWorkspace. The main use of these points is to see the duster locations prior to being compression for the InputWorkspace. This data is available "just in case" and is not expected to be used in production. You should prefer the points and normals in the InputWorkspace for general usage.
Parameters
clusterIdx | The index of the cluster. Should be from 0 to GetNumLeafClusters(). |
Returns
A collection of points with direction, that correspond to the duster points (see note!)
virtual Geo::s32 Enlighten::IClusteringOutput::GetNumLeafClusters
public: Geo::s32 GetNumLeafClusters() const
Returns the number of leaves in the clustering.
virtual Geo::s32 Enlighten::IClusteringOutput::GetPreClusterIndex
public: Geo::s32 GetPreClusterIndex
(
  Geo::s32 clusterTreeIdx
) const
The index of a cluster in the pre-clustering.
All leaves will exist in this preClustering, other nodes will not.
Parameters
clusterTreeIdx | The index of the cluster within the tree. Will be from 0 to the total number of clusters, at all levels. |
Note
Advanced functionality for internal debugging of the Clustering precompute tasks.
virtual bool Geo::IGeoSerialisable::Load
public: bool Load
(
  IGeoInputStream & stream,
  Geo::u32 section
)
Load an instance of this class from an IGeoInputStream.
The stream must be ready to read from. You can load sections of an object by passing a bitmask representing the desired sections rather than Iff::AllSectionsMask, which will load all sections. It is also safe to call this method on an object multiple times with different section arguments to load multiple parts.
Geo::NonCopyable::NonCopyable
public: NonCopyable
(
  NonCopyable &&
)
Defaulted to allow move.
NonCopyable& Geo::NonCopyable::operator=
public: NonCopyable & operator=
(
  NonCopyable &&
)
Defaulted to allow move.
virtual void Geo::IGeoReleasable::Release
public: void Release()
Free this object that was created within the Enlighten libraries.
Expect this to behave in a similar way to calling 'delete(this)'
virtual bool Geo::IGeoSerialisable::Save
public: bool Save
(
  IGeoStream & stream,
  Geo::u32 section
) const
Save an instance of this class to an IGeoStream.
The stream must be ready to write to. You can save sections of an object by passing a bitmask representing the desired sections rather than Iff::AllSectionsMask, which will save all sections that are available.