12 #ifndef __OP_ScriptOperator__
13 #define __OP_ScriptOperator__
22 #include <sys/types.h>
56 bool forvex,
bool for_python =
false,
57 const char * section_name = NULL)
const;
61 void getScriptFunctionName(
UT_String &name)
const;
71 void getScriptSecondaryFunctionsNames(
100 static int findScriptOperators(
const char *
path,
108 int traverseCommand(
OP_Node *node,
141 void editScriptFile(
const char *pathprefix,
142 const char *context =
"surface",
144 const char *title =
"VEX Function",
145 const char **obj_extensions = 0,
154 bool isCompiledPythonCookCodeCached();
160 void dirtyParmTemplates();
170 const char *child_table_name,
171 unsigned min_sources,
172 unsigned max_sources = 9999,
175 const char **inputlabels = 0,
179 void getDefinitionSourceText(
UT_String &defsource );
198 static void freeSwitcherDefaults(
PRM_Default *defs);
243 void readBuffer(
const char *str);
249 { myMainFunctionName =
name; }
251 {
return myMainFunctionName; }
256 { mySecondaryFunctionsMap = m; }
258 {
return mySecondaryFunctionsMap; }
263 static void getFunctionCodeSections(
UT_StringArray §ion_names,
266 void parseStringJSON(
const char *str);
virtual void clearOTLIndexFile()
typedef int(APIENTRYP RE_PFNGLXSWAPINTERVALSGIPROC)(int)
std::function< OP_Ptr(OP_Network *, const char *, OP_Operator *)> OP_Constructor
Helper class for reading and writing FunctionName HDA section.
GT_API const UT_StringHolder filename
virtual int updateParmTemplates()
void setSecondaryFunctionsMap(const UT_StringMap< UT_StringHolder > &m)
The dictionary of additional functions stored in HDA.
PRM_Default * myBaseSwitcherDefaults
GLsizei const GLchar *const * path
PY_CompiledCode * myCachedCompiledPythonCookCode
**But if you need a result
virtual void removeAllBindings()
int myBaseControlsSwitcherPageNum
const UT_StringHolder & getMainFunctionName() const
The name of the main (shader) function HDA represents.
static UT_StringSet theAllIndexFiles
virtual PRM_Template * loadParmTemplates(UT_IStream &, const char *, UT_String &, PRM_ScriptImports *&)
virtual bool loadParmTemplatesSubclass()
virtual void refreshAllBindings()
fpreal getUnitLength() const
int myBaseControlsSwitcherIndex
virtual void fillInfoTreeOperatorSpecific(UT_InfoTree &tree, const OP_NodeInfoTreeParms &parms)
const UT_StringMap< UT_StringHolder > & getSecondaryFunctionsMap() const
The dictionary of additional functions stored in HDA.
UT_String & getScriptHelp()
GLuint const GLchar * name
virtual bool hasLoadedParmTemplates() const
int myBaseControlsInsertIndex
virtual bool writeFile(const GA_Detail &g, const char *filename, const GA_SaveOptions *opts, UT_StringArray *errors) const
int myHasCachedCode
State var indicating if cached code is saved with HDA definition.
Parameters for OP_Node::fillInfoTree()/OP_Node::fillInfoTreeNodeSpecific()
UT_Lock myCachedCompiledPythonCookLock
virtual const char * getOperatorShortHelpString()
virtual bool readFile(GA_Detail &g, const char *filename, const GA_LoadOptions *opts, UT_StringArray *errors) const
Class which defines an I/O interface to save/load geometry.
fpreal getUnitMass() const
virtual void getOperatorSpecificInfoText(int verbose, UT_WorkBuffer &text)
virtual void forceUpdateParmTemplates()
int(* OP_ScriptParmFunc)(OP_Node *node, PRM_Template *temp, int idx, fpreal t, void *data)
void setMainFunctionName(const char *name)
The name of the main (shader) function HDA represents.
OIIO_UTIL_API std::string extension(string_view filepath, bool include_dot=true) noexcept