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
Name | Description |
---|---|
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. |
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. |
void Geo::RtMeshGroup::AddMesh
public: void AddMesh
(
Geo::GeoRefReleasePtr< IRtMesh > mesh
)
Add a mesh to the group.
static RtMeshGroup* Geo::RtMeshGroup::Create
public: RtMeshGroup * Create()
Creates an RtMeshGroup.
virtual Geo::s32 Geo::RtMeshGroup::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::RtMeshGroup::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.
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)'
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)'
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.
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.
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.