Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

class Geo::RtMeshGroup

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

A ray tracing mesh that is a collection of other meshes.

You can construct a ray tracing scene by creating one of these, and adding other IRtMesh to it. Note that inputs are passed in as reference counted pointers, so bare pointers will be released when this object goes out of scope. If you are holding IRtMesh pointers in your object, store them as Geo::GeoRefReleasePtr also...

Functions

NameDescription
AddMesh(Geo::GeoRefReleasePtr< IRtMesh >)

Add a mesh to the group.

Create()

Creates an RtMeshGroup.

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.

NonCopyable(NonCopyable &&)

Defaulted to allow move.

operator=(NonCopyable &&)

Defaulted to allow move.

Release()

Free this object that was created within the Enlighten libraries.

Release()

Free this object that was created within the Enlighten libraries.

SetRayTracingOffset(Geo::GeoPoint3)

Set the ray tracing offset.

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.


Anchor
a793d7e650bfbafec265e1adc1c9344ea
a793d7e650bfbafec265e1adc1c9344ea

void Geo::RtMeshGroup::AddMesh

...

public: void AddMesh
(
    Geo::GeoRefReleasePtr< IRtMesh > mesh
)

...

Add a mesh to the group.


Anchor
a203c8c609d57aa79e954fe082006cc33
a203c8c609d57aa79e954fe082006cc33

static RtMeshGroup* Geo::RtMeshGroup::Create

...

public: RtMeshGroup * Create()

...

Creates an RtMeshGroup.


Anchor
a8cc6ae1890e1e4f4d98308599ed8022a
a8cc6ae1890e1e4f4d98308599ed8022a

virtual Geo::s32 Geo::RtMeshGroup::GetNumRtTriangles

...

public: virtual Geo::s32 GetNumRtTriangles() const

...

Returns how many triangles in the mesh.


Anchor
a5e151a9a555443c1cef118eb5942f574
a5e151a9a555443c1cef118eb5942f574

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

...

public: Geo::s32 GetNumRtTriangles() const

...

Returns how many triangles in the mesh.


Anchor
ae154b445f622e9e6b603da97d9671ccd
ae154b445f622e9e6b603da97d9671ccd

virtual Geo::s32 Geo::RtMeshGroup::GetNumRtVertices

...

public: virtual Geo::s32 GetNumRtVertices() const

...

Returns how many vertices in the mesh.


Anchor
a44d281ca0daccbbafebf93eb92872cda
a44d281ca0daccbbafebf93eb92872cda

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

...

public: Geo::s32 GetNumRtVertices() const

...

Returns how many vertices in the mesh.


Anchor
adaed81b4c59f263dcb4e78c4126f4683
adaed81b4c59f263dcb4e78c4126f4683

Geo::NonCopyable::NonCopyable

...

public: NonCopyable
(
    NonCopyable &&
)

...

Defaulted to allow move.


Anchor
a6abc781e23b8f4864e0b868806e0acbf
a6abc781e23b8f4864e0b868806e0acbf

NonCopyable& Geo::NonCopyable::operator=

...

public: NonCopyable & operator=
(
    NonCopyable &&
)

...

Defaulted to allow move.


Anchor
a9b9d828e1a7ca44e1c5b0abb750a1557
a9b9d828e1a7ca44e1c5b0abb750a1557

virtual void Geo::RtMeshGroup::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)'


Anchor
af6bdf30b42adde386c428e9dc2821eb9
af6bdf30b42adde386c428e9dc2821eb9

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)'


Anchor
a9725fa77d93b38c81b757a01d5feeede
a9725fa77d93b38c81b757a01d5feeede

void Geo::RtMeshGroup::SetRayTracingOffset

...

public: void SetRayTracingOffset
(
    Geo::GeoPoint3 meshCentre
)

...

Set the ray tracing offset.

All vertex positions will have this offset subtracted before being passed to ray tracing acceleration structure creation. Typically, we want to move the mesh centre to the origin so that the rays of interest are traced with greatest floating-point precision.


Anchor
a22eef3c79063d80722bceecaa6e37159
a22eef3c79063d80722bceecaa6e37159

virtual void Geo::RtMeshGroup::VisitRtMesh

...

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

...

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


Anchor
ab39c603c35482a228bef0ec42c9ab5ad
ab39c603c35482a228bef0ec42c9ab5ad

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.