This is the documentation for Enlighten.

class Enlighten IPrecompPackedGeometry

class Enlighten::IPrecompPackedGeometry

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

Handle to the PackedGeometry.

Functions

Name Description
Create()

Create a new empty IPrecompPackedGeometry.

GetBoundingBox()

Get the axis aligned bounding box of the radiosity geometry.

GetId()

Return the unique ID of this geometry.

GetInputMesh(Geo::s32)

Get the mesh at a given index.

GetLod(Geo::s32)

Get a given (lodIndex) Lod of this geometry.

GetMeshProperties(Geo::s32)

Get the mesh properties for a given index.

GetName()

Get the full name.

GetNumLods()

Get number of Lods of this geometry.

GetNumMeshes()

Returns the number of meshes in the output geometry.

GetNumVerts(Geo::s32)

Returns the number of vertices in the output geometry for the given mesh index.

GetOutputChartIdsArray(Geo::s32)

Returns a pointer to a per-vertex chart id information for the given mesh id.

GetOutputUvArray(Geo::s32)

Returns a pointer to the per-vertex uvs for the given mesh index.

GetOutputUvSize()

Returns the size of the UV texture for which the UV coordinates were calculated.

GetProjectionCost()

Get the projection cost for the geometry.

GetProjectionCost(Geo::s32)

Get the projection cost for an individual mesh.

GetSurfaceArea()

Get the estimated surface area of the radiosity geometry.

GetTargetUsagePercentage()

Get the percentage of the output UV texture occupied.

GetUVArea()

Get the estimated UV surface area of the radiosity geometry.

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 IPrecompPackedGeometry* Enlighten::IPrecompPackedGeometry::Create


public: IPrecompPackedGeometry * Create()


Create a new empty IPrecompPackedGeometry.

You can load data into an empty class with the IGeoSerialisable interface.


virtual Geo::GeoBoundingBox Enlighten::IPrecompPackedGeometry::GetBoundingBox


public: Geo::GeoBoundingBox GetBoundingBox() const


Get the axis aligned bounding box of the radiosity geometry.


virtual Geo::GeoGuid Enlighten::IPrecompPackedGeometry::GetId


public: Geo::GeoGuid GetId() const


Return the unique ID of this geometry.


virtual const IPrecompInputMesh* Enlighten::IPrecompPackedGeometry::GetInputMesh


public: const IPrecompInputMesh * GetInputMesh
(
    Geo::s32 idx
) const


Get the mesh at a given index.

Parameters
[in] idx

The index for the mesh, returned by the AddMesh call in IPrecompInputGeometry. Must be in the range 0 <= idx < GetNumMeshes().

Returns

A copy of the input mesh (after required internal preprocessing such as autoUVs or face winding changes), or NULL if the index is out of range.


virtual const IPrecompPackedGeometry* Enlighten::IPrecompPackedGeometry::GetLod


public: const IPrecompPackedGeometry * GetLod
(
    Geo::s32 lodIndex
) const


Get a given (lodIndex) Lod of this geometry.

GetLod(0) will return the geometry itself. If lodIndex if greater or equal than value returned by GetNumLods(), then the last (lowest quality) Lod is returned.


virtual const PrecompMeshProperties* Enlighten::IPrecompPackedGeometry::GetMeshProperties


public: const PrecompMeshProperties * GetMeshProperties
(
    Geo::s32 idx
) const


Get the mesh properties for a given index.

Parameters
[in] idx

The index for the mesh, returned by the AddMesh call in IPrecompInputGeometry. Must be in the range 0 <= idx < GetNumMeshes().

Returns

The mesh properties provided by the user in the input geometry class, or NULL if the index is out of range.


virtual const char* Enlighten::IPrecompPackedGeometry::GetName


public: const char * GetName() const


Get the full name.


virtual Geo::s32 Enlighten::IPrecompPackedGeometry::GetNumLods


public: Geo::s32 GetNumLods() const


Get number of Lods of this geometry.


virtual Geo::s32 Enlighten::IPrecompPackedGeometry::GetNumMeshes


public: Geo::s32 GetNumMeshes() const


Returns the number of meshes in the output geometry.


virtual Geo::s32 Enlighten::IPrecompPackedGeometry::GetNumVerts


public: Geo::s32 GetNumVerts
(
    Geo::s32 idx
) const


Returns the number of vertices in the output geometry for the given mesh index.

Note

This will return -1 if the mesh did not have uvs generated for it.


virtual const Geo::s32* Enlighten::IPrecompPackedGeometry::GetOutputChartIdsArray


public: const Geo::s32 * GetOutputChartIdsArray
(
    Geo::s32 id
) const


Returns a pointer to a per-vertex chart id information for the given mesh id.


virtual const Geo::GeoPoint2* Enlighten::IPrecompPackedGeometry::GetOutputUvArray


public: const Geo::GeoPoint2 * GetOutputUvArray
(
    Geo::s32 id
) const


Returns a pointer to the per-vertex uvs for the given mesh index.

Note

This will return NULL if the mesh did not have uvs generated for it.


virtual Geo::GeoPair<Geo::s32, Geo::s32> Enlighten::IPrecompPackedGeometry::GetOutputUvSize


public: Geo::GeoPair< Geo::s32, Geo::s32 > GetOutputUvSize() const


Returns the size of the UV texture for which the UV coordinates were calculated.


virtual float Enlighten::IPrecompPackedGeometry::GetProjectionCost


public: float GetProjectionCost() const


Get the projection cost for the geometry.

Lower is better.

Note

This measure is not comparable between meshes. Only compare it with different projections of the same mesh.


virtual float Enlighten::IPrecompPackedGeometry::GetProjectionCost


public: float GetProjectionCost
(
    Geo::s32 meshIdx
) const


Get the projection cost for an individual mesh.

Lower is better.

Note

This measure is not comparable between meshes. Only compare it with different projections of the same mesh.


virtual float Enlighten::IPrecompPackedGeometry::GetSurfaceArea


public: float GetSurfaceArea() const


Get the estimated surface area of the radiosity geometry.


virtual float Enlighten::IPrecompPackedGeometry::GetTargetUsagePercentage


public: float GetTargetUsagePercentage() const


Get the percentage of the output UV texture occupied.


virtual float Enlighten::IPrecompPackedGeometry::GetUVArea


public: float GetUVArea() const


Get the estimated UV surface area of the radiosity geometry.


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.