12 #ifndef __SOP_AttribComp_h__
13 #define __SOP_AttribComp_h__
34 const char *current_version,
35 bool *node_deleted)
override;
39 void setSelectionOverride(
bool selection_override);
41 void setBlendAlias(
int i,
const char *alias);
42 void removeBlend(
int i);
49 const char *
inputLabel(
unsigned)
const override;
53 int alone = 0)
override;
60 void setNBLENDS(
int n)
61 {
setInt(
"nblends", 0, 0, n); }
63 {
return evalInt(
"selectionidx", 0, 0); }
64 int DETAILATTRIBCOMP()
65 {
return evalInt(
"detailattribs", 0, 0); }
72 {
return evalInt(
"primitiveattribs", 0, 0); }
79 {
return evalInt(
"pointattribs", 0, 0); }
86 {
return evalInt(
"vertexattribs", 0, 0); }
93 {
return evalInt(
"matchpattrib", 0, 0); }
95 {
return evalInt(
"nblends", 0, 0); }
102 {
return evalInt(
"compop", 0, 0); }
122 bool verifyGeometries();
126 void setupWeights(
int numWeights,
fpreal t);
147 {
return evalInt(
"selectionidx", 0, 0); }
149 {
return evalInt(
"detailattribs", 0, 0); }
156 {
return evalInt(
"primitiveattribs", 0, 0); }
163 {
return evalInt(
"pointattribs", 0, 0); }
170 {
return evalInt(
"vertexattribs", 0, 0); }
177 {
return evalInt(
"matchpattrib", 0, 0); }
179 {
return evalInt(
"nblends", 0, 0); }
186 {
return evalInt(
"compop", 0, 0); }
Definition of a geometry attribute.
virtual bool updateParmsFlags()
virtual const SOP_NodeVerb * cookVerb() const
void syncNodeVersion(const char *old_version, const char *current_version, bool *node_deleted) override
fpreal evalFloatInst(const char *parm, const int *instance, int vi, fpreal time, int nestlevel=1) const
int trimSpace(bool leave_single_space_between_words=false)
virtual const char * inputLabel(unsigned idx) const
void VTXATTRIBS(UT_String &str)
void ALPHAATTRIB(UT_String &str)
exint evalInt(const char *parm, int vi, fpreal time) const
void evalString(UT_String &val, int pi, int vi, fpreal t) const
void harden()
Take shallow copy and make it deep.
void DETAILATTRIBS(UT_String &str)
float BLEND(int i, fpreal t)
void evalString(UT_String &value, const char *parm, int vi, fpreal time) const
GLfloat GLfloat GLfloat alpha
fpreal evalFloatInst(const UT_StringRef &name, const int *inst, int vi, fpreal t, int nestlevel=1) const
GLuint const GLchar * name
virtual OP_ERROR cookInputGroups(OP_Context &context, int alone=0)
void PRIMATTRIBS(UT_String &str)
virtual OP_ERROR cook(OP_Context &context)=0
void PTATTRIBS(UT_String &str)
void setInt(int parmi, int vectori, fpreal t, exint value)
UT_Array< const GU_Detail * > mySrcGdps
exint evalInt(int pi, int vi, fpreal t) const
virtual OP_ERROR cookMySop(OP_Context &context)=0
UT_Array< const GA_Attribute * > mySrcAttributes