9 #ifndef __houdini_HoudiniSOP_h__ 10 #define __houdini_HoudiniSOP_h__ 32 OpOperator(
const char *name,
34 OP_Constructor construct,
35 PRM_Template *templates,
38 CH_LocalVariable *variables,
40 const char **inputlabels,
44 virtual bool getOpHelpURL(UT_String& a_rUtString)
override;
46 #if FE_HOUDINI_13_PLUS 47 virtual bool wantsInputEditor(
void)
const override 65 virtual bool isValid(
void)
override;
66 virtual void undo(
void)
override { undoOrRedo(FALSE); }
67 virtual void redo(
void)
override { undoOrRedo(TRUE); }
71 virtual void undoOrRedo(BWORD a_redo);
81 const char *name,OP_Operator *pOp);
85 virtual void dirty(BWORD a_aggressive)
override;
86 virtual void select(
void)
override;
89 virtual BWORD chronicle(
String a_change,
92 virtual BWORD interrupted(
void)
override;
95 BWORD cookInputs(
void);
97 static int discoverOperators(OP_OperatorTable *pTable);
100 static OP_Node*
create(OP_Network *pNetwork,
const char *name,
105 const PRM_Template* pTemplate);
112 void clearErrors(
void);
113 void relayErrors(
void);
114 const String prompt(
void);
115 const String idleEvents(
void);
116 const String brushVisible(
void);
117 const String brushCook(
void);
119 static String classOfImplementation(
String a_implementation);
123 virtual void getDescriptiveName(
124 UT_String& a_rString)
const override;
125 virtual OP_ERROR bypassMe(OP_Context &context,
126 int &copied_input)
override;
127 virtual void opChanged(OP_EventType reason,
128 void *
data)
override;
129 virtual bool load(UT_IStream& a_rStreamIn,
130 const char* a_extension,
131 const char* a_path)
override;
132 virtual OP_ERROR save(std::ostream& a_rStreamOut,
133 const OP_SaveFlags& a_rFlags,
134 const char* a_pathPrefix,
135 const UT_String& a_name_override)
139 virtual OP_ERROR cookMySop(OP_Context& a_rContext)
override;
140 virtual OP_ERROR cookMyGuide1(OP_Context& a_rContext)
override;
143 virtual unsigned int disableParms(
void)
override;
146 virtual bool evalParamBoolean(
String a_key,Real a_time);
147 virtual I32 evalParamInteger(
String a_key,Real a_time);
148 virtual String evalParamString(
String a_key,Real a_time);
151 void createOperator(
String a_operatorName,
153 void updateCatalog(Real time,BWORD a_doInput,
154 BWORD a_force=FALSE);
155 void resignalBrush(
void);
157 static int buttonCallback(
void* a_pNode,
int a_index,
159 const PRM_Template* a_pPrmTemplate);
166 BWORD m_inputsLocked;
168 BWORD m_temporaryTemplate;
170 OP_Operator* m_pOpOperator;
171 OP_Context* m_pOpContext;
172 UT_AutoInterrupt* m_pInterrupt;
shared FE context for Houdini plugins
Definition: HoudiniContext.h:20
static OP_Node * create(OP_Network *pNetwork, const char *name, OP_Operator *pOp)
Definition: HoudiniSOP.cc:958
kernel
Definition: namespace.dox:3
static int reloadCallback(void *pData, int index, float time, const PRM_Template *pTemplate)
Definition: HoudiniSOP.cc:121
Generalized windowing event.
Definition: WindowEvent.h:43
Automatically reference-counted string container.
Definition: String.h:128
void brush(GU_Detail *pGdp, WindowEvent &a_rEvent, SpatialVector &a_rRayOrigin, SpatialVector &a_rRayDirection)
Definition: HoudiniSOP.cc:2492
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53
Houdini SOP node.
Definition: HoudiniSOP.h:22