RenderManAPI  24.0
RixParameterList Class Referenceabstract

RixParameterList exposes the non-varying values that are associated with the definition or editing of a shading plugin instance. More...

#include <RixShading.h>

Public Member Functions

virtual int GetNumParams () const =0
 
virtual int GetParamId (const RtUString name, int *paramId) const =0
 GetParamId maps a string name to a more efficient integer reference. More...
 
virtual int GetParamId (int plistIndex, int *paramId) const =0
 This version of GetParamId maps the parameterlist index (between 0 and GetNumParams()) to a paramId and described above. More...
 
virtual int GetParamInfo (int paramId, RixSCType *type, RixSCConnectionInfo *cInfo, int *arrayLength=NULL) const =0
 GetParamInfo returns additional details about a parameter such as its connection status, type, and array length. More...
 
int GetParamInfo (int paramId, RixSCType *type, bool *isConnected, int *arrayLength=NULL) const
 This version of GetParamInfo is a convenience for use-cases where a bool notion of connection is sufficient. More...
 
virtual RixSCDetail EvalParam (int paramId, int arrayIndex, int *result) const =0
 EvalParam fills the provided result with the value of the parameter. More...
 
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, void const **instance) const =0
 
virtual RixSCDetail EvalParam (int paramId, int arrayIndex, RixSampleFilter **result, void const **instance) const =0
 
virtual RixSCDetail EvalParam (int paramId, int arrayIndex, RixDisplayFilter **result, void const **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.

Constructor & Destructor Documentation

◆ ~RixParameterList()

virtual RixParameterList::~RixParameterList ( )
inlineprotectedvirtual

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,
void const **  instance 
) const
pure virtual

◆ EvalParam() [8/9]

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

◆ EvalParam() [9/9]

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

Referenced by GetParamInfo().

◆ 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.

References GetParamInfo(), and k_RixSCNetworkValue.


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