23 namespace SOP_SoftTransformEnums
84 myApplyrolloff =
false;
89 myKernel =
"wyvill"_UTsh;
92 myUpdateaffectednmls =
true;
94 myVisualizefalloff = 2;
109 if (myGroup != src.myGroup)
return false;
110 if (myXord != src.myXord)
return false;
111 if (myRord != src.myRord)
return false;
112 if (myT != src.myT)
return false;
113 if (myR != src.myR)
return false;
114 if (myS != src.myS)
return false;
115 if (myShear != src.myShear)
return false;
116 if (myP != src.myP)
return false;
117 if (myPr != src.myPr)
return false;
118 if (myDistmetric != src.myDistmetric)
return false;
119 if (myApplyrolloff != src.myApplyrolloff)
return false;
120 if (myDistattr != src.myDistattr)
return false;
121 if (myRad != src.myRad)
return false;
122 if (myType != src.myType)
return false;
123 if (myTandeg != src.myTandeg)
return false;
124 if (myKernel != src.myKernel)
return false;
125 if (myAttribs != src.myAttribs)
return false;
126 if (myUpdatenmls != src.myUpdatenmls)
return false;
127 if (myUpdateaffectednmls != src.myUpdateaffectednmls)
return false;
128 if (myVlength != src.myVlength)
return false;
129 if (myVisualizefalloff != src.myVisualizefalloff)
return false;
130 if (myLocalspace != src.myLocalspace)
return false;
131 if (myUpvector != src.myUpvector)
return false;
151 graph->
evalOpParm(myGroup, nodeidx,
"group", time, 0);
154 graph->
evalOpParm(myXord, nodeidx,
"xOrd", time, 0);
157 graph->
evalOpParm(myRord, nodeidx,
"rOrd", time, 0);
160 graph->
evalOpParm(myT, nodeidx,
"t", time, 0);
163 graph->
evalOpParm(myR, nodeidx,
"r", time, 0);
166 graph->
evalOpParm(myS, nodeidx,
"s", time, 0);
169 graph->
evalOpParm(myShear, nodeidx,
"shear", time, 0);
172 graph->
evalOpParm(myP, nodeidx,
"p", time, 0);
175 graph->
evalOpParm(myPr, nodeidx,
"pr", time, 0);
178 graph->
evalOpParm(myDistmetric, nodeidx,
"distmetric", time, 0);
179 myApplyrolloff =
false;
180 if (
true && ( (
true&&!(((
int64(getDistmetric())!=0)))) ) )
181 graph->
evalOpParm(myApplyrolloff, nodeidx,
"applyrolloff", time, 0);
182 myDistattr =
""_UTsh;
183 if (
true && ( (
true&&!(((
int64(getDistmetric())!=0)))) ) )
184 graph->
evalOpParm(myDistattr, nodeidx,
"distattr", time, 0);
186 if (
true && ( (
true&&!(((
int64(getDistmetric())==0)&&(getApplyrolloff()==0)))) ) )
187 graph->
evalOpParm(myRad, nodeidx,
"rad", time, 0);
189 if (
true && ( (
true&&!(((
int64(getDistmetric())==0)&&(getApplyrolloff()==0)))) ) )
190 graph->
evalOpParm(myType, nodeidx,
"type", time, 0);
192 if (
true && ( (
true&&!(((
int64(getType())!=2))||((
int64(getDistmetric())==0)&&(getApplyrolloff()==0)))) ) )
193 graph->
evalOpParm(myTandeg, nodeidx,
"tandeg", time, 0);
194 myKernel =
"wyvill"_UTsh;
195 if (
true && ( (
true&&!(((
int64(getType())!=3))||((
int64(getDistmetric())==0)&&(getApplyrolloff()==0)))) ) )
196 graph->
evalOpParm(myKernel, nodeidx,
"kernel", time, 0);
197 myAttribs =
"*"_UTsh;
199 graph->
evalOpParm(myAttribs, nodeidx,
"attribs", time, 0);
200 myUpdatenmls =
false;
202 graph->
evalOpParm(myUpdatenmls, nodeidx,
"updatenmls", time, 0);
203 myUpdateaffectednmls =
true;
204 if (
true && ( (
true&&!(((getUpdatenmls()==1)))) ) )
205 graph->
evalOpParm(myUpdateaffectednmls, nodeidx,
"updateaffectednmls", time, 0);
207 if (
true && ( (
true&&!(((getUpdatenmls()==1)))) ) )
208 graph->
evalOpParm(myVlength, nodeidx,
"vlength", time, 0);
209 myVisualizefalloff = 2;
211 graph->
evalOpParm(myVisualizefalloff, nodeidx,
"visualizefalloff", time, 0);
212 myLocalspace =
false;
214 graph->
evalOpParm(myLocalspace, nodeidx,
"localspace", time, 0);
216 if (
true && ( (
true&&!(((getLocalspace()==0)))) ) )
217 graph->
evalOpParm(myUpvector, nodeidx,
"upvector", time, 0);
233 template <
typename T>
240 if (idx.
size() != instance.
size()+1)
327 { doGetParmValue(idx, instance, value); }
329 { doGetParmValue(idx, instance, value); }
331 { doGetParmValue(idx, instance, value); }
333 { doGetParmValue(idx, instance, value); }
335 { doGetParmValue(idx, instance, value); }
337 { doGetParmValue(idx, instance, value); }
339 { doGetParmValue(idx, instance, value); }
341 { doGetParmValue(idx, instance, value); }
343 { doGetParmValue(idx, instance, value); }
345 { doGetParmValue(idx, instance, value); }
347 { doGetParmValue(idx, instance, value); }
349 template <
typename T>
356 if (idx.
size() != instance.
size()+1)
434 { doSetParmValue(idx, instance, value); }
436 { doSetParmValue(idx, instance, value); }
438 { doSetParmValue(idx, instance, value); }
440 { doSetParmValue(idx, instance, value); }
442 { doSetParmValue(idx, instance, value); }
444 { doSetParmValue(idx, instance, value); }
446 { doSetParmValue(idx, instance, value); }
448 { doSetParmValue(idx, instance, value); }
450 { doSetParmValue(idx, instance, value); }
452 { doSetParmValue(idx, instance, value); }
454 { doSetParmValue(idx, instance, value); }
470 if (fieldnum.
size() < 1)
495 return "applyrolloff";
511 return "updateaffectednmls";
515 return "visualizefalloff";
527 if (fieldnum.
size() < 1)
528 return PARM_UNSUPPORTED;
598 {
for (
int r = 0;
r < 2;
r++)
for (
int c = 0; c < 2; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
600 {
for (
int r = 0;
r < 3;
r++)
for (
int c = 0; c < 3; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
602 {
for (
int r = 0;
r < 4;
r++)
for (
int c = 0; c < 4; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
615 loadData(is, rampdata);
633 int typelen = colon - data.
buffer();
647 {
int64 iv =
v; UTwrite(os, &iv); }
649 { UTwrite<fpreal64>(os, &
v); }
651 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
653 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
654 UTwrite<fpreal64>(os, &v.
z()); }
656 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
657 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
669 if (s) s->save(ostr);
671 saveData(os, result);
678 ostr << s->getDataTypeToken();
683 saveData(os, result);
687 void save(std::ostream &os)
const
691 saveData(os, myGroup);
692 saveData(os, myXord);
693 saveData(os, myRord);
697 saveData(os, myShear);
700 saveData(os, myDistmetric);
701 saveData(os, myApplyrolloff);
702 saveData(os, myDistattr);
704 saveData(os, myType);
705 saveData(os, myTandeg);
706 saveData(os, myKernel);
707 saveData(os, myAttribs);
708 saveData(os, myUpdatenmls);
709 saveData(os, myUpdateaffectednmls);
710 saveData(os, myVlength);
711 saveData(os, myVisualizefalloff);
712 saveData(os, myLocalspace);
713 saveData(os, myUpvector);
726 loadData(is, myGroup);
727 loadData(is, myXord);
728 loadData(is, myRord);
732 loadData(is, myShear);
735 loadData(is, myDistmetric);
736 loadData(is, myApplyrolloff);
737 loadData(is, myDistattr);
739 loadData(is, myType);
740 loadData(is, myTandeg);
741 loadData(is, myKernel);
742 loadData(is, myAttribs);
743 loadData(is, myUpdatenmls);
744 loadData(is, myUpdateaffectednmls);
745 loadData(is, myVlength);
746 loadData(is, myVisualizefalloff);
747 loadData(is, myLocalspace);
748 loadData(is, myUpvector);
758 if (!thissop)
return getGroup();
760 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
768 if (!thissop)
return getXord();
770 OP_Utils::evalOpParm(result, thissop,
"xOrd", cookparms.
getCookTime(), 0);
778 if (!thissop)
return getRord();
780 OP_Utils::evalOpParm(result, thissop,
"rOrd", cookparms.
getCookTime(), 0);
788 if (!thissop)
return getT();
790 OP_Utils::evalOpParm(result, thissop,
"t", cookparms.
getCookTime(), 0);
798 if (!thissop)
return getR();
800 OP_Utils::evalOpParm(result, thissop,
"r", cookparms.
getCookTime(), 0);
808 if (!thissop)
return getS();
810 OP_Utils::evalOpParm(result, thissop,
"s", cookparms.
getCookTime(), 0);
818 if (!thissop)
return getShear();
820 OP_Utils::evalOpParm(result, thissop,
"shear", cookparms.
getCookTime(), 0);
828 if (!thissop)
return getP();
830 OP_Utils::evalOpParm(result, thissop,
"p", cookparms.
getCookTime(), 0);
838 if (!thissop)
return getPr();
840 OP_Utils::evalOpParm(result, thissop,
"pr", cookparms.
getCookTime(), 0);
848 if (!thissop)
return getDistmetric();
850 OP_Utils::evalOpParm(result, thissop,
"distmetric", cookparms.
getCookTime(), 0);
858 if (!thissop)
return getApplyrolloff();
860 OP_Utils::evalOpParm(result, thissop,
"applyrolloff", cookparms.
getCookTime(), 0);
868 if (!thissop)
return getDistattr();
870 OP_Utils::evalOpParm(result, thissop,
"distattr", cookparms.
getCookTime(), 0);
878 if (!thissop)
return getRad();
880 OP_Utils::evalOpParm(result, thissop,
"rad", cookparms.
getCookTime(), 0);
888 if (!thissop)
return getType();
890 OP_Utils::evalOpParm(result, thissop,
"type", cookparms.
getCookTime(), 0);
898 if (!thissop)
return getTandeg();
900 OP_Utils::evalOpParm(result, thissop,
"tandeg", cookparms.
getCookTime(), 0);
908 if (!thissop)
return getKernel();
910 OP_Utils::evalOpParm(result, thissop,
"kernel", cookparms.
getCookTime(), 0);
918 if (!thissop)
return getAttribs();
920 OP_Utils::evalOpParm(result, thissop,
"attribs", cookparms.
getCookTime(), 0);
928 if (!thissop)
return getUpdatenmls();
930 OP_Utils::evalOpParm(result, thissop,
"updatenmls", cookparms.
getCookTime(), 0);
938 if (!thissop)
return getUpdateaffectednmls();
940 OP_Utils::evalOpParm(result, thissop,
"updateaffectednmls", cookparms.
getCookTime(), 0);
948 if (!thissop)
return getVlength();
950 OP_Utils::evalOpParm(result, thissop,
"vlength", cookparms.
getCookTime(), 0);
958 if (!thissop)
return getVisualizefalloff();
960 OP_Utils::evalOpParm(result, thissop,
"visualizefalloff", cookparms.
getCookTime(), 0);
968 if (!thissop)
return getLocalspace();
970 OP_Utils::evalOpParm(result, thissop,
"localspace", cookparms.
getCookTime(), 0);
978 if (!thissop)
return getUpvector();
980 OP_Utils::evalOpParm(result, thissop,
"upvector", cookparms.
getCookTime(), 0);
1003 bool myUpdateaffectednmls;
1005 int64 myVisualizefalloff;
SOP_Node * getNode() const
T clampMaxValue(fpreal maxvalue, const T &src) const
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
UT_Vector2T< fpreal64 > UT_Vector2D
const OP_Context & context() const
constexpr SYS_FORCE_INLINE T & z() noexcept
SYS_FORCE_INLINE const char * buffer() const
An output stream object that owns its own string buffer storage.
**But if you need a result
T clampMinValue(fpreal minvalue, const T &src) const
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
constexpr SYS_FORCE_INLINE T & x() noexcept
constexpr SYS_FORCE_INLINE T & x() noexcept
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
constexpr SYS_FORCE_INLINE T & z() noexcept
const OP_GraphProxy * graph() const
UT_Vector3T< fpreal64 > UT_Vector3D
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
void saveBinary(std::ostream &os) const
Save string to binary stream.
GT_API const UT_StringHolder version
void coerceValue(T &result, const S &src) const
DEP_MicroNode * depnode() const
Utility class for containing a color ramp.
constexpr SYS_FORCE_INLINE T & w() noexcept
fpreal getCookTime() const
const char * findChar(int c) const
constexpr SYS_FORCE_INLINE T & y() noexcept
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
constexpr SYS_FORCE_INLINE T & y() noexcept
SYS_FORCE_INLINE bool isstring() const
OP_NodeParms & operator=(const OP_NodeParms &)=default
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
constexpr SYS_FORCE_INLINE T & x() noexcept