12 #ifndef __OP_ScriptOperator__
13 #define __OP_ScriptOperator__
20 #include <sys/types.h>
53 bool forvex,
bool for_python =
false,
54 const char * section_name = NULL)
const;
58 void getScriptFunctionName(
UT_String &name)
const;
63 void getScriptSecondaryFunctionsNames(
92 static int findScriptOperators(
const char *
path,
100 int traverseCommand(
OP_Node *node,
133 void editScriptFile(
const char *pathprefix,
134 const char *
context =
"surface",
136 const char *title =
"VEX Function",
137 const char **obj_extensions = 0,
146 bool isCompiledPythonCookCodeCached();
152 void dirtyParmTemplates();
162 const char *child_table_name,
163 unsigned min_sources,
164 unsigned max_sources = 9999,
167 const char **inputlabels = 0,
171 void getDefinitionSourceText(
UT_String &defsource );
190 static void freeSwitcherDefaults(
PRM_Default *defs);
237 void readExtraInfo(
const char *extra_info);
241 void writeExtraInfo(
UT_String &extra_info);
246 {
return myIsKeywordFound; }
249 {
return myHideDefaultParms; }
251 { myHideDefaultParms = hide; }
254 {
return myRepresentativeNodePath; }
256 { myRepresentativeNodePath.harden(path); }
259 {
return myGuideNodePath; }
261 { myGuideNodePath.harden(path); }
264 {
return myOpSubType; }
266 { myOpSubType.harden(type); }
269 {
return myShaderType; }
271 { myShaderType.harden(type); }
274 {
return myRenderMask; }
276 { myRenderMask.harden(type); }
279 {
return myVopnetMask; }
281 { myVopnetMask.harden(type); }
284 {
return myPDGType; }
286 { myPDGType.harden(type); }
291 void resetSettings();
294 bool myIsKeywordFound;
295 bool myHideDefaultParms;
316 void readBuffer(
const char *str);
322 { myMainFunctionName =
name; }
324 {
return myMainFunctionName; }
329 { mySecondaryFunctionsMap =
m; }
331 {
return mySecondaryFunctionsMap; }
336 static void getFunctionCodeSections(
UT_StringArray §ion_names,
339 void parseStringJSON(
const char *str);
virtual void clearOTLIndexFile()
Helper class for reading and writing FunctionName HDA section.
GT_API const UT_StringHolder filename
GLuint const GLchar * name
virtual int updateParmTemplates()
void setSecondaryFunctionsMap(const UT_StringMap< UT_StringHolder > &m)
The dictionary of additional functions stored in HDA.
PRM_Default * myBaseSwitcherDefaults
GLenum GLsizei GLsizei GLsizei GLsizei GLbitfield flags
PY_CompiledCode * myCachedCompiledPythonCookCode
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 *&)
OIIO_API std::string extension(const std::string &filepath, bool include_dot=true)
virtual bool loadParmTemplatesSubclass()
GLint GLenum GLsizei GLint GLsizei const void * data
virtual void refreshAllBindings()
fpreal getUnitLength() const
int myBaseControlsSwitcherIndex
typedef int(WINAPI *PFNWGLRELEASEPBUFFERDCARBPROC)(HPBUFFERARB hPbuffer
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()
virtual bool hasLoadedParmTemplates() const
GLuint GLuint GLsizei GLenum type
int myBaseControlsInsertIndex
virtual bool writeFile(const GA_Detail &g, const char *filename, const GA_SaveOptions *opts, UT_StringArray *errors) const
OP_Node *(* OP_Constructor)(OP_Network *, const char *, OP_Operator *)
int myHasCachedCode
State var indicating if cached code is saved with HDA definition.
GLsizei const GLchar *const * path
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.