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

#include <CurvesGeom.h>

Inheritance diagram for owl::CurvesGeomType:
owl::GeomType owl::SBTObjectType owl::RegisteredObject owl::ContextObject owl::Object

Classes

struct  DeviceData
 

Public Types

typedef std::shared_ptr< CurvesGeomTypeSP
 
- Public Types inherited from owl::GeomType
typedef std::shared_ptr< GeomTypeSP
 
- Public Types inherited from owl::SBTObjectType
typedef std::shared_ptr< SBTObjectTypeSP
 
- 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

 CurvesGeomType (Context *const context, size_t varStructSize, const std::vector< OWLVarDecl > &varDecls)
 
std::string toString () const override
 
std::shared_ptr< GeomcreateGeom () override
 
DeviceDatagetDD (const DeviceContext::SP &device) const
 
RegisteredObject::DeviceData::SP createOn (const DeviceContext::SP &device) override
 
void setDegree (int degree, bool force_caps)
 
- Public Member Functions inherited from owl::GeomType
 GeomType (Context *const context, size_t varStructSize, const std::vector< OWLVarDecl > &varDecls)
 
std::string toString () const override
 
DeviceDatagetDD (const DeviceContext::SP &device) const
 
RegisteredObject::DeviceData::SP createOn (const DeviceContext::SP &device) override
 
virtual std::shared_ptr< GeomcreateGeom ()=0
 
void setAnyHitProgram (int rayType, Module::SP module, const std::string &progName)
 
void setClosestHitProgram (int rayType, Module::SP module, const std::string &progName)
 
- Public Member Functions inherited from owl::SBTObjectType
 SBTObjectType (Context *const context, ObjectRegistry &registry, size_t varStructSize, const std::vector< OWLVarDecl > &varDecls)
 
virtual ~SBTObjectType ()
 
int getVariableIdx (const std::string &varName)
 
bool hasVariable (const std::string &varName)
 
std::string toString () const override
 
void declareVariable (const std::string &varName, OWLDataType type, size_t offset)
 
std::vector< Variable::SP > instantiateVariables ()
 
- 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

int degree = 3
 
bool forceCaps = false
 
- Public Attributes inherited from owl::GeomType
std::vector< ProgramDescclosestHit
 
std::vector< ProgramDescanyHit
 
- Public Attributes inherited from owl::SBTObjectType
const size_t varStructSize
 
const std::vector< OWLVarDeclvarDecls
 
- 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 geometry type that uses optix 'curves' primitives, and that captures the anyhit and closesthit programs, variable types, SBT layout, etc, associated with all instances of this type

Member Function Documentation

◆ createGeom()

std::shared_ptr< Geom > owl::CurvesGeomType::createGeom ( )
overridevirtual

create an instance of tihs geometry - abstract, since the actual class to create depends on what kind of geometry this is

Implements owl::GeomType.

◆ createOn()

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

create this object's device-specific data for the device

◆ getDD()

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

get reference to given device-specific data for this object

◆ toString()

std::string owl::CurvesGeomType::toString ( ) const
inlineoverridevirtual

pretty-print

Reimplemented from owl::Object.

Member Data Documentation

◆ degree

int owl::CurvesGeomType::degree = 3

curve degree - linear (1), quadratic (2), or cubic (3)

◆ forceCaps

bool owl::CurvesGeomType::forceCaps = false

if true, we tell optix to add curve caps on qudratc and cubic segments (which by default wll not have caps). Ignored for linear segments, which always have caps


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