RenderMan API
23.0
|
#include <RixInterfaces.h>
Public Types | |
enum | SymbolGroup { k_PixelFilter = 0, k_Basis = 1, k_Procedural = 2, k_ErrorHandler = 3, k_RiEntryPoint = 4 } |
Public Types inherited from RixInterface | |
enum | Type { k_Float, k_Integer, k_StringV, k_Color, k_Normal, k_Vector, k_Point, k_HPoint, k_MPoint, k_Matrix } |
Public Member Functions | |
virtual void | ResolvePredefinedStrings (RiPredefinedStrings &ps) const =0 |
virtual void * | ResolveSymbol (const char *nm, SymbolGroup group)=0 |
Public Member Functions inherited from RixInterface | |
virtual int | GetVersion () const |
Protected Member Functions | |
RixSymbolResolver () | |
Protected Member Functions inherited from RixInterface | |
RixInterface (int version) | |
Interfaces should not be constructed by users. More... | |
virtual | ~RixInterface () |
Interfaces should not be deleted by users. More... | |
Additional Inherited Members | |
Protected Attributes inherited from RixInterface | |
int | m_version |
Version number of this interface. More... | |
Definition at line 916 of file RixInterfaces.h.
Enumerator | |
---|---|
k_PixelFilter | |
k_Basis | |
k_Procedural | |
k_ErrorHandler | |
k_RiEntryPoint |
Definition at line 930 of file RixInterfaces.h.
|
inlineprotected |
Definition at line 954 of file RixInterfaces.h.
|
pure virtual |
ResolvePredefinedStrings This is mainly useful by external applications that do not link directly to libprman.so. Applications that DO link directly to libprman.so have strings available to them through the static definitions in the Ri interface (declared just below). However they are provided again here if no direct access to the addresses contained in libprman.so is available (e.g. if libprman is loaded through dlopen). Do not call this function a lot - it copies the symbols each and every time it is called, and there are a great many predefined strings.
|
pure virtual |
ResolveSymbol returns a reference to the requested standard Ri symbol excluding tokens. May be useful to ensure that globally procedure references are valid across shared-object boundaries in the case where the RixContext is obtained via RixGetContextViaRMANTREE. Symbol names follow the "C" entry point. So: RiPixelFilter(RiBoxFilter, 2.0, 2.0) becomes: RtFloatFunc boxFilter = rs->ResolveSymbol("RiBoxFilter"); ri->PixelFilter(boxFilter, 2.0, 2.0); Useful to obtain references to standard spline basis functions, error handlers and procedural primitives.