HDK
|
#include <RAY_PackedQuery.h>
Public Types | |
using | KeyType = int64 |
Public Member Functions | |
RAY_PackedQuery () | |
Create a packed query for the procedural, possibly inheriting from. More... | |
virtual | ~RAY_PackedQuery () |
template<typename T > | |
bool | import (const UT_StringRef &name, T *val, int size) const |
void | setInheritFrom (const KeyType parent) |
Static Public Member Functions | |
static SYS_FORCE_INLINE bool | isValidKey (KeyType k) |
static RAY_PackedQuery * | create (const GEO_Primitive *prim) |
Create a query struct for a primitive. More... | |
static RAY_PackedQuery * | create (const GT_AttributeListHandle &detail, const GT_AttributeListHandle &uniform, exint uniform_index, const GT_AttributeListHandle &primdet, const GT_AttributeListHandle &packinfo) |
Protected Member Functions | |
virtual bool | doImport (const UT_StringRef &name, int32 *val, int n) const =0 |
virtual bool | doImport (const UT_StringRef &name, int64 *val, int n) const =0 |
virtual bool | doImport (const UT_StringRef &name, fpreal32 *val, int n) const =0 |
virtual bool | doImport (const UT_StringRef &name, fpreal64 *val, int n) const =0 |
virtual bool | doImport (const UT_StringRef &name, UT_StringHolder *val, int n) const =0 |
When a new procedural is created from a packed primitive, the geometry generated by the procedural should be able to access the attributes from the packed primitive using the renderstate
("packed:NAME") method.
This class is used to implement the packed query for a procedural. Once you create a RAY_PackedQuery
, you can assign it to the procedural using RAY_Procedural::setPackedQuery()
.
Definition at line 29 of file RAY_PackedQuery.h.
using RAY_PackedQuery::KeyType = int64 |
Definition at line 32 of file RAY_PackedQuery.h.
|
inline |
Create a packed query for the procedural, possibly inheriting from.
Definition at line 37 of file RAY_PackedQuery.h.
|
virtual |
|
static |
Create a query struct for a primitive.
|
static |
Create a query struct for a set of GT attributes. The inherit_from should either be the current query id or a -1.
|
protectedpure virtual |
Import data from the packed primitive
|
protectedpure virtual |
Import data from the packed primitive
|
protectedpure virtual |
Import data from the packed primitive
|
protectedpure virtual |
Import data from the packed primitive
|
protectedpure virtual |
Import data from the packed primitive
|
inline |
Try to import the packed setting of the given name (the "packed:" prefix is stripped off). For example, "Cd" (not "packed:Cd") This can be specialized for
Definition at line 59 of file RAY_PackedQuery.h.
|
inlinestatic |
Definition at line 34 of file RAY_PackedQuery.h.
Set the inheritance for the query. If settings aren't found on this query, we search the parent (if there is one).
Definition at line 69 of file RAY_PackedQuery.h.