This is the documentation for Enlighten.

class Enlighten IPrecompInputProbeRegion

class Enlighten::IPrecompInputProbeRegion

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

Represents a region of 3D space voxelized at various resolutions.

Functions

Name Description
AddBoxes(ProbeOctreeResolution, const Geo::GeoBoundingBox *, Geo::s32)

Extend by the specified array of boxes.

AddPoints(ProbeOctreeResolution, const Geo::v128 *, Geo::s32)

Extend by the specified array of points.

AddSolid(ProbeOctreeResolution, const Geo::Matrix &, Geo::StridedArrayView< PrecompIndex3 >, Geo::StridedArrayView< Geo::GeoPoint3 >)

Extend by the volume of the specified closed triangle mesh.

AddSurface(ProbeOctreeResolution, const Geo::Matrix &, Geo::StridedArrayView< PrecompIndex3 >, Geo::StridedArrayView< Geo::GeoPoint3 >)

Extend by the surface of the specified triangle mesh.

AddTerrain(ProbeOctreeResolution, const Geo::Matrix &, Geo::StridedArrayView< PrecompIndex3 >, Geo::StridedArrayView< Geo::GeoPoint3 >)

Extend by the terrain of the specified triangle mesh.

AddVolume(ProbeOctreeResolution, const IPrecompVolumeQuery &)

Extend by the specified volume.

Create()

Create a new empty IPrecompInputProbeRegion.

Create(float)

Create a new IPrecompInputProbeRegion that represents a region of 3D space with voxels of the specified size.

GetBoxCount(ProbeOctreeResolution)

Return the number of boxes previously added at the specified resolution.

GetBoxes(ProbeOctreeResolution)

Return the array of boxes previously added at the specified resolution.

GetPointCount(ProbeOctreeResolution)

Return the number of points previously added at the specified resolution.

GetPoints(ProbeOctreeResolution)

Return the array of points previously added at the specified resolution.

GetSolidCount(ProbeOctreeResolution)

Return the number of solids previously added at the specified resolution.

GetSolidFaceCount(ProbeOctreeResolution, Geo::u32)

Return the face count for the solid previously added at the specified resolution and index.

GetSolidFaces(ProbeOctreeResolution, Geo::u32)

Return the face array for the solid previously added at the specified resolution and index.

GetSolidTransform(ProbeOctreeResolution, Geo::u32)

Return the transform for the solid previously added at the specified resolution and index.

GetSolidVertexCount(ProbeOctreeResolution, Geo::u32)

Return the vertex count for the solid previously added at the specified resolution and index.

GetSolidVertices(ProbeOctreeResolution, Geo::u32)

Return the vertex array for the solid previously added at the specified resolution and index.

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.


virtual void Enlighten::IPrecompInputProbeRegion::AddBoxes


public: void AddBoxes
(
    ProbeOctreeResolution resolution,
    const Geo::GeoBoundingBox * boxes,
    Geo::s32 count
)


Extend by the specified array of boxes.

Parameters
[in] resolution

The desired resolution.

[in] boxes

An array of boxes for which probes will be placed.

[in] count

Number of boxes in the boxes array.


virtual void Enlighten::IPrecompInputProbeRegion::AddPoints


public: void AddPoints
(
    ProbeOctreeResolution resolution,
    const Geo::v128 * points,
    Geo::s32 count
)


Extend by the specified array of points.

Parameters
[in] resolution

The desired resolution.

[in] points

An array of points for which probes will be placed at the specified resolution.

[in] count

Number of points in the points array.


virtual void Enlighten::IPrecompInputProbeRegion::AddSolid


public: void AddSolid
(
    ProbeOctreeResolution resolution,
    const Geo::Matrix & transform,
    Geo::StridedArrayView< PrecompIndex3 > faces,
    Geo::StridedArrayView< Geo::GeoPoint3 > vertices
)


Extend by the volume of the specified closed triangle mesh.

Each edge must be adjacent to exactly two faces.

Parameters
[in] resolution

The desired resolution.

[in] transform

The transform to apply to each vertex of the mesh.

[in] faces

An array of triangles which index into the vertex array.

[in] vertices

An array which contains all vertices in the mesh.


virtual void Enlighten::IPrecompInputProbeRegion::AddSurface


public: void AddSurface
(
    ProbeOctreeResolution resolution,
    const Geo::Matrix & transform,
    Geo::StridedArrayView< PrecompIndex3 > faces,
    Geo::StridedArrayView< Geo::GeoPoint3 > vertices
)


Extend by the surface of the specified triangle mesh.

Parameters
[in] resolution

The desired resolution.

[in] transform

The transform to apply to each vertex of the mesh.

[in] faces

An array of triangles which index into the vertex array.

[in] vertices

An array which contains all vertices in the mesh.


virtual void Enlighten::IPrecompInputProbeRegion::AddTerrain


public: void AddTerrain
(
    ProbeOctreeResolution resolution,
    const Geo::Matrix & transform,
    Geo::StridedArrayView< PrecompIndex3 > faces,
    Geo::StridedArrayView< Geo::GeoPoint3 > vertices
)


Extend by the terrain of the specified triangle mesh.

Parameters
[in] resolution

The desired resolution.

[in] transform

The transform to apply to each vertex of the mesh.

[in] faces

An array of triangles which index into the vertex array.

[in] vertices

An array which contains all vertices in the mesh.


virtual void Enlighten::IPrecompInputProbeRegion::AddVolume


public: void AddVolume
(
    ProbeOctreeResolution resolution,
    const IPrecompVolumeQuery & query
)


Extend by the specified volume.

Parameters
[in] resolution

The desired resolution.

[in] query

An implementation of IPrecompVolumeQuery which represents the desired volume. Note: object lifetime must be at least the duration of this method call.


static IPrecompInputProbeRegion* Enlighten::IPrecompInputProbeRegion::Create


public: IPrecompInputProbeRegion * Create()


Create a new empty IPrecompInputProbeRegion.


static IPrecompInputProbeRegion* Enlighten::IPrecompInputProbeRegion::Create


public: IPrecompInputProbeRegion * Create
(
    float voxelSize
)


Create a new IPrecompInputProbeRegion that represents a region of 3D space with voxels of the specified size.

Parameters
[in] voxelSize

The size of the smallest possible voxel used to represent the region of 3D space.


virtual Geo::u32 Enlighten::IPrecompInputProbeRegion::GetBoxCount


public: Geo::u32 GetBoxCount
(
    ProbeOctreeResolution resolution
) const


Return the number of boxes previously added at the specified resolution.


virtual const Geo::GeoBoundingBox* Enlighten::IPrecompInputProbeRegion::GetBoxes


public: const Geo::GeoBoundingBox * GetBoxes
(
    ProbeOctreeResolution resolution
) const


Return the array of boxes previously added at the specified resolution.


virtual Geo::u32 Enlighten::IPrecompInputProbeRegion::GetPointCount


public: Geo::u32 GetPointCount
(
    ProbeOctreeResolution resolution
) const


Return the number of points previously added at the specified resolution.


virtual const Geo::v128* Enlighten::IPrecompInputProbeRegion::GetPoints


public: const Geo::v128 * GetPoints
(
    ProbeOctreeResolution resolution
) const


Return the array of points previously added at the specified resolution.


virtual Geo::u32 Enlighten::IPrecompInputProbeRegion::GetSolidCount


public: Geo::u32 GetSolidCount
(
    ProbeOctreeResolution resolution
) const


Return the number of solids previously added at the specified resolution.


virtual Geo::u32 Enlighten::IPrecompInputProbeRegion::GetSolidFaceCount


public: Geo::u32 GetSolidFaceCount
(
    ProbeOctreeResolution resolution,
    Geo::u32 index
) const


Return the face count for the solid previously added at the specified resolution and index.


virtual const PrecompIndex3* Enlighten::IPrecompInputProbeRegion::GetSolidFaces


public: const PrecompIndex3 * GetSolidFaces
(
    ProbeOctreeResolution resolution,
    Geo::u32 index
) const


Return the face array for the solid previously added at the specified resolution and index.


virtual const Geo::Matrix& Enlighten::IPrecompInputProbeRegion::GetSolidTransform


public: const Geo::Matrix & GetSolidTransform
(
    ProbeOctreeResolution resolution,
    Geo::u32 index
) const


Return the transform for the solid previously added at the specified resolution and index.


virtual Geo::u32 Enlighten::IPrecompInputProbeRegion::GetSolidVertexCount


public: Geo::u32 GetSolidVertexCount
(
    ProbeOctreeResolution resolution,
    Geo::u32 index
) const


Return the vertex count for the solid previously added at the specified resolution and index.


virtual const Geo::GeoPoint3* Enlighten::IPrecompInputProbeRegion::GetSolidVertices


public: const Geo::GeoPoint3 * GetSolidVertices
(
    ProbeOctreeResolution resolution,
    Geo::u32 index
) const


Return the vertex array for the solid previously added at the specified resolution and index.


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.