28 #ifndef __SOP_PrimVOP__
29 #define __SOP_PrimVOP__
44 namespace HDK_Sample {
90 int argc,
char **argv,
95 {
return evalInt(
"vexsrc", 0, t); }
104 bool is_child_call=
false)
override;
106 int explicitly=1)
override;
125 .requiresUpdate(0.0))
bool evalVariableValue(fpreal &val, int index, int thread) override
OP_ERROR cookMySop(OP_Context &context) override
void addNode(OP_Node *node, int notify=1, int explicitly=1) override
bool evalVariableValue(UT_String &value, int index, int thread) override
Code generation variables.
const char * getChildType() const override
VOP_CodeGenerator * getVopCodeGenerator() override
GLsizei const GLchar *const * path
void opChanged(OP_EventType reason, void *data=0) override
We need special alerts now that we contain VOPs.
SOP_PrimVOP(OP_Network *net, const char *, OP_Operator *entry)
Parameters for OP_Node::getInfoText()/OP_Node::getNodeSpecificInfoText()
void updateOwnerSpareParmLayout(bool allow_update_while_loading=false)
Update the owner network's spare parameter layout.
static const char * theChildTableName
void ensureSpareParmsAreUpdatedSubclass() override
static PRM_Template myTemplateList[]
VOP_ExportedParmsManager * exportedParmsManager() const
Return the exported parameters manager.
void SCRIPT(UT_String &s, fpreal t)
void evalString(UT_String &val, int pi, int vi, fpreal t) const
void finishedLoadingNetwork(bool is_child_call=false) override
VOP and VEX functions.
void SHOPPATH(UT_String &path, fpreal t)
bool hasVexShaderParameter(const char *parm_name) override
DEP_MicroNode & eventMicroNode(OP_EventType e)
bool evalVariableValue(fpreal &v, int i, int thread) override
GLuint const GLchar * name
void executeVex(int argc, char **argv, fpreal t, OP_Caller &opcaller)
void getNodeSpecificInfoText(OP_Context &context, OP_NodeInfoParms &parms) override
static OP_Node * myConstructor(OP_Network *net, const char *name, OP_Operator *entry)
**Note that the tasks the is the thread number *for the or if it s being executed by a non pool thread(this *can happen in cases where the whole pool is occupied and the calling *thread contributes to running the work load).**Thread pool.Have fun
Per-run data for CVEX execution.
exint evalInt(int pi, int vi, fpreal t) const
OP_OpTypeId getChildTypeID() const override
OP_OperatorFilter * getOperatorFilter() override
Overriding these are what allow us to contain VOPs.
void processVexBlock(CVEX_Context &context, CVEX_RunData &rundata, int argc, char **argv, int *primid, int n, fpreal t)
VOP_CodeGenerator myCodeGenerator
void buildScript(UT_String &script, fpreal t)