This is the documentation for Enlighten.

class Enlighten IMeshSimpOutput

class Enlighten::IMeshSimpOutput

    └>Geo::IGeoSerialisable
        └>Geo::IGeoReleasable

An interface for diagnosing the quality and any issues with the mesh simplification process in EnlightenPrecomp2.

Functions

Name Description
Create()

Creates a new IMeshSimpOutput.

FindInstanceIndexByGuid(const Geo::GeoGuid &)

Returns the instance index that matches the argument guid, returns -1 if non match.

GetChartFromFaceIndex(Geo::s32, Geo::s32, Geo::s32)

Returns chart index, or -1 if the face isn't in the output atlas.

GetClusterFromFaceIndex(Geo::s32, Geo::s32, Geo::s32)

Returns cluster index, or -1 if the face isn't in the output atlas.

GetMergeAttemptQuality(Geo::s32, Geo::s32)

Return the quality of the merge attempt.

GetNumChartsInCluster(Geo::s32)

Return the number of charts in the given output cluster.

GetNumClusters()

Return the number of clusters in the output atlas - clusters represent charts that have been merged together.

GetNumFacesForMesh(Geo::s32, Geo::s32)

Return the number of faces in the given instance.

GetNumInstances()

Per instance.

GetNumMeshes(Geo::s32)

Return the number of meshes in a given instance.

GetNumOutputCharts()

Return the total number of charts in the output atlas.

GetNumVerticesForMesh(Geo::s32, Geo::s32)

Return the number of vertices in the given instance.

GetOutputAtlasChart(Geo::s32, Geo::s32)

Returns the zero-based chart index of a given output pixel, or -1 if not in a chart.

GetOutputAtlasHeight()

Returns the output atlas height.

GetOutputAtlasNormal(Geo::s32, Geo::s32, Geo::s32)

Returns the world normal of a given output pixel.

GetOutputAtlasPosition(Geo::s32, Geo::s32, Geo::s32)

Returns the world position of a given output pixel.

GetOutputAtlasWidth()

Returns the output atlas width.

GetOutputChartHeight(Geo::s32)

Returns the height of a given chart.

GetOutputChartType(Geo::s32, Geo::s32, Geo::s32)

Return the type of the output chart, normal(0) or smooth bevel(1)

GetOutputChartWidth(Geo::s32)

Returns the width of a given chart.

GetProjectedVertexNormal(Geo::s32, Geo::s32, Geo::s32)

Normal information. Returns the same as the original normal if not merged.

GetProjectedVertexPosition(Geo::s32, Geo::s32, Geo::s32)

Vertex information. Returns the same as the original position if not merged.

IsFullMeshSimpDataPresent()

Per instance.

Load(Geo::IGeoInputStream &, Geo::u32)

Load an instance of this class from an IGeoStream.

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.

WasChartMerged(Geo::s32, Geo::s32)

Per chart.


static IMeshSimpOutput* Enlighten::IMeshSimpOutput::Create


public: IMeshSimpOutput * Create()


Creates a new IMeshSimpOutput.


virtual Geo::s32 Enlighten::IMeshSimpOutput::FindInstanceIndexByGuid


public: Geo::s32 FindInstanceIndexByGuid
(
    const Geo::GeoGuid & guid
) const


Returns the instance index that matches the argument guid, returns -1 if non match.


virtual Geo::s32 Enlighten::IMeshSimpOutput::GetChartFromFaceIndex


public: Geo::s32 GetChartFromFaceIndex
(
    Geo::s32 instance,
    Geo::s32 meshIdx,
    Geo::s32 faceIndex
) const


Returns chart index, or -1 if the face isn't in the output atlas.


virtual Geo::s32 Enlighten::IMeshSimpOutput::GetClusterFromFaceIndex


public: Geo::s32 GetClusterFromFaceIndex
(
    Geo::s32 instance,
    Geo::s32 meshIdx,
    Geo::s32 faceIndex
) const


Returns cluster index, or -1 if the face isn't in the output atlas.


virtual float Enlighten::IMeshSimpOutput::GetMergeAttemptQuality


public: float GetMergeAttemptQuality
(
    Geo::s32 cluster,
    Geo::s32 chart
) const


Return the quality of the merge attempt.


virtual Geo::s32 Enlighten::IMeshSimpOutput::GetNumChartsInCluster


public: Geo::s32 GetNumChartsInCluster
(
    Geo::s32 cluster
) const


Return the number of charts in the given output cluster.


virtual Geo::s32 Enlighten::IMeshSimpOutput::GetNumClusters


public: Geo::s32 GetNumClusters() const


Return the number of clusters in the output atlas - clusters represent charts that have been merged together.


virtual Geo::s32 Enlighten::IMeshSimpOutput::GetNumFacesForMesh


public: Geo::s32 GetNumFacesForMesh
(
    Geo::s32 instance,
    Geo::s32 meshIdx
) const


Return the number of faces in the given instance.


virtual Geo::s32 Enlighten::IMeshSimpOutput::GetNumInstances


public: Geo::s32 GetNumInstances() const


Per instance.

This is more for debugging: should be set if and only if it's targetsimp geometry

Return the total number of instances in the output atlas.


virtual Geo::s32 Enlighten::IMeshSimpOutput::GetNumMeshes


public: Geo::s32 GetNumMeshes
(
    Geo::s32 instance
) const


Return the number of meshes in a given instance.


virtual Geo::s32 Enlighten::IMeshSimpOutput::GetNumOutputCharts


public: Geo::s32 GetNumOutputCharts() const


Return the total number of charts in the output atlas.


virtual Geo::s32 Enlighten::IMeshSimpOutput::GetNumVerticesForMesh


public: Geo::s32 GetNumVerticesForMesh
(
    Geo::s32 instance,
    Geo::s32 meshIdx
) const


Return the number of vertices in the given instance.


virtual Geo::s32 Enlighten::IMeshSimpOutput::GetOutputAtlasChart


public: Geo::s32 GetOutputAtlasChart
(
    Geo::s32 x,
    Geo::s32 y
) const


Returns the zero-based chart index of a given output pixel, or -1 if not in a chart.


virtual Geo::s32 Enlighten::IMeshSimpOutput::GetOutputAtlasHeight


public: Geo::s32 GetOutputAtlasHeight() const


Returns the output atlas height.


virtual Geo::v128 Enlighten::IMeshSimpOutput::GetOutputAtlasNormal


public: Geo::v128 GetOutputAtlasNormal
(
    Geo::s32 cluster,
    Geo::s32 x,
    Geo::s32 y
) const


Returns the world normal of a given output pixel.


virtual Geo::v128 Enlighten::IMeshSimpOutput::GetOutputAtlasPosition


public: Geo::v128 GetOutputAtlasPosition
(
    Geo::s32 cluster,
    Geo::s32 x,
    Geo::s32 y
) const


Returns the world position of a given output pixel.


virtual Geo::s32 Enlighten::IMeshSimpOutput::GetOutputAtlasWidth


public: Geo::s32 GetOutputAtlasWidth() const


Returns the output atlas width.


virtual Geo::s32 Enlighten::IMeshSimpOutput::GetOutputChartHeight


public: Geo::s32 GetOutputChartHeight
(
    Geo::s32 cluster
) const


Returns the height of a given chart.


virtual Geo::u16 Enlighten::IMeshSimpOutput::GetOutputChartType


public: Geo::u16 GetOutputChartType
(
    Geo::s32 instance,
    Geo::s32 meshIdx,
    Geo::s32 faceIndex
) const


Return the type of the output chart, normal(0) or smooth bevel(1)


virtual Geo::s32 Enlighten::IMeshSimpOutput::GetOutputChartWidth


public: Geo::s32 GetOutputChartWidth
(
    Geo::s32 cluster
) const


Returns the width of a given chart.


virtual Geo::v128 Enlighten::IMeshSimpOutput::GetProjectedVertexNormal


public: Geo::v128 GetProjectedVertexNormal
(
    Geo::s32 instance,
    Geo::s32 meshIdx,
    Geo::s32 vertexIndex
) const


Normal information. Returns the same as the original normal if not merged.


virtual Geo::v128 Enlighten::IMeshSimpOutput::GetProjectedVertexPosition


public: Geo::v128 GetProjectedVertexPosition
(
    Geo::s32 instance,
    Geo::s32 meshIdx,
    Geo::s32 vertexIndex
) const


Vertex information. Returns the same as the original position if not merged.


virtual bool Enlighten::IMeshSimpOutput::IsFullMeshSimpDataPresent


public: bool IsFullMeshSimpDataPresent() const


Per instance.

This is more for debugging: should be set if and only if it's targetsimp geometry

Return the total number of instances in the output atlas.


virtual bool Enlighten::IMeshSimpOutput::Load


public: bool Load
(
    Geo::IGeoInputStream & stream,
    Geo::u32 section
)


Load an instance of this class from an IGeoStream.

The stream must be ready to read from. Pass 0 as the section parameter to load only the atlas chart information (which is used in the Chart Texture view in GeoRadiosity); pass Geo::Iff::AllSectionsMask to load all of the mesh simp output data.


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.


virtual bool Enlighten::IMeshSimpOutput::WasChartMerged


public: bool WasChartMerged
(
    Geo::s32 cluster,
    Geo::s32 chart
) const


Per chart.

Return true iff the given chart from the given cluster was merged.