OWL
|
#include <UserGeom.h>
Classes | |
struct | DeviceData |
Public Types | |
typedef std::shared_ptr< UserGeom > | SP |
Public Types inherited from owl::Geom | |
typedef std::shared_ptr< Geom > | SP |
Public Types inherited from owl::SBTObject< GeomType > | |
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 | |
UserGeom (Context *const context, GeomType::SP geometryType) | |
RegisteredObject::DeviceData::SP | createOn (const DeviceContext::SP &device) override |
DeviceData & | getDD (const DeviceContext::SP &device) |
UserGeomType::DeviceData & | getTypeDD (const DeviceContext::SP &device) const |
std::string | toString () const override |
void | setPrimCount (size_t count) |
void | setBoundsBuffer (Buffer::SP buffer) |
void | setMotionBoundsBuffers (Buffer::SP buffer1, Buffer::SP buffer2) |
void | executeBoundsProgOnPrimitives (const DeviceContext::SP &device) |
void | executeMotionBoundsProgOnPrimitives (const DeviceContext::SP &device) |
Public Member Functions inherited from owl::Geom | |
Geom (Context *const context, GeomType::SP geomType) | |
std::string | toString () const override |
void | writeSBTRecord (uint8_t *const sbtRecord, const DeviceContext::SP &device, int rayTypeID) |
Public Member Functions inherited from owl::SBTObject< GeomType > | |
SBTObject (Context *const context, ObjectRegistry ®istry, std::shared_ptr< GeomType > 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 | |
size_t | primCount = 0 |
Public Attributes inherited from owl::Geom | |
GeomType::SP | geomType |
Public Attributes inherited from owl::SBTObject< GeomType > | |
std::shared_ptr< GeomType > 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 |
instance of a user geometry - this describes a type of geometry whose bounds and isec programs are speciffied through its associated type, and whose values are stores in this object's variables
owl::UserGeom::UserGeom | ( | Context *const | context, |
GeomType::SP | geometryType | ||
) |
constructor
|
override |
creates the device-specific data for this group
void owl::UserGeom::executeBoundsProgOnPrimitives | ( | const DeviceContext::SP & | device | ) |
run the bounding box program for all primitives within this geometry
void owl::UserGeom::executeMotionBoundsProgOnPrimitives | ( | const DeviceContext::SP & | device | ) |
run the motion bounding box program for all primitives within this geometry
|
inline |
get reference to given device-specific data for this object
|
inline |
get reference to the device-specific data for this object's type descriptor
void owl::UserGeom::setBoundsBuffer | ( | Buffer::SP | buffer | ) |
Allow the user to allocate their own buffer for storing AABBs
void owl::UserGeom::setMotionBoundsBuffers | ( | Buffer::SP | buffer1, |
Buffer::SP | buffer2 | ||
) |
Allow the user to allocate their own buffer for storing motion AABBs
void owl::UserGeom::setPrimCount | ( | size_t | count | ) |
set number of primitives that this geom will contain
|
overridevirtual |
pretty-printer, for printf-debugging
Reimplemented from owl::Geom.
size_t owl::UserGeom::primCount = 0 |
number of prims that this geom will contain