#include <RixShading.h>
|
virtual RtInt | GetNumParams () const =0 |
|
virtual RtInt | GetParamId (char const *name, RtInt *paramid) const =0 |
|
virtual RtInt | GetParamId (int plistIndex, RtInt *paramid) const =0 |
|
virtual RtInt | GetParamInfo (RtInt paramid, RixSCType *type, RixSCConnectionInfo *cinfo, int *arraylength=NULL) const =0 |
|
RtInt | GetParamInfo (RtInt paramid, RixSCType *type, bool *isconnected, int *arraylength=NULL) const |
|
virtual RixSCDetail | EvalParam (RtInt paramid, RtInt arrayindex, RtInt *result) const =0 |
|
virtual RixSCDetail | EvalParam (RtInt paramid, RtInt arrayindex, RtFloat *result) const =0 |
|
virtual RixSCDetail | EvalParam (RtInt paramid, RtInt arrayindex, RtColorRGB *result) const =0 |
|
virtual RixSCDetail | EvalParam (RtInt paramid, RtInt arrayindex, RtFloat3 *result) const =0 |
|
virtual RixSCDetail | EvalParam (RtInt paramid, RtInt arrayindex, RtMatrix4x4 *result) const =0 |
|
virtual RixSCDetail | EvalParam (RtInt paramid, RtInt arrayindex, RtConstString *result) const =0 |
|
virtual RixSCDetail | EvalParam (RtInt paramid, RtInt arrayindex, RixLightFilter **result, RtConstPointer *instance) const =0 |
|
RixParameterList exposes the non-varying values that are associated with the definition or editing of a shading plugin instance. Parameters arrive via the RenderMan Interface and can be queried through this interface. Values that aren't provided in the parameterlist cannot be queried as the plugin is expected to know its default values.
virtual RixSCDetail RixParameterList::EvalParam |
( |
RtInt |
paramid, |
|
|
RtInt |
arrayindex, |
|
|
RtInt * |
result |
|
) |
| const |
|
pure virtual |
EvalParam fills the provided result with the value of the parameter. See GetParamId() for discussion on the nature of paramid. Since all results values are scalar we copy out by value. Caller owns and can overwrite/reuse result.
k_RixSCInvalidDetail is returned if:
- the parameters isn't present in the RIB stream
- types don't match or can't be coerced
- parameter is "networked".. Since varying values aren't supported by this interface no default fill value is passed in.
virtual RtInt RixParameterList::GetParamId |
( |
char const * |
name, |
|
|
RtInt * |
paramid |
|
) |
| const |
|
pure virtual |
GetParamId maps a string name to a more efficient integer reference. The resulting paramid may be negative to support dynamic inputs. Non-negative values are indices into the plugin's parameter table, while negative values are interpretted as indices into the parameterlist of a RIB instance. Returns 0 on success, returns nonzero if named parameter is not found.
virtual RtInt RixParameterList::GetParamId |
( |
int |
plistIndex, |
|
|
RtInt * |
paramid |
|
) |
| const |
|
pure virtual |
This version of GetParamId maps the parameterlist index (between 0 and GetNumParams()) to a paramId and described above. May be useful when interating over the contents of a parameterlist.
virtual RtInt RixParameterList::GetParamInfo |
( |
RtInt |
paramid, |
|
|
RixSCType * |
type, |
|
|
RixSCConnectionInfo * |
cinfo, |
|
|
int * |
arraylength = NULL |
|
) |
| const |
|
pure virtual |
GetParamInfo returns additional details about a parameter. Usually paramid is the index into caller's parameter table. In circumstances where plugin accepts dynamic parameters, the paramid should be obtained via calls to GetParamId.
RtInt RixParameterList::GetParamInfo |
( |
RtInt |
paramid, |
|
|
RixSCType * |
type, |
|
|
bool * |
isconnected, |
|
|
int * |
arraylength = NULL |
|
) |
| const |
|
inline |
This version of GetParamInfo is a convenience for use-cases where a bool notion of connection is sufficient.
The documentation for this class was generated from the following file: