|
OWL
|
#include <CurvesGeom.h>
Classes | |
| struct | DeviceData |
Public Types | |
| typedef std::shared_ptr< CurvesGeomType > | SP |
Public Types inherited from owl::GeomType | |
| typedef std::shared_ptr< GeomType > | SP |
Public Types inherited from owl::SBTObjectType | |
| typedef std::shared_ptr< SBTObjectType > | SP |
Public Types inherited from owl::ContextObject | |
| typedef std::shared_ptr< ContextObject > | SP |
Public Types inherited from owl::Object | |
| typedef std::shared_ptr< Object > | SP |
Public Member Functions | |
| CurvesGeomType (Context *const context, size_t varStructSize, const std::vector< OWLVarDecl > &varDecls) | |
| std::string | toString () const override |
| std::shared_ptr< Geom > | createGeom () override |
| DeviceData & | getDD (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 |
| DeviceData & | getDD (const DeviceContext::SP &device) const |
| RegisteredObject::DeviceData::SP | createOn (const DeviceContext::SP &device) override |
| virtual std::shared_ptr< Geom > | createGeom ()=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 ®istry, 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 ®istry) | |
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< ProgramDesc > | closestHit |
| std::vector< ProgramDesc > | anyHit |
Public Attributes inherited from owl::SBTObjectType | |
| const size_t | varStructSize |
| const std::vector< OWLVarDecl > | varDecls |
Public Attributes inherited from owl::RegisteredObject | |
| int | ID |
| ObjectRegistry & | registry |
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 |
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
|
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.
|
override |
create this object's device-specific data for the device
|
inline |
get reference to given device-specific data for this object
|
inlineoverridevirtual |
pretty-print
Reimplemented from owl::Object.
| int owl::CurvesGeomType::degree = 3 |
curve degree - linear (1), quadratic (2), or cubic (3)
| 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