OWL
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
owl::SphereGeomGroup Struct Reference

#include <SphereGeomGroup.h>

Inheritance diagram for owl::SphereGeomGroup:
owl::GeomGroup owl::Group owl::RegisteredObject owl::ContextObject owl::Object

Public Member Functions

 SphereGeomGroup (Context *const context, size_t numChildren, unsigned int buildFlags)
 
std::string toString () const override
 
void buildAccel (LaunchParams::SP launchParams=nullptr) override
 
void refitAccel (LaunchParams::SP launchParams=nullptr) override
 
void updateMotionBounds ()
 
template<bool FULL_REBUILD>
void buildAccelOn (const DeviceContext::SP &device)
 
- Public Member Functions inherited from owl::GeomGroup
 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 ()
 

Static Public Attributes

static constexpr unsigned int defaultBuildFlags
 
- Static Public Attributes inherited from owl::Object
static std::atomic< uint64_t > nextAvailableID
 

Protected Attributes

const unsigned int buildFlags
 

Additional Inherited Members

- Public Types inherited from owl::GeomGroup
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 Attributes inherited from owl::GeomGroup
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
 

Detailed Description

a geometry group / BLAS over sphere primitives. This Group may only be built over UserGeom's

Constructor & Destructor Documentation

◆ SphereGeomGroup()

owl::SphereGeomGroup::SphereGeomGroup ( Context *const  context,
size_t  numChildren,
unsigned int  _buildFlags 
)

constructor - passthrough to parent class

constructor - mostly pass through to parent class

Member Function Documentation

◆ buildAccel()

void owl::SphereGeomGroup::buildAccel ( LaunchParams::SP  launchParams = nullptr)
overridevirtual

re*build* this accel - actual work depens on subclass

Implements owl::Group.

◆ buildAccelOn()

template<bool FULL_REBUILD>
void owl::SphereGeomGroup::buildAccelOn ( const DeviceContext::SP &  device)

low-level accel structure builder for given device

◆ refitAccel()

void owl::SphereGeomGroup::refitAccel ( LaunchParams::SP  launchParams = nullptr)
overridevirtual

re*fit* this accel - actual work depens on subclass

Implements owl::Group.

◆ toString()

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

pretty-printer, for printf-debugging

Reimplemented from owl::GeomGroup.

◆ updateMotionBounds()

void owl::SphereGeomGroup::updateMotionBounds ( )

(re-)compute the Group::bounds[2] information for motion blur

  • ie, our parent node may need this

Member Data Documentation

◆ defaultBuildFlags

constexpr unsigned int owl::SphereGeomGroup::defaultBuildFlags
staticconstexpr
Initial value:
=
OPTIX_BUILD_FLAG_PREFER_FAST_TRACE |
OPTIX_BUILD_FLAG_ALLOW_COMPACTION

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