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. |
Anchor | ||||
---|---|---|---|---|
|
static IClusteringOutput* Enlighten::IClusteringOutput::Create
...
public: IClusteringOutput * Create()
...
Creates a new IClusteringOutput.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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!)
Anchor | ||||
---|---|---|---|---|
|
virtual Geo::s32 Enlighten::IClusteringOutput::GetNumLeafClusters
...
public: Geo::s32 GetNumLeafClusters() const
...
Returns the number of leaves in the clustering.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
Geo::NonCopyable::NonCopyable
...
public: NonCopyable
(
NonCopyable &&
)
...
Defaulted to allow move.
Anchor | ||||
---|---|---|---|---|
|
NonCopyable& Geo::NonCopyable::operator=
...
public: NonCopyable & operator=
(
NonCopyable &&
)
...
Defaulted to allow move.
Anchor | ||||
---|---|---|---|---|
|
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)'
Anchor | ||||
---|---|---|---|---|
|
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.