This is the documentation for Enlighten.

class Enlighten IPrecomputeLoaderGeometry

class Enlighten::IPrecomputeLoaderGeometry

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

The Interface to Geometry data.

Contains the geometry precompute data required by Enlighten at runtime.

Typedefs

Name Description
Geo::GeoPair< Geo::s32, Geo::s32 > TextureSize

Texture size of the output uv's.

Functions

Name Description
Create()

Create an empty object.

GetId()

Get geometry id.

GetLodCount()

Get number of lod's.

GetMeshCount()

Get number of meshes.

GetOutputUvSize(Geo::s32)

Returns the size of the UV texture for which the UV coordinates were calculated, for a given lod.

GetSurfaceArea(Geo::s32)

Get the estimated surface area of the geometry, for a given lod.

GetTargetUsagePercentage(Geo::s32)

Get the percentage of the output UV texture occupied, for a given lod.

GetUvs(Geo::s32, Geo::s32)

Get uvs array for the mesh index idx at given lod.

GetVerticesCount(Geo::s32)

Get number of vertices for the mesh index idx.

Load(IGeoInputStream &, Geo::u32)

Load an instance of this class from an IGeoInputStream.

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


public: IPrecomputeLoaderGeometry * Create()


Create an empty object.


virtual const Geo::GeoGuid& Enlighten::IPrecomputeLoaderGeometry::GetId


public: const Geo::GeoGuid & GetId() const


Get geometry id.


virtual Geo::s32 Enlighten::IPrecomputeLoaderGeometry::GetLodCount


public: Geo::s32 GetLodCount() const


Get number of lod's.


virtual Geo::s32 Enlighten::IPrecomputeLoaderGeometry::GetMeshCount


public: Geo::s32 GetMeshCount() const


Get number of meshes.


virtual TextureSize Enlighten::IPrecomputeLoaderGeometry::GetOutputUvSize


public: TextureSize GetOutputUvSize
(
    Geo::s32 lod
) const


Returns the size of the UV texture for which the UV coordinates were calculated, for a given lod.


virtual float Enlighten::IPrecomputeLoaderGeometry::GetSurfaceArea


public: float GetSurfaceArea
(
    Geo::s32 lod
) const


Get the estimated surface area of the geometry, for a given lod.


virtual float Enlighten::IPrecomputeLoaderGeometry::GetTargetUsagePercentage


public: float GetTargetUsagePercentage
(
    Geo::s32 lod
) const


Get the percentage of the output UV texture occupied, for a given lod.


virtual const Geo::GeoPoint2* Enlighten::IPrecomputeLoaderGeometry::GetUvs


public: const Geo::GeoPoint2 * GetUvs
(
    Geo::s32 lod,
    Geo::s32 idx
) const


Get uvs array for the mesh index idx at given lod.


virtual Geo::s32 Enlighten::IPrecomputeLoaderGeometry::GetVerticesCount


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


Get number of vertices for the mesh index idx.


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.


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.