12 #ifndef __SOP_AttribComp_h__
13 #define __SOP_AttribComp_h__
35 const char *current_version,
36 bool *node_deleted)
override;
40 void setSelectionOverride(
bool selection_override);
42 void setBlendAlias(
int i,
const char *alias);
43 void removeBlend(
int i);
50 const char *
inputLabel(
unsigned)
const override;
54 int alone = 0)
override;
61 void setNBLENDS(
int n)
62 {
setInt(
"nblends", 0, 0, n); }
64 {
return evalInt(
"selectionidx", 0, 0); }
65 int DETAILATTRIBCOMP()
66 {
return evalInt(
"detailattribs", 0, 0); }
73 {
return evalInt(
"primitiveattribs", 0, 0); }
80 {
return evalInt(
"pointattribs", 0, 0); }
87 {
return evalInt(
"vertexattribs", 0, 0); }
94 {
return evalInt(
"matchpattrib", 0, 0); }
96 {
return evalInt(
"nblends", 0, 0); }
103 {
return evalInt(
"compop", 0, 0); }
124 bool verifyGeometries();
128 void setupWeights(
int numWeights,
fpreal t);
149 {
return evalInt(
"selectionidx", 0, 0); }
151 {
return evalInt(
"detailattribs", 0, 0); }
158 {
return evalInt(
"primitiveattribs", 0, 0); }
165 {
return evalInt(
"pointattribs", 0, 0); }
172 {
return evalInt(
"vertexattribs", 0, 0); }
179 {
return evalInt(
"matchpattrib", 0, 0); }
181 {
return evalInt(
"nblends", 0, 0); }
188 {
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
GLuint const GLchar * name
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
fpreal evalFloatInst(const UT_StringRef &name, const int *inst, int vi, fpreal t, int nestlevel=1) const
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
GLfloat GLfloat GLfloat alpha
UT_Array< const GA_Attribute * > mySrcAttributes