OWL
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
owl::SBTObject< ObjectType > Struct Template Reference

#include <SBTObject.h>

Inheritance diagram for owl::SBTObject< ObjectType >:
owl::SBTObjectBase owl::RegisteredObject owl::ContextObject owl::Object

Public Types

typedef std::shared_ptr< SBTObjectSP
 
- Public Types inherited from owl::ContextObject
typedef std::shared_ptr< ContextObjectSP
 
- Public Types inherited from owl::Object
typedef std::shared_ptr< ObjectSP
 

Public Member Functions

 SBTObject (Context *const context, ObjectRegistry &registry, std::shared_ptr< ObjectType > type)
 
virtual std::string toString () const
 
- Public Member Functions inherited from owl::SBTObjectBase
 SBTObjectBase (Context *const context, ObjectRegistry &registry, std::shared_ptr< SBTObjectType > type)
 
bool hasVariable (const std::string &name)
 
Variable::SP getVariable (const std::string &name)
 
void writeVariables (uint8_t *sbtEntry, const DeviceContext::SP &device) const
 
- Public Member Functions inherited from owl::RegisteredObject
 RegisteredObject (Context *const context, ObjectRegistry &registry)
 
- Public Member Functions inherited from owl::ContextObject
 ContextObject (Context *const context)
 
std::string toString () const override
 
- Public Member Functions inherited from owl::Object
 Object ()
 
virtual std::string toString () const
 
virtual DeviceData::SP createOn (const std::shared_ptr< DeviceContext > &device)
 
void createDeviceData (const std::vector< std::shared_ptr< DeviceContext > > &devices)
 
template<typename T >
std::shared_ptr< T > as ()
 

Public Attributes

std::shared_ptr< ObjectType > const type
 
- Public Attributes inherited from owl::SBTObjectBase
std::shared_ptr< SBTObjectType > const type
 
const std::vector< Variable::SP > variables
 
- Public Attributes inherited from owl::RegisteredObject
int ID
 
ObjectRegistryregistry
 
- Public Attributes inherited from owl::ContextObject
Context *const context
 
- Public Attributes inherited from owl::Object
const size_t uniqueID
 
std::vector< DeviceData::SP > deviceData
 

Additional Inherited Members

- Static Public Attributes inherited from owl::Object
static std::atomic< uint64_t > nextAvailableID
 

Detailed Description

template<typename ObjectType>
struct owl::SBTObject< ObjectType >

same as a SBTObjectBase (ie, still virtual abstract), but adds some type information to help make it easier to differentiate between RayGens, MissPorgs, etc

Constructor & Destructor Documentation

◆ SBTObject()

template<typename ObjectType >
owl::SBTObject< ObjectType >::SBTObject ( Context *const  context,
ObjectRegistry registry,
std::shared_ptr< ObjectType >  type 
)
inline

create a new SBTOBject with this type descriptor, and register it in that registry

Member Function Documentation

◆ toString()

template<typename ObjectType >
virtual std::string owl::SBTObject< ObjectType >::toString ( ) const
inlinevirtual

pretty-printer, for printf-debugging

Reimplemented from owl::ContextObject.

Reimplemented in owl::CurvesGeom, owl::Geom, owl::LaunchParams, owl::MissProg, owl::RayGen, owl::SphereGeom, owl::TrianglesGeom, and owl::UserGeom.

Member Data Documentation

◆ type

template<typename ObjectType >
std::shared_ptr<ObjectType> const owl::SBTObject< ObjectType >::type

our own type description, that tells us which variables (of which type, etc) we have


The documentation for this struct was generated from the following file: