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

#include <UserGeomGroup.h>

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

Public Member Functions

 UserGeomGroup (Context *const context, size_t numChildren, unsigned int buildFlags)
 
virtual std::string toString () const
 
void buildOrRefit (bool FULL_REBUILD)
 
void buildAccel (LaunchParams::SP launchParams=nullptr) override
 
void refitAccel (LaunchParams::SP launchParams=nullptr) override
 
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 user-defined/custom primitives. This Group may only be built over UserGeom's

Member Function Documentation

◆ buildAccel()

void owl::UserGeomGroup::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::UserGeomGroup::buildAccelOn ( const DeviceContext::SP &  device)

low-level accel structure builder for given device

the N build inputs that go into the builder

arrays of the vertex pointers - the buildinputs contain pointers* to the pointers, so need a temp copy here

◆ buildOrRefit()

void owl::UserGeomGroup::buildOrRefit ( bool  FULL_REBUILD)

build() and refit() share most of their code; this functoin does all that code, with only minor specialization based on build vs refit

◆ refitAccel()

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

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

Implements owl::Group.

◆ toString()

virtual std::string owl::UserGeomGroup::toString ( ) const
inlinevirtual

pretty-printer, for printf-debugging

Reimplemented from owl::GeomGroup.

Member Data Documentation

◆ defaultBuildFlags

constexpr unsigned int owl::UserGeomGroup::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: