This is the documentation for Enlighten.

class Geo RtMesh

class Geo::RtMesh

    └>Geo::IRtMesh
        └>Geo::IGeoReleasable

A mesh container that can be stored to disk and used later as a ray tracing mesh.

Note that it assumes that the triangles are in the 'correct' Enlighten winding order; if this is not the case, the user should be implementing IRtMesh themselves.

Functions

Name Description
Clear()

Clears this mesh.

Create()

Creates an RtMesh.

Create(Geo::s32, Geo::s32)

Creates an RtMesh.

Create(const Geo::GeoPoint3 *, Geo::s32, const Geo::s32 *, Geo::s32, const Geo::s32 *)

Creates an RtMesh.

Create(const IRtMesh *)

Creates an RtMesh.

GetNumRtTriangles()

Returns how many triangles in the mesh.

GetNumRtTriangles()

Returns how many triangles in the mesh.

GetNumRtVertices()

Returns how many vertices in the mesh.

GetNumRtVertices()

Returns how many vertices in the mesh.

GetRtTrianglePayload(Geo::s32)

Gets the payload data for the given triangle index.

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

Load an instance of this class from an IGeoInputStream.

Release()

Free this object that was created within the Enlighten libraries.

Release()

Free this object that was created within the Enlighten libraries.

Save(Geo::IGeoStream &, Geo::u32)

Save an instance of this class to an IGeoStream.

VisitRtMesh(Geo::EmbreeRtMeshVisitor &)

Calls methods on the given RtMeshVisitor for each vertex and triangle in the mesh.

VisitRtMesh(EmbreeRtMeshVisitor &)

Calls methods on the given RtMeshVisitor for each vertex and triangle in the mesh.


void Geo::RtMesh::Clear


public: void Clear()


Clears this mesh.


static RtMesh* Geo::RtMesh::Create


public: RtMesh * Create()


Creates an RtMesh.


static RtMesh* Geo::RtMesh::Create


public: RtMesh * Create
(
    Geo::s32 numVertices,
    Geo::s32 numTriangles
)


Creates an RtMesh.


static RtMesh* Geo::RtMesh::Create


public: RtMesh * Create
(
    const Geo::GeoPoint3 * vertices,
    Geo::s32 numVertices,
    const Geo::s32 * triVertexIds,
    Geo::s32 numTriVertexIds,
    const Geo::s32 * triPayload
)


Creates an RtMesh.


static RtMesh* Geo::RtMesh::Create


public: RtMesh * Create
(
    const IRtMesh * mesh
)


Creates an RtMesh.


virtual Geo::s32 Geo::RtMesh::GetNumRtTriangles


public: virtual Geo::s32 GetNumRtTriangles() const


Returns how many triangles in the mesh.


virtual Geo::s32 Geo::IRtMesh::GetNumRtTriangles


public: Geo::s32 GetNumRtTriangles() const


Returns how many triangles in the mesh.


virtual Geo::s32 Geo::RtMesh::GetNumRtVertices


public: virtual Geo::s32 GetNumRtVertices() const


Returns how many vertices in the mesh.


virtual Geo::s32 Geo::IRtMesh::GetNumRtVertices


public: Geo::s32 GetNumRtVertices() const


Returns how many vertices in the mesh.


Geo::s32 Geo::RtMesh::GetRtTrianglePayload


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


Gets the payload data for the given triangle index.


bool Geo::RtMesh::Load


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


Load an instance of this class from an IGeoInputStream.


virtual void Geo::RtMesh::Release


public: virtual 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 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)'


bool Geo::RtMesh::Save


public: bool Save
(
    Geo::IGeoStream & stream,
    Geo::u32 section
) const


Save an instance of this class to an IGeoStream.


virtual void Geo::RtMesh::VisitRtMesh


public: virtual void VisitRtMesh
(
    Geo::EmbreeRtMeshVisitor & visitor
) const


Calls methods on the given RtMeshVisitor for each vertex and triangle in the mesh.


virtual void Geo::IRtMesh::VisitRtMesh


public: void VisitRtMesh
(
    EmbreeRtMeshVisitor & visitor
) const


Calls methods on the given RtMeshVisitor for each vertex and triangle in the mesh.