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. |
Anchor | ||||
---|---|---|---|---|
|
void Geo::RtMeshGroup::AddMesh
...
public: void AddMesh
(
Geo::GeoRefReleasePtr< IRtMesh > mesh
)
...
Add a mesh to the group.
Anchor | ||||
---|---|---|---|---|
|
static RtMeshGroup* Geo::RtMeshGroup::Create
...
public: RtMeshGroup * Create()
...
Creates an RtMeshGroup.
Anchor | ||||
---|---|---|---|---|
|
virtual Geo::s32 Geo::RtMeshGroup::GetNumRtTriangles
...
public: virtual Geo::s32 GetNumRtTriangles() const
...
Returns how many triangles in the mesh.
Anchor | ||||
---|---|---|---|---|
|
virtual Geo::s32 Geo::IRtMesh::GetNumRtTriangles
...
public: Geo::s32 GetNumRtTriangles() const
...
Returns how many triangles in the mesh.
Anchor | ||||
---|---|---|---|---|
|
virtual Geo::s32 Geo::RtMeshGroup::GetNumRtVertices
...
public: virtual Geo::s32 GetNumRtVertices() const
...
Returns how many vertices in the mesh.
Anchor | ||||
---|---|---|---|---|
|
virtual Geo::s32 Geo::IRtMesh::GetNumRtVertices
...
public: Geo::s32 GetNumRtVertices() const
...
Returns how many vertices in the mesh.
Anchor | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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.