OWL
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
owl::UserGeom Struct Reference

#include <UserGeom.h>

Inheritance diagram for owl::UserGeom:
owl::Geom owl::SBTObject< GeomType > owl::SBTObjectBase owl::RegisteredObject owl::ContextObject owl::Object

Classes

struct  DeviceData
 

Public Types

typedef std::shared_ptr< UserGeomSP
 
- Public Types inherited from owl::Geom
typedef std::shared_ptr< GeomSP
 
- Public Types inherited from owl::SBTObject< GeomType >
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

 UserGeom (Context *const context, GeomType::SP geometryType)
 
RegisteredObject::DeviceData::SP createOn (const DeviceContext::SP &device) override
 
DeviceDatagetDD (const DeviceContext::SP &device)
 
UserGeomType::DeviceDatagetTypeDD (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 &registry, std::shared_ptr< GeomType > 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

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
 
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

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

Constructor & Destructor Documentation

◆ UserGeom()

owl::UserGeom::UserGeom ( Context *const  context,
GeomType::SP  geometryType 
)

constructor

Member Function Documentation

◆ createOn()

RegisteredObject::DeviceData::SP owl::UserGeom::createOn ( const DeviceContext::SP &  device)
override

creates the device-specific data for this group

◆ executeBoundsProgOnPrimitives()

void owl::UserGeom::executeBoundsProgOnPrimitives ( const DeviceContext::SP &  device)

run the bounding box program for all primitives within this geometry

◆ executeMotionBoundsProgOnPrimitives()

void owl::UserGeom::executeMotionBoundsProgOnPrimitives ( const DeviceContext::SP &  device)

run the motion bounding box program for all primitives within this geometry

◆ getDD()

UserGeom::DeviceData & owl::UserGeom::getDD ( const DeviceContext::SP &  device)
inline

get reference to given device-specific data for this object

◆ getTypeDD()

UserGeomType::DeviceData & owl::UserGeom::getTypeDD ( const DeviceContext::SP &  device) const
inline

get reference to the device-specific data for this object's type descriptor

◆ setBoundsBuffer()

void owl::UserGeom::setBoundsBuffer ( Buffer::SP  buffer)

Allow the user to allocate their own buffer for storing AABBs

◆ setMotionBoundsBuffers()

void owl::UserGeom::setMotionBoundsBuffers ( Buffer::SP  buffer1,
Buffer::SP  buffer2 
)

Allow the user to allocate their own buffer for storing motion AABBs

◆ setPrimCount()

void owl::UserGeom::setPrimCount ( size_t  count)

set number of primitives that this geom will contain

◆ toString()

std::string owl::UserGeom::toString ( ) const
overridevirtual

pretty-printer, for printf-debugging

Reimplemented from owl::Geom.

Member Data Documentation

◆ primCount

size_t owl::UserGeom::primCount = 0

number of prims that this geom will contain


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