OWL
|
#include <RegisteredObject.h>
Public Member Functions | |
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 | |
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 | |
Public Types inherited from owl::ContextObject | |
typedef std::shared_ptr< ContextObject > | SP |
Public Types inherited from owl::Object | |
typedef std::shared_ptr< Object > | SP |
Static Public Attributes inherited from owl::Object | |
static std::atomic< uint64_t > | nextAvailableID |
a object that is managed/kept track of in a registry that assigns linear IDs (so that, for example, the SBT builder can easily iterate over all geometries, all geometry types, etc. The sole job of this class is to properly register and unregister itself in the given registry when it gets created/destroyed
int owl::RegisteredObject::ID |
the ID we're registered by - should only ever get set to any useful value in the constructor, and get set to -1 when the object is removed from this registry
ObjectRegistry& owl::RegisteredObject::registry |
the registry (int he context) that we're registered in