13 #ifndef __SOP_NodeParmsOptions_h__
14 #define __SOP_NodeParmsOptions_h__
66 {
return myOptions.getOptionEntry(name); }
69 {
return myTemplates; }
107 exint evalInt(
const char *parm,
int vi,
fpreal time)
const;
111 fpreal evalFloatInst(
const char *parm,
const int *instance,
int vi,
fpreal time,
int nestlevel = 1)
const;
112 exint evalIntInst(
const char *parm,
const int *instance,
int vi,
fpreal time,
int nestlevel = 1)
const;
113 void evalStringInst(
const char *parm,
const int *instance,
UT_String &
val,
int vi,
fpreal time,
int nestlevel = 1)
const;
114 void evalStringInst(
const char *parm,
const int *instance,
UT_StringHolder &val,
int vi,
fpreal time,
int nestlevel = 1)
const;
117 {
return myCookParms->nInputs(); }
119 {
return myCookParms->hasInput(idx); }
121 {
return inputGeo(idx); }
123 {
return myCookParms->inputGeo(idx); }
127 { myCookParms->sopAddError(code, msg); }
129 { myCookParms->sopAddWarning(code, msg); }
131 { myCookParms->sopAddMessage(code, msg); }
136 const char *
label=0)
const
155 { myVerb->notifyGroupParmListeners(myCookParms->getNode(),
156 groupparm_idx, grouptype_idx, parm_gdp, parm_group); }
159 { myCookParms->select(gtype); }
162 bool add_to_sel =
false)
163 { myCookParms->select(selection, add_to_sel); }
167 bool add_to_sel =
false)
168 { myCookParms->select(group, use_gtype, add_to_sel); }
171 bool add_to_sel =
false)
172 { myCookParms->select(prim, sel_prim, add_to_sel); }
174 bool add_to_sel =
false)
175 { myCookParms->selectPoint(ptoff, point_sel, add_to_sel); }
177 bool add_to_sel =
false)
178 { myCookParms->selectFrom(prim, sel_prim, add_to_sel); }
180 bool add_to_sel =
false)
181 { myCookParms->selectPointsFrom(ptoff, point_sel, add_to_sel); }
183 bool add_to_sel =
false)
184 { myCookParms->select(range, use_rtype, add_to_sel); }
191 { myCookParms->selectInputGroup(group, grouptype); }
196 { myCookParms->clearSelection(); }
202 { myCookParms->clearSelection(gtype); }
208 {
return myCookParms->destroySelection(); }
212 {
return myCookParms->selectionEnabled(); }
221 myCookParms->depnode()->addExplicitInput(op->
dataMicroNode());
void selectFrom(const GEO_Primitive &prim, bool sel_prim=true, bool add_to_sel=false)
void selectPoint(GA_Offset ptoff, bool point_sel=true, bool add_to_sel=false)
const GU_Detail * inputGeo(exint idx) const
void select(const GEO_Primitive &prim, bool sel_prim=true, bool add_to_sel=false)
GT_API const UT_StringHolder selection
GLuint GLsizei const GLchar * label
GT_API const UT_StringHolder time
virtual void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value)
GLsizei const GLchar *const * path
const UT_OptionEntry * getOptionEntry(const UT_StringRef &name) const
const SOP_NodeVerb::CookParms * cookparms() const
void select(GU_SelectionHandle selection, bool add_to_sel=false)
UT_Array< ParmDescr > myMulti
virtual ParmType getNestParmType(TempIndex idx) const
GOP_Manager::GroupCreator GroupCreator
Typedef to help make use of GroupCreator less verbose.
virtual void loadFromOpSubclass(const LoadParms &loadparms)=0
A range of elements in an index-map.
const char * getFullPath(UT_String &str) const
void selectInputGroup(const GA_Group *group, GA_GroupType grouptype)
virtual exint getNestNumParms(TempIndex idx) const
void addExtraInput(OP_Node *op, OP_InterestType type)
void notifyGroupParmListeners(int groupparm_idx, int grouptype_idx, const GU_Detail *parm_gdp, const GA_Group *parm_group) const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
void setManagesDataIDs(bool manages)
void select(GA_GroupType gtype=GA_GROUP_PRIMITIVE)
bool getManagesDataIDs() const
GLuint const GLchar * name
GU_Detail * gdp
These are transitory for the duration of the cook.
UT_SharedPtr< GU_Selection > GU_SelectionHandle
bool hasInput(exint idx) const
void clearSelection(GA_GroupType gtype)
virtual void copyFrom(const OP_NodeParms *src)
void addMessage(int code, const char *msg=0)
void select(const GA_Group &group, bool use_gtype=true, bool add_to_sel=false)
GA_GroupType
An ordinal enum for the different types of groups in GA.
SYS_FORCE_INLINE bool UTisstring(const char *s)
const PRM_Template * myTemplates
UT_Array< ParmDescr > myParmDescr
virtual void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const
OP_DataMicroNode & dataMicroNode()
const GU_Detail * inputGeo(exint idx, const OP_Context &context) const
const PRM_Template * getTemplates() const
void addWarning(int code, const char *msg=0)
virtual const char * getNestParmName(TempIndex idx) const
void addError(int code, const char *msg=0)
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
void selectPointsFrom(GA_Offset ptoff, bool point_sel=true, bool add_to_sel=false)
bool selectionEnabled() const
void addTransformError(const OP_Node &node, const char *label=0) const
void select(const GA_Range &range, bool use_rtype=true, bool add_to_sel=false)