#include <SHOP_Clerk.h>
|
| SHOP_Clerk () |
|
virtual | ~SHOP_Clerk () |
|
virtual const char * | getRenderName () const =0 |
|
virtual const char * | getRenderLabel () const |
|
virtual const char * | getDefaultKeywords () const |
|
virtual int | getDialogScriptEnum (SHOP_TYPE type) const |
|
virtual bool | generatesString () const |
|
virtual bool | requireAutoAdd (SHOP_TYPE type) const |
|
virtual bool | buildVopShaderString (OP_Node *material, VOP_Node *vop, UT_String &shader, fpreal now, const UT_Options *options, SHOP_TYPE interpret_type) |
|
virtual bool | getBoundingBox (UT_BoundingBox &box, SHOP_Node &node, OP_Context &ctx) |
|
virtual const char * | getGeometryAttribute (SHOP_TYPE shader_type) const |
|
virtual const char * | getGeometryIndirect (SHOP_TYPE shader_type) const |
|
virtual bool | getIsVexClerk () const |
|
virtual const char * | getCreationScript (SHOP_TYPE shader_type) const |
|
|
virtual bool | buildOpShaderData (OP_Node *node, SHOP_ReData &data, fpreal now, const UT_Options *options, SHOP_TYPE interpret_type) |
|
virtual bool | buildOpShaderString (OP_Node *node, UT_String &shader, fpreal now, const UT_Options *options, SHOP_TYPE interpret_type) |
|
virtual bool | buildOpShaderBounds (OP_Node *node, UT_BoundingBox &box, fpreal now, const UT_Options *options, SHOP_TYPE interpret_type) |
|
virtual bool | buildShaderData (SHOP_Node *shop, SHOP_ReData &data, fpreal now, const UT_Options *options, SHOP_TYPE interpret_type) |
|
virtual bool | buildShaderString (SHOP_Node *shop, UT_String &shader, fpreal now, const UT_Options *options, SHOP_TYPE interpret_type) |
|
virtual bool | buildShaderBounds (SHOP_Node *shop, UT_BoundingBox &box, fpreal now, const UT_Options *options, SHOP_TYPE interpret_type) |
|
|
static void | installClerks () |
| Function that installs the clerks from DSOs. More...
|
|
static bool | addShaderClerk (SHOP_TYPE type, SHOP_Clerk *shop) |
| Explicitly registers a new clerk for the given shader type. More...
|
|
static const UT_ValArray
< SHOP_Clerk * > & | getClerkList (SHOP_TYPE type) |
|
static bool | renderMatch (const char *rendertype, const char *rendermask, bool accept_badmask=false) |
| Utility function for matching render mask. More...
|
|
static void | runCreateScript (const char *node_path, const char *render_mask, SHOP_TYPE shader_type) |
|
|
static SHOP_Clerk * | getClerk (const UT_Options *options, const char *default_clerk, const char *rendermask, SHOP_TYPE shader_type, SHOP_TYPE interpret_type, bool only_string_data, bool accept_badmask=false) |
| Fetching a clerk that matches the given shader and render types. More...
|
|
static SHOP_Clerk * | getClerk (const char *rendertype, const char *rendermask, SHOP_TYPE shader_type, SHOP_TYPE interpret_type, bool accept_badmask=false) |
| Fetching a clerk that matches the given shader and render types. More...
|
|
static SHOP_Clerk * | getAnyClerk (const char *rendermask, SHOP_TYPE shader_type, SHOP_TYPE interpret_type, bool only_string_generators) |
| Fetching a clerk that matches the given shader and render types. More...
|
|
Definition at line 31 of file SHOP_Clerk.h.
SHOP_Clerk::SHOP_Clerk |
( |
| ) |
|
virtual SHOP_Clerk::~SHOP_Clerk |
( |
| ) |
|
|
virtual |
Explicitly registers a new clerk for the given shader type.
Package the SHOP parameters into shader data.
shop:
Build the shader string for this SHOP
data/shader/box
: Storage for the result of building the shader
now:
The evaluation time
options:
An arbitrary dictionary of options
interpret_type:
Interpret the SHOP as this type of shader. This is used for SHOPs which can generate multiple shader types (i.e. the material SHOP).
The OP_Node* methods are more general and allow wider selection of shader node representation (ie, VOPs too). Implementing and overriding them is preferrable to overriding the older versions that took SHOP_Node*. However, for better compatibility with older plugin sources, the new methods call the old ones in this base class (for now).
Package the SHOP parameters into shader data.
shop:
Build the shader string for this SHOP
data/shader/box
: Storage for the result of building the shader
now:
The evaluation time
options:
An arbitrary dictionary of options
interpret_type:
Interpret the SHOP as this type of shader. This is used for SHOPs which can generate multiple shader types (i.e. the material SHOP).
The OP_Node* methods are more general and allow wider selection of shader node representation (ie, VOPs too). Implementing and overriding them is preferrable to overriding the older versions that took SHOP_Node*. However, for better compatibility with older plugin sources, the new methods call the old ones in this base class (for now).
Package the SHOP parameters into shader data.
shop:
Build the shader string for this SHOP
data/shader/box
: Storage for the result of building the shader
now:
The evaluation time
options:
An arbitrary dictionary of options
interpret_type:
Interpret the SHOP as this type of shader. This is used for SHOPs which can generate multiple shader types (i.e. the material SHOP).
The OP_Node* methods are more general and allow wider selection of shader node representation (ie, VOPs too). Implementing and overriding them is preferrable to overriding the older versions that took SHOP_Node*. However, for better compatibility with older plugin sources, the new methods call the old ones in this base class (for now).
Package the SHOP parameters into shader data.
shop:
Build the shader string for this SHOP
data/shader/box
: Storage for the result of building the shader
now:
The evaluation time
options:
An arbitrary dictionary of options
interpret_type:
Interpret the SHOP as this type of shader. This is used for SHOPs which can generate multiple shader types (i.e. the material SHOP).
The OP_Node* methods are more general and allow wider selection of shader node representation (ie, VOPs too). Implementing and overriding them is preferrable to overriding the older versions that took SHOP_Node*. However, for better compatibility with older plugin sources, the new methods call the old ones in this base class (for now).
Package the SHOP parameters into shader data.
shop:
Build the shader string for this SHOP
data/shader/box
: Storage for the result of building the shader
now:
The evaluation time
options:
An arbitrary dictionary of options
interpret_type:
Interpret the SHOP as this type of shader. This is used for SHOPs which can generate multiple shader types (i.e. the material SHOP).
The OP_Node* methods are more general and allow wider selection of shader node representation (ie, VOPs too). Implementing and overriding them is preferrable to overriding the older versions that took SHOP_Node*. However, for better compatibility with older plugin sources, the new methods call the old ones in this base class (for now).
Package the SHOP parameters into shader data.
shop:
Build the shader string for this SHOP
data/shader/box
: Storage for the result of building the shader
now:
The evaluation time
options:
An arbitrary dictionary of options
interpret_type:
Interpret the SHOP as this type of shader. This is used for SHOPs which can generate multiple shader types (i.e. the material SHOP).
The OP_Node* methods are more general and allow wider selection of shader node representation (ie, VOPs too). Implementing and overriding them is preferrable to overriding the older versions that took SHOP_Node*. However, for better compatibility with older plugin sources, the new methods call the old ones in this base class (for now).
Build a shader string given a VOP node. The VOP node will always be a code generator.
virtual bool SHOP_Clerk::generatesString |
( |
| ) |
const |
|
virtual |
static SHOP_Clerk* SHOP_Clerk::getAnyClerk |
( |
const char * |
rendermask, |
|
|
SHOP_TYPE |
shader_type, |
|
|
SHOP_TYPE |
interpret_type, |
|
|
bool |
only_string_generators |
|
) |
| |
|
static |
Fetching a clerk that matches the given shader and render types.
static SHOP_Clerk* SHOP_Clerk::getClerk |
( |
const UT_Options * |
options, |
|
|
const char * |
default_clerk, |
|
|
const char * |
rendermask, |
|
|
SHOP_TYPE |
shader_type, |
|
|
SHOP_TYPE |
interpret_type, |
|
|
bool |
only_string_data, |
|
|
bool |
accept_badmask = false |
|
) |
| |
|
static |
Fetching a clerk that matches the given shader and render types.
static SHOP_Clerk* SHOP_Clerk::getClerk |
( |
const char * |
rendertype, |
|
|
const char * |
rendermask, |
|
|
SHOP_TYPE |
shader_type, |
|
|
SHOP_TYPE |
interpret_type, |
|
|
bool |
accept_badmask = false |
|
) |
| |
|
static |
Fetching a clerk that matches the given shader and render types.
Get a list of available clerks for the given shader type. It is very good practice not to manipulate this list.
virtual const char* SHOP_Clerk::getCreationScript |
( |
SHOP_TYPE |
shader_type | ) |
const |
|
virtual |
virtual const char* SHOP_Clerk::getDefaultKeywords |
( |
| ) |
const |
|
virtual |
virtual int SHOP_Clerk::getDialogScriptEnum |
( |
SHOP_TYPE |
type | ) |
const |
|
virtual |
virtual const char* SHOP_Clerk::getGeometryAttribute |
( |
SHOP_TYPE |
shader_type | ) |
const |
|
virtual |
virtual const char* SHOP_Clerk::getGeometryIndirect |
( |
SHOP_TYPE |
shader_type | ) |
const |
|
virtual |
virtual bool SHOP_Clerk::getIsVexClerk |
( |
| ) |
const |
|
virtual |
virtual const char* SHOP_Clerk::getRenderLabel |
( |
| ) |
const |
|
virtual |
virtual const char* SHOP_Clerk::getRenderName |
( |
| ) |
const |
|
pure virtual |
static void SHOP_Clerk::installClerks |
( |
| ) |
|
|
static |
Function that installs the clerks from DSOs.
static bool SHOP_Clerk::renderMatch |
( |
const char * |
rendertype, |
|
|
const char * |
rendermask, |
|
|
bool |
accept_badmask = false |
|
) |
| |
|
static |
Utility function for matching render mask.
virtual bool SHOP_Clerk::requireAutoAdd |
( |
SHOP_TYPE |
type | ) |
const |
|
virtual |
static void SHOP_Clerk::runCreateScript |
( |
const char * |
node_path, |
|
|
const char * |
render_mask, |
|
|
SHOP_TYPE |
shader_type |
|
) |
| |
|
static |
The documentation for this class was generated from the following file: