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

#include <Geometry.h>

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

Public Types

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

 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

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

a actual geometry object with primitives - this class is still abstract, and will get fleshed out in its derived classes (UserGeom, TrianlgesGeom, ...)

Constructor & Destructor Documentation

◆ Geom()

owl::Geom::Geom ( Context *const  context,
GeomType::SP  geomType 
)

constructor - mostly pass through to parent class

Member Function Documentation

◆ toString()

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

pretty-printer, for printf-debugging

Reimplemented from owl::SBTObject< GeomType >.

Reimplemented in owl::SphereGeom, owl::TrianglesGeom, and owl::UserGeom.

◆ writeSBTRecord()

void owl::Geom::writeSBTRecord ( uint8_t *const  sbtRecord,
const DeviceContext::SP &  device,
int  rayTypeID 
)

write the SBT record for this object and ray type; this requires finding the proper programs (from the type and ray type), and writign the variables

Parameters
sbtRecordwhere to write to
devicedevice for which we need to write the device represenatation
rayTypeIDthe ray type that defines which programs to use

Member Data Documentation

◆ geomType

GeomType::SP owl::Geom::geomType

the geometry type that desribes this geometry's variables and programs


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