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

#include <CurvesGeom.h>

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

Classes

struct  DeviceData
 

Public Types

typedef std::shared_ptr< CurvesGeomSP
 
- Public Types inherited from owl::Geom
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

 CurvesGeom (Context *const context, GeomType::SP geometryType)
 
RegisteredObject::DeviceData::SP createOn (const DeviceContext::SP &device) override
 
DeviceDatagetDD (const DeviceContext::SP &device)
 
CurvesGeomType::DeviceDatagetTypeDD (const DeviceContext::SP &device) const
 
void setVertices (const std::vector< Buffer::SP > &vertices, const std::vector< Buffer::SP > &widths, size_t count)
 
void setSegmentIndices (Buffer::SP indices, size_t count)
 
std::string toString () const override
 
- Public Member Functions inherited from owl::Geom
 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

int segmentIndicesCount = 0
 
Buffer::SP segmentIndicesBuffer
 
int vertexCount = 0
 
std::vector< Buffer::SP > verticesBuffers
 
std::vector< Buffer::SP > widthsBuffers
 
- Public Attributes inherited from owl::Geom
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

an actual instance of a given curves primitives; this geometry object captures the programs and SBT data associated with its associated CurvesGeomType, and will "instantiate" these with the right control points (vertices and vertex widths'), segment indices, degree, etc

Constructor & Destructor Documentation

◆ CurvesGeom()

owl::CurvesGeom::CurvesGeom ( Context *const  context,
GeomType::SP  geometryType 
)

constructor - create a new (as yet without vertices, indices, etc) instance of given curves geom type

Member Function Documentation

◆ createOn()

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

creates the device-specific data for this group

◆ getDD()

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

creates the device-specific data for this group

get reference to given device-specific data for this object

get reference to given device-specific data for this object

◆ getTypeDD()

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

get reference to the device-specific data for this object's type descriptor

◆ setSegmentIndices()

void owl::CurvesGeom::setSegmentIndices ( Buffer::SP  indices,
size_t  count 
)

set the index buffer; this remains one buffer even if motion blur is enabled.

◆ setVertices()

void owl::CurvesGeom::setVertices ( const std::vector< Buffer::SP > &  vertices,
const std::vector< Buffer::SP > &  widths,
size_t  count 
)

set the vertex array (if vector size is 1), or set/enable motion blur via multiple time steps, if vector size >= 0

Parameters
countthe number of vertices in each time step

◆ toString()

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

pretty-print

Reimplemented from owl::SBTObject< GeomType >.


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