OWL
|
#include <SBTObject.h>
Public Types | |
typedef std::shared_ptr< SBTObject > | SP |
Public Types inherited from owl::ContextObject | |
typedef std::shared_ptr< ContextObject > | SP |
Public Types inherited from owl::Object | |
typedef std::shared_ptr< Object > | SP |
Public Member Functions | |
SBTObject (Context *const context, ObjectRegistry ®istry, std::shared_ptr< ObjectType > type) | |
virtual std::string | toString () const |
Public Member Functions inherited from owl::SBTObjectBase | |
SBTObjectBase (Context *const context, ObjectRegistry ®istry, 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 ®istry) | |
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 |
ObjectRegistry & | registry |
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 |
same as a SBTObjectBase (ie, still virtual abstract), but adds some type information to help make it easier to differentiate between RayGens, MissPorgs, etc
|
inline |
create a new SBTOBject with this type descriptor, and register it in that registry
|
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.
std::shared_ptr<ObjectType> const owl::SBTObject< ObjectType >::type |
our own type description, that tells us which variables (of which type, etc) we have