This is the documentation for Enlighten.

class Enlighten IPrecompInputSystem

class Enlighten::IPrecompInputSystem

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

Handle to the InputSystem.

Functions

Name Description
AddInstances(const PrecompInputInstance *, const PrecompInputInstance *)

Copy instances between [begin, end) into this object.

ClearAllMaterialInfo()

Clears all existing material properties for this system.

Create()

Create a new IPrecompInputSystem.

GetBuildParameters()

Get the build parameters for this system.

GetBuildParameters()

Get the build parameters for this system.

GetId()

Returns the globally unique ID of this system.

GetInstanceArray()

Access to the array of input instances.

GetInstanceCount()

Retrieves the number of object instances in the system.

GetMaterialInfo(Geo::GeoGuid, Geo::GeoGuid, Geo::GeoGuid, PrecompMaterialInfo &)

Retrieves the material properties that will be used for the given combination of instance, mesh and material GUID.

GetName()

Returns the globally unique name of this system.

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.

SetId(Geo::GeoGuid)

Sets the globally unique ID of this system.

SetMaterialInfo(Geo::GeoGuid, Geo::GeoGuid, Geo::GeoGuid, const PrecompMaterialInfo &)

Sets material properties for the given combination of instance, mesh and material GUIDs.

SetName(const char *)

Sets the globally unique name of this system.


virtual bool Enlighten::IPrecompInputSystem::AddInstances


public: bool AddInstances
(
    const PrecompInputInstance * begin,
    const PrecompInputInstance * end
)


Copy instances between [begin, end) into this object.

Parameters
[in] begin

A pointer to the first element to be added

[in] end

A pointer to an element one past the last entity (as standard STL syntax)

Returns

True if operation succeeded, false if there was not enough memory to satisfy request


virtual void Enlighten::IPrecompInputSystem::ClearAllMaterialInfo


public: void ClearAllMaterialInfo()


Clears all existing material properties for this system.


static IPrecompInputSystem* Enlighten::IPrecompInputSystem::Create


public: IPrecompInputSystem * Create()


Create a new IPrecompInputSystem.


virtual IPrecompBuildParameters* Enlighten::IPrecompInputSystem::GetBuildParameters


public: IPrecompBuildParameters * GetBuildParameters()


Get the build parameters for this system.


virtual const IPrecompBuildParameters* Enlighten::IPrecompInputSystem::GetBuildParameters


public: const IPrecompBuildParameters * GetBuildParameters() const


Get the build parameters for this system.


virtual Geo::GeoGuid Enlighten::IPrecompInputSystem::GetId


public: Geo::GeoGuid GetId() const


Returns the globally unique ID of this system.


virtual const PrecompInputInstance* Enlighten::IPrecompInputSystem::GetInstanceArray


public: const PrecompInputInstance * GetInstanceArray() const


Access to the array of input instances.


virtual Geo::s32 Enlighten::IPrecompInputSystem::GetInstanceCount


public: Geo::s32 GetInstanceCount() const


Retrieves the number of object instances in the system.


virtual void Enlighten::IPrecompInputSystem::GetMaterialInfo


public: void GetMaterialInfo
(
    Geo::GeoGuid instanceGuid,
    Geo::GeoGuid meshGuid,
    Geo::GeoGuid materialGuid,
    PrecompMaterialInfo & outMatInfo
) const


Retrieves the material properties that will be used for the given combination of instance, mesh and material GUID.

If a GUID parameter is passed as GeoGuid::Invalid then the resulting material info will be that for any material use which doesn't have that GUID specified. For example, passing GeoGuid::Invalid for the instanceGuid parameter will return the material used for any instances which don't have a GUID specified.


virtual const char* Enlighten::IPrecompInputSystem::GetName


public: const char * GetName() const


Returns the globally unique name of this system.


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.


virtual void Enlighten::IPrecompInputSystem::SetId


public: void SetId
(
    Geo::GeoGuid systemId
)


Sets the globally unique ID of this system.


virtual bool Enlighten::IPrecompInputSystem::SetMaterialInfo


public: bool SetMaterialInfo
(
    Geo::GeoGuid instanceGuid,
    Geo::GeoGuid meshGuid,
    Geo::GeoGuid materialGuid,
    const PrecompMaterialInfo & matInfo
)


Sets material properties for the given combination of instance, mesh and material GUIDs.

Passing GeoGuid::Invalid to any of the GUID parameters will result in the material properties being set for all material uses of that type. For example passing a specific instance GUID and GeoGuid::Invalid for the the mesh and material GUIDs will set all the materials uses on that instance, regardless of mesh or material. Subsequent calls to SetMaterialInfo will override (wholly or partially) material properties set by previous calls. For example, setting all materials in the entire system (by passing GeoGuid::Invalid for all three GUID params) and then setting a specific material on a specific mesh on a specific instance.


virtual void Enlighten::IPrecompInputSystem::SetName


public: void SetName
(
    const char * name
)


Sets the globally unique name of this system.