RenderMan API  23.0
RixParameterList Class Referenceabstract

#include <RixShading.h>

Public Member Functions

virtual int GetNumParams () const =0
 
virtual int GetParamId (const RtUString name, int *paramId) const =0
 
virtual int GetParamId (int plistIndex, int *paramId) const =0
 
virtual int GetParamInfo (int paramId, RixSCType *type, RixSCConnectionInfo *cInfo, int *arrayLength=NULL) const =0
 
int GetParamInfo (int paramId, RixSCType *type, bool *isConnected, int *arrayLength=NULL) const
 
virtual RixSCDetail EvalParam (int paramId, int arrayIndex, int *result) const =0
 
virtual RixSCDetail EvalParam (int paramId, int arrayIndex, float *result) const =0
 
virtual RixSCDetail EvalParam (int paramId, int arrayIndex, RtColorRGB *result) const =0
 
virtual RixSCDetail EvalParam (int paramId, int arrayIndex, RtFloat3 *result) const =0
 
virtual RixSCDetail EvalParam (int paramId, int arrayIndex, RtMatrix4x4 *result) const =0
 
virtual RixSCDetail EvalParam (int paramId, int arrayIndex, RtUString *result) const =0
 
virtual RixSCDetail EvalParam (int paramId, int arrayIndex, RixLightFilter **result, RtConstPointer *instance) const =0
 
virtual RixSCDetail EvalParam (int paramId, int arrayIndex, RixSampleFilter **result, RtConstPointer *instance) const =0
 
virtual RixSCDetail EvalParam (int paramId, int arrayIndex, RixDisplayFilter **result, RtConstPointer *instance) const =0
 

Protected Member Functions

virtual ~RixParameterList ()
 

Detailed Description

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.

Definition at line 517 of file RixShading.h.

Constructor & Destructor Documentation

◆ ~RixParameterList()

virtual RixParameterList::~RixParameterList ( )
inlineprotectedvirtual

Definition at line 577 of file RixShading.h.

Member Function Documentation

◆ EvalParam() [1/9]

virtual RixSCDetail RixParameterList::EvalParam ( int  paramId,
int  arrayIndex,
int *  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.

◆ EvalParam() [2/9]

virtual RixSCDetail RixParameterList::EvalParam ( int  paramId,
int  arrayIndex,
float *  result 
) const
pure virtual

◆ EvalParam() [3/9]

virtual RixSCDetail RixParameterList::EvalParam ( int  paramId,
int  arrayIndex,
RtColorRGB result 
) const
pure virtual

◆ EvalParam() [4/9]

virtual RixSCDetail RixParameterList::EvalParam ( int  paramId,
int  arrayIndex,
RtFloat3 result 
) const
pure virtual

◆ EvalParam() [5/9]

virtual RixSCDetail RixParameterList::EvalParam ( int  paramId,
int  arrayIndex,
RtMatrix4x4 result 
) const
pure virtual

◆ EvalParam() [6/9]

virtual RixSCDetail RixParameterList::EvalParam ( int  paramId,
int  arrayIndex,
RtUString result 
) const
pure virtual

◆ EvalParam() [7/9]

virtual RixSCDetail RixParameterList::EvalParam ( int  paramId,
int  arrayIndex,
RixLightFilter **  result,
RtConstPointer instance 
) const
pure virtual

◆ EvalParam() [8/9]

virtual RixSCDetail RixParameterList::EvalParam ( int  paramId,
int  arrayIndex,
RixSampleFilter **  result,
RtConstPointer instance 
) const
pure virtual

◆ EvalParam() [9/9]

virtual RixSCDetail RixParameterList::EvalParam ( int  paramId,
int  arrayIndex,
RixDisplayFilter **  result,
RtConstPointer instance 
) const
pure virtual

◆ GetNumParams()

virtual int RixParameterList::GetNumParams ( ) const
pure virtual

◆ GetParamId() [1/2]

virtual int RixParameterList::GetParamId ( const RtUString  name,
int *  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.

◆ GetParamId() [2/2]

virtual int RixParameterList::GetParamId ( int  plistIndex,
int *  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.

◆ GetParamInfo() [1/2]

virtual int RixParameterList::GetParamInfo ( int  paramId,
RixSCType type,
RixSCConnectionInfo cInfo,
int *  arrayLength = NULL 
) const
pure virtual

GetParamInfo returns additional details about a parameter such as its connection status, type, and array length. 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.

◆ GetParamInfo() [2/2]

int RixParameterList::GetParamInfo ( int  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.

Definition at line 545 of file RixShading.h.


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