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

#include <Group.h>

Inheritance diagram for owl::GeomGroup:
owl::Group owl::RegisteredObject owl::ContextObject owl::Object owl::CurvesGeomGroup owl::SphereGeomGroup owl::TrianglesGeomGroup owl::UserGeomGroup

Public Types

typedef std::shared_ptr< GeomGroupSP
 
- Public Types inherited from owl::Group
typedef std::shared_ptr< GroupSP
 
- 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

 GeomGroup (Context *const context, size_t numChildren)
 
virtual ~GeomGroup ()
 
void setChild (size_t childID, Geom::SP child)
 
int getSBTOffset () const override
 
std::string toString () const
 
- Public Member Functions inherited from owl::Group
 Group (Context *const context, ObjectRegistry &registry)
 
std::string toString () const override
 
virtual void buildAccel (LaunchParams::SP launchParams=nullptr)=0
 
virtual void refitAccel (LaunchParams::SP launchParams=nullptr)=0
 
virtual int getSBTOffset () const =0
 
DeviceDatagetDD (const DeviceContext::SP &device) const
 
RegisteredObject::DeviceData::SP createOn (const DeviceContext::SP &device) override
 
OptixTraversableHandle getTraversable (const DeviceContext::SP &device) const
 
void getAccelSize (size_t &memFinal, size_t &memPeak)
 
- 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::vector< Geom::SP > geometries
 
int sbtOffset
 
- Public Attributes inherited from owl::Group
box3f bounds [2]
 
- 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

a group containing geometries (ie, BLASes, whereas the InstanceGroup is a IAS

Constructor & Destructor Documentation

◆ GeomGroup()

owl::GeomGroup::GeomGroup ( Context *const  context,
size_t  numChildren 
)

constructor for given number of chilren, will allocate the SBT range for those children

constructor for given number of chilren, will allocate the SBT range for those children (or 1 record if geometry contribution is disabled.)

◆ ~GeomGroup()

owl::GeomGroup::~GeomGroup ( )
virtual

destructor that releases the SBT range used by this group

Member Function Documentation

◆ getSBTOffset()

int owl::GeomGroup::getSBTOffset ( ) const
inlineoverridevirtual

return the SBT offset (ie, the offset at which the geometries within this group will be written into the Shader Binding Table)

Implements owl::Group.

◆ setChild()

void owl::GeomGroup::setChild ( size_t  childID,
Geom::SP  child 
)

set given child ID to given geometry

◆ toString()

std::string owl::GeomGroup::toString ( ) const
virtual

pretty-printer, for printf-debugging

Reimplemented from owl::Group.

Reimplemented in owl::UserGeomGroup, owl::SphereGeomGroup, and owl::TrianglesGeomGroup.

Member Data Documentation

◆ geometries

std::vector<Geom::SP> owl::GeomGroup::geometries

list of child geometries to use in this BVH

◆ sbtOffset

int owl::GeomGroup::sbtOffset

the SBT offset that this group will use to write its children into the SBT


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