33 struct RtShapeInstanceHandle;
34 struct RtMaterialHandle;
52 OPAQUE_GGX_AND_OREN_NAYAR,
90 template<RtMaterialHandle::Type Type>
105 template<RtMaterialHandle::Type Type>
125 return is( inType ) ?
131 template<RtMaterialHandle::Type Type>
134 return this->
as( Type );
139 return this->
type == inType;
142 template<RtMaterialHandle::Type Type>
145 return this->
is( Type );
155 return !( *
this == other );
Stores triangle mesh data as triangle lists, i.e.
Class for storing rendering information for a Shape.
Type
Define the type of a Shape.
This namespace consists of a set of classes for handling geometric intersection tests including boole...
The agxSensor namespace contains components to model real-time sensors connected to the physics of AG...
std::shared_ptr< RtShape > RtShapeRef
RtShapeRef RtShapeHandleRef
std::shared_ptr< RtShapeInstanceHandle > RtShapeInstanceHandleRef
RtEntityId
Entity id > 0 to access user data given raytrace results including ENTITY_ID_I32.
std::shared_ptr< RtSceneHandle > RtSceneHandleRef
std::shared_ptr< RtScene > RtSceneRef
std::shared_ptr< RtMaterialHandle > RtMaterialHandleRef
Material handle of implicit type in the raytrace environment.
Material instance in the raytrace environment, containing handle and type.
bool operator!=(const RtMaterialInstance &other) const
bool is() const
Check if this material instance is of the given type.
RtMaterialHandleRef handle
RtMaterialInstance as() const
"Cast" this material instance the given template parameter Type.
bool operator==(const RtMaterialInstance &other) const
static RtMaterialInstance create(RtMaterialHandle::Type type)
Create a new handle and instance in of a material of the given type in the raytrace environment.
RtMaterialHandle::Type type
A node performs a single operation, e.g., raycast, gaussian blur, merging etc.
A scene constitutes the raytrace environment and contains a number of raytrace instances.
static RtSceneHandleRef create()
Create an empty raytracing environment scene.
Raytrace scene with handle and ambient/atmospheric material.
static RtSceneRef create()
Create a new scene with default ambient/atmospheric material.
void setMaterial(RtMaterialInstance newMaterial)
Assign ambient/atmosphere material.
Handle to an instance in the raytrace environment.
void setEntityId(RtEntityId id)
Assign id of this instance.
void setTransform(const agx::AffineMatrix4x4 &agxTransform, agx::Vec3 scale=agx::Vec3(1))
Update transform and/or scale of this instance.
void setMaterial(RtMaterialInstance materialInstance)
Assign material to this instance.
Handle and interface for shapes in the raytrace environment (alias RtShapeHandle).
void setVertices(const agx::Vec3Vector &vertices)
Update vertex positions of this mesh.
static RtShapeRef create(const agxCollide::MeshData *data)
Create mesh handle given collision mesh data.
static RtShapeRef create(const agxCollide::Shape *shape)
Create mesh handle given shape instance.
static RtShapeRef create(const agxCollide::RenderData *renderData)
Create mesh handle given the triangles in the given render data instance.
static RtShapeRef create(agxCollide::Shape::Type shapeType)
Create mesh handle given shape type.
static RtShapeRef create(const agx::Vec3Vector &vertices, const agx::UInt32Vector &indices, const agx::Vec3Vector &normals)
Create mesh handle given vertices and indices.
static RtShapeRef create(const agx::Vec3Vector &vertices, const agx::UInt32Vector &indices)
Create mesh handle given vertices and indices.