23 namespace SOP_Curve_3_0Enums
74 using namespace UT::Literal;
132 using namespace UT::Literal;
133 switch (enum_value) {
152 using namespace UT::Literal;
153 switch (enum_value) {
174 myEnableoutputgroup =
false;
175 myOutputgroup =
"group1"_UTsh;
179 mySynchronizekeys =
true;
180 myPrefixtangents =
true;
181 myChannelprefix =
"channel"_UTsh;
182 myCornerpts =
""_UTsh;
183 mySmoothpts =
""_UTsh;
185 myEnableoutputcornersgroup =
false;
186 myOutputcornersgroup =
"corners"_UTsh;
187 myEnableoutputsmoothgroup =
false;
188 myOutputsmoothgroup =
"smooth"_UTsh;
189 myEnableoutputautogroup =
false;
190 myOutputautogroup =
"auto"_UTsh;
191 myTransformallkeys =
false;
192 mySofttransform =
false;
193 mySofttransformrad = 0.5;
199 myConstrainstraighten =
false;
205 myDrawsymmetric =
true;
208 myInterpfalloff = 3.0;
209 myApproxshapedel =
false;
210 myApproxtangentsdel =
false;
211 myConvertmatchpoly =
false;
212 myViewrounded =
true;
214 myRoundedpts =
"rounded"_UTsh;
215 myRadiusattrib =
"radius"_UTsh;
216 myRoundposattrib =
"roundpos"_UTsh;
217 myChangerelative =
false;
219 myScalecontrolpoints =
"scalepoints"_UTsh;
220 myScaleattrib =
"pscale"_UTsh;
223 myUpcontrolpoints =
"uppoints"_UTsh;
224 myUpattrib =
"up"_UTsh;
240 if (myOptype != src.myOptype)
return false;
241 if (myGroup != src.myGroup)
return false;
242 if (myEnableoutputgroup != src.myEnableoutputgroup)
return false;
243 if (myOutputgroup != src.myOutputgroup)
return false;
244 if (myApplykeys != src.myApplykeys)
return false;
245 if (myInsertkeys != src.myInsertkeys)
return false;
246 if (myDensebake != src.myDensebake)
return false;
247 if (mySynchronizekeys != src.mySynchronizekeys)
return false;
248 if (myPrefixtangents != src.myPrefixtangents)
return false;
249 if (myChannelprefix != src.myChannelprefix)
return false;
250 if (myCornerpts != src.myCornerpts)
return false;
251 if (mySmoothpts != src.mySmoothpts)
return false;
252 if (myAutopts != src.myAutopts)
return false;
253 if (myEnableoutputcornersgroup != src.myEnableoutputcornersgroup)
return false;
254 if (myOutputcornersgroup != src.myOutputcornersgroup)
return false;
255 if (myEnableoutputsmoothgroup != src.myEnableoutputsmoothgroup)
return false;
256 if (myOutputsmoothgroup != src.myOutputsmoothgroup)
return false;
257 if (myEnableoutputautogroup != src.myEnableoutputautogroup)
return false;
258 if (myOutputautogroup != src.myOutputautogroup)
return false;
259 if (myTransformallkeys != src.myTransformallkeys)
return false;
260 if (mySofttransform != src.mySofttransform)
return false;
261 if (mySofttransformrad != src.mySofttransformrad)
return false;
262 if (myTranslate != src.myTranslate)
return false;
263 if (myRotate != src.myRotate)
return false;
264 if (myScale != src.myScale)
return false;
265 if (myPivottranslate != src.myPivottranslate)
return false;
266 if (myPivotrotate != src.myPivotrotate)
return false;
267 if (myConstrainstraighten != src.myConstrainstraighten)
return false;
268 if (myPlanenml != src.myPlanenml)
return false;
269 if (myPlaneorig != src.myPlaneorig)
return false;
270 if (myActiveprim != src.myActiveprim)
return false;
271 if (myData != src.myData)
return false;
272 if (myNewpointtype != src.myNewpointtype)
return false;
273 if (myDrawsymmetric != src.myDrawsymmetric)
return false;
274 if (mySegment != src.mySegment)
return false;
275 if (myUpos != src.myUpos)
return false;
276 if (myInterpfalloff != src.myInterpfalloff)
return false;
277 if (myApproxshapedel != src.myApproxshapedel)
return false;
278 if (myApproxtangentsdel != src.myApproxtangentsdel)
return false;
279 if (myConvertmatchpoly != src.myConvertmatchpoly)
return false;
280 if (myViewrounded != src.myViewrounded)
return false;
281 if (myRoundrad != src.myRoundrad)
return false;
282 if (myRoundedpts != src.myRoundedpts)
return false;
283 if (myRadiusattrib != src.myRadiusattrib)
return false;
284 if (myRoundposattrib != src.myRoundposattrib)
return false;
285 if (myChangerelative != src.myChangerelative)
return false;
286 if (myScaleval != src.myScaleval)
return false;
287 if (myScalecontrolpoints != src.myScalecontrolpoints)
return false;
288 if (myScaleattrib != src.myScaleattrib)
return false;
289 if (myUpval != src.myUpval)
return false;
290 if (myUprot != src.myUprot)
return false;
291 if (myUpcontrolpoints != src.myUpcontrolpoints)
return false;
292 if (myUpattrib != src.myUpattrib)
return false;
293 if (myPrimtype != src.myPrimtype)
return false;
294 if (
myOrder != src.myOrder)
return false;
295 if (myConvertdivs != src.myConvertdivs)
return false;
316 graph->
evalOpParm(myOptype, nodeidx,
"optype", time, graph->
isDirect()?
nullptr:depnode);
319 graph->
evalOpParm(myGroup, nodeidx,
"group", time, graph->
isDirect()?
nullptr:depnode);
320 myEnableoutputgroup =
false;
322 graph->
evalOpParm(myEnableoutputgroup, nodeidx,
"enableoutputgroup", time, graph->
isDirect()?
nullptr:depnode);
323 myOutputgroup =
"group1"_UTsh;
324 if (
true && ( (
true&&!(((getEnableoutputgroup()==0)))) ) )
325 graph->
evalOpParm(myOutputgroup, nodeidx,
"outputgroup", time, graph->
isDirect()?
nullptr:depnode);
328 graph->
evalOpParm(myApplykeys, nodeidx,
"applykeys", time, graph->
isDirect()?
nullptr:depnode);
331 graph->
evalOpParm(myInsertkeys, nodeidx,
"insertkeys", time, graph->
isDirect()?
nullptr:depnode);
334 graph->
evalOpParm(myDensebake, nodeidx,
"densebake", time, graph->
isDirect()?
nullptr:depnode);
335 mySynchronizekeys =
true;
337 graph->
evalOpParm(mySynchronizekeys, nodeidx,
"synchronizekeys", time, graph->
isDirect()?
nullptr:depnode);
338 myPrefixtangents =
true;
340 graph->
evalOpParm(myPrefixtangents, nodeidx,
"prefixtangents", time, graph->
isDirect()?
nullptr:depnode);
341 myChannelprefix =
"channel"_UTsh;
343 graph->
evalOpParm(myChannelprefix, nodeidx,
"channelprefix", time, graph->
isDirect()?
nullptr:depnode);
344 myCornerpts =
""_UTsh;
346 graph->
evalOpParm(myCornerpts, nodeidx,
"cornerpts", time, graph->
isDirect()?
nullptr:depnode);
347 mySmoothpts =
""_UTsh;
349 graph->
evalOpParm(mySmoothpts, nodeidx,
"smoothpts", time, graph->
isDirect()?
nullptr:depnode);
352 graph->
evalOpParm(myAutopts, nodeidx,
"autopts", time, graph->
isDirect()?
nullptr:depnode);
353 myEnableoutputcornersgroup =
false;
355 graph->
evalOpParm(myEnableoutputcornersgroup, nodeidx,
"enableoutputcornersgroup", time, graph->
isDirect()?
nullptr:depnode);
356 myOutputcornersgroup =
"corners"_UTsh;
357 if (
true && ( (
true&&!(((getEnableoutputcornersgroup()==0)))) ) )
358 graph->
evalOpParm(myOutputcornersgroup, nodeidx,
"outputcornersgroup", time, graph->
isDirect()?
nullptr:depnode);
359 myEnableoutputsmoothgroup =
false;
361 graph->
evalOpParm(myEnableoutputsmoothgroup, nodeidx,
"enableoutputsmoothgroup", time, graph->
isDirect()?
nullptr:depnode);
362 myOutputsmoothgroup =
"smooth"_UTsh;
363 if (
true && ( (
true&&!(((getEnableoutputsmoothgroup()==0)))) ) )
364 graph->
evalOpParm(myOutputsmoothgroup, nodeidx,
"outputsmoothgroup", time, graph->
isDirect()?
nullptr:depnode);
365 myEnableoutputautogroup =
false;
367 graph->
evalOpParm(myEnableoutputautogroup, nodeidx,
"enableoutputautogroup", time, graph->
isDirect()?
nullptr:depnode);
368 myOutputautogroup =
"auto"_UTsh;
369 if (
true && ( (
true&&!(((getEnableoutputautogroup()==0)))) ) )
370 graph->
evalOpParm(myOutputautogroup, nodeidx,
"outputautogroup", time, graph->
isDirect()?
nullptr:depnode);
371 myTransformallkeys =
false;
372 if (
true && ( (
true&&!(((
int64(getOptype())!=1)))) ) )
373 graph->
evalOpParm(myTransformallkeys, nodeidx,
"transformallkeys", time, graph->
isDirect()?
nullptr:depnode);
374 mySofttransform =
false;
376 graph->
evalOpParm(mySofttransform, nodeidx,
"softtransform", time, graph->
isDirect()?
nullptr:depnode);
377 mySofttransformrad = 0.5;
378 if (
true && ( (
true&&!(((getSofttransform()==0)))) ) )
379 graph->
evalOpParm(mySofttransformrad, nodeidx,
"softtransformrad", time, graph->
isDirect()?
nullptr:depnode);
381 if (
true && ( (
true&&!(((
int64(getOptype())!=1)&&(
int64(getOptype())!=2)))) ) )
382 graph->
evalOpParm(myTranslate, nodeidx,
"translate", time, graph->
isDirect()?
nullptr:depnode);
384 if (
true && ( (
true&&!(((
int64(getOptype())!=1)))) ) )
385 graph->
evalOpParm(myRotate, nodeidx,
"rotate", time, graph->
isDirect()?
nullptr:depnode);
387 if (
true && ( (
true&&!(((
int64(getOptype())!=1)))) ) )
388 graph->
evalOpParm(myScale, nodeidx,
"scale", time, graph->
isDirect()?
nullptr:depnode);
390 if (
true && ( (
true&&!(((
int64(getOptype())!=1)))) ) )
391 graph->
evalOpParm(myPivottranslate, nodeidx,
"pivottranslate", time, graph->
isDirect()?
nullptr:depnode);
393 if (
true && ( (
true&&!(((
int64(getOptype())!=1)))) ) )
394 graph->
evalOpParm(myPivotrotate, nodeidx,
"pivotrotate", time, graph->
isDirect()?
nullptr:depnode);
395 myConstrainstraighten =
false;
396 if (
true && ( (
true&&!(((
int64(getOptype())!=24)))) ) )
397 graph->
evalOpParm(myConstrainstraighten, nodeidx,
"constrainstraighten", time, graph->
isDirect()?
nullptr:depnode);
399 if (
true && ( (
true&&!(((
int64(getOptype())!=26)&&(
int64(getOptype())!=24))||((
int64(getOptype())==24)&&(getConstrainstraighten()==0)))) ) )
400 graph->
evalOpParm(myPlanenml, nodeidx,
"planenml", time, graph->
isDirect()?
nullptr:depnode);
402 if (
true && ( (
true&&!(((
int64(getOptype())!=26)))) ) )
403 graph->
evalOpParm(myPlaneorig, nodeidx,
"planeorig", time, graph->
isDirect()?
nullptr:depnode);
405 if (
true && ( (
true&&!(((
int64(getOptype())!=3)&&(
int64(getOptype())!=4)&&(
int64(getOptype())!=8)&&(
int64(getOptype())!=2)))) ) )
406 graph->
evalOpParm(myActiveprim, nodeidx,
"activeprim", time, graph->
isDirect()?
nullptr:depnode);
408 if (
true && ( (
true&&!(((
int64(getOptype())!=3)&&(
int64(getOptype())!=4)))) ) )
411 if (
true && ( (
true&&!(((
int64(getOptype())!=3)&&(
int64(getOptype())!=4)))) ) )
412 graph->
evalOpParm(myNewpointtype, nodeidx,
"newpointtype", time, graph->
isDirect()?
nullptr:depnode);
413 myDrawsymmetric =
true;
415 graph->
evalOpParm(myDrawsymmetric, nodeidx,
"drawsymmetric", time, graph->
isDirect()?
nullptr:depnode);
417 if (
true && ( (
true&&!(((
int64(getOptype())!=8)&&(
int64(getOptype())!=2)))) ) )
418 graph->
evalOpParm(mySegment, nodeidx,
"segment", time, graph->
isDirect()?
nullptr:depnode);
420 if (
true && ( (
true&&!(((
int64(getOptype())!=8)&&(
int64(getOptype())!=2)))) ) )
422 myInterpfalloff = 3.0;
423 if (
true && ( (
true&&!(((
int64(getOptype())!=2)))) ) )
424 graph->
evalOpParm(myInterpfalloff, nodeidx,
"interpfalloff", time, graph->
isDirect()?
nullptr:depnode);
425 myApproxshapedel =
false;
426 if (
true && ( (
true&&!(((
int64(getOptype())!=9)))) ) )
427 graph->
evalOpParm(myApproxshapedel, nodeidx,
"approxshapedel", time, graph->
isDirect()?
nullptr:depnode);
428 myApproxtangentsdel =
false;
429 if (
true && ( (
true&&!(((
int64(getOptype())!=9))||((getApproxshapedel()==0)))) ) )
430 graph->
evalOpParm(myApproxtangentsdel, nodeidx,
"approxtangentsdel", time, graph->
isDirect()?
nullptr:depnode);
431 myConvertmatchpoly =
false;
432 if (
true && ( (
true&&!(((
int64(getOptype())!=7)))) ) )
433 graph->
evalOpParm(myConvertmatchpoly, nodeidx,
"convertmatchpoly", time, graph->
isDirect()?
nullptr:depnode);
434 myViewrounded =
true;
436 graph->
evalOpParm(myViewrounded, nodeidx,
"viewrounded", time, graph->
isDirect()?
nullptr:depnode);
438 if (
true && ( (
true&&!(((
int64(getOptype())!=28)&&(
int64(getOptype())!=30)))) ) )
439 graph->
evalOpParm(myRoundrad, nodeidx,
"roundrad", time, graph->
isDirect()?
nullptr:depnode);
440 myRoundedpts =
"rounded"_UTsh;
442 graph->
evalOpParm(myRoundedpts, nodeidx,
"roundedpts", time, graph->
isDirect()?
nullptr:depnode);
443 myRadiusattrib =
"radius"_UTsh;
445 graph->
evalOpParm(myRadiusattrib, nodeidx,
"radiusattrib", time, graph->
isDirect()?
nullptr:depnode);
446 myRoundposattrib =
"roundpos"_UTsh;
448 graph->
evalOpParm(myRoundposattrib, nodeidx,
"roundposattrib", time, graph->
isDirect()?
nullptr:depnode);
449 myChangerelative =
false;
450 if (
true && ( (
true&&!(((
int64(getOptype())!=38)&&(
int64(getOptype())!=41)))) ) )
451 graph->
evalOpParm(myChangerelative, nodeidx,
"changerelative", time, graph->
isDirect()?
nullptr:depnode);
453 if (
true && ( (
true&&!(((
int64(getOptype())!=36)&&(
int64(getOptype())!=37)&&(
int64(getOptype())!=38)))) ) )
454 graph->
evalOpParm(myScaleval, nodeidx,
"scaleval", time, graph->
isDirect()?
nullptr:depnode);
455 myScalecontrolpoints =
"scalepoints"_UTsh;
457 graph->
evalOpParm(myScalecontrolpoints, nodeidx,
"scalecontrolpoints", time, graph->
isDirect()?
nullptr:depnode);
458 myScaleattrib =
"pscale"_UTsh;
460 graph->
evalOpParm(myScaleattrib, nodeidx,
"scaleattrib", time, graph->
isDirect()?
nullptr:depnode);
462 if (
true && ( (
true&&!(((
int64(getOptype())!=39)&&(
int64(getOptype())!=40)&&(
int64(getOptype())!=41))||((getChangerelative()==1)))) ) )
463 graph->
evalOpParm(myUpval, nodeidx,
"upval", time, graph->
isDirect()?
nullptr:depnode);
465 if (
true && ( (
true&&!(((
int64(getOptype())!=41))||((getChangerelative()==0)))) ) )
466 graph->
evalOpParm(myUprot, nodeidx,
"uprot", time, graph->
isDirect()?
nullptr:depnode);
467 myUpcontrolpoints =
"uppoints"_UTsh;
469 graph->
evalOpParm(myUpcontrolpoints, nodeidx,
"upcontrolpoints", time, graph->
isDirect()?
nullptr:depnode);
470 myUpattrib =
"up"_UTsh;
472 graph->
evalOpParm(myUpattrib, nodeidx,
"upattrib", time, graph->
isDirect()?
nullptr:depnode);
474 if (
true && ( (
true&&!(((
int64(getOptype())!=3)&&(
int64(getOptype())!=4)&&(
int64(getOptype())!=7))||((
int64(getOptype())==3)&&(
int64(getActiveprim())>=0))||((
int64(getOptype())==4)&&(
int64(getActiveprim())>=0)))) ) )
475 graph->
evalOpParm(myPrimtype, nodeidx,
"primtype", time, graph->
isDirect()?
nullptr:depnode);
477 if (
true && ( (
true&&!(((
int64(getOptype())!=3)&&(
int64(getOptype())!=4)&&(
int64(getOptype())!=7))||((
int64(getPrimtype())==0))||((
int64(getOptype())==3)&&(
int64(getActiveprim())>=0))||((
int64(getOptype())==4)&&(
int64(getActiveprim())>=0)))) ) )
480 if (
true && ( (
true&&!(((
int64(getOptype())!=7))||((getConvertmatchpoly()==1))||((
int64(getPrimtype())!=0)))) ) )
481 graph->
evalOpParm(myConvertdivs, nodeidx,
"convertdivs", time, graph->
isDirect()?
nullptr:depnode);
497 template <
typename T>
504 if (idx.
size() != instance.
size()+1)
509 coerceValue(value, myOptype);
512 coerceValue(value, myGroup);
515 coerceValue(value, myEnableoutputgroup);
518 coerceValue(value, myOutputgroup);
521 coerceValue(value, myApplykeys);
524 coerceValue(value, myInsertkeys);
527 coerceValue(value, myDensebake);
530 coerceValue(value, mySynchronizekeys);
533 coerceValue(value, myPrefixtangents);
536 coerceValue(value, myChannelprefix);
539 coerceValue(value, myCornerpts);
542 coerceValue(value, mySmoothpts);
545 coerceValue(value, myAutopts);
548 coerceValue(value, myEnableoutputcornersgroup);
551 coerceValue(value, myOutputcornersgroup);
554 coerceValue(value, myEnableoutputsmoothgroup);
557 coerceValue(value, myOutputsmoothgroup);
560 coerceValue(value, myEnableoutputautogroup);
563 coerceValue(value, myOutputautogroup);
566 coerceValue(value, myTransformallkeys);
569 coerceValue(value, mySofttransform);
572 coerceValue(value, mySofttransformrad);
575 coerceValue(value, myTranslate);
578 coerceValue(value, myRotate);
581 coerceValue(value, myScale);
584 coerceValue(value, myPivottranslate);
587 coerceValue(value, myPivotrotate);
590 coerceValue(value, myConstrainstraighten);
593 coerceValue(value, myPlanenml);
596 coerceValue(value, myPlaneorig);
599 coerceValue(value, myActiveprim);
602 coerceValue(value, myData);
605 coerceValue(value, myNewpointtype);
608 coerceValue(value, myDrawsymmetric);
611 coerceValue(value, mySegment);
614 coerceValue(value, myUpos);
617 coerceValue(value, myInterpfalloff);
620 coerceValue(value, myApproxshapedel);
623 coerceValue(value, myApproxtangentsdel);
626 coerceValue(value, myConvertmatchpoly);
629 coerceValue(value, myViewrounded);
632 coerceValue(value, myRoundrad);
635 coerceValue(value, myRoundedpts);
638 coerceValue(value, myRadiusattrib);
641 coerceValue(value, myRoundposattrib);
644 coerceValue(value, myChangerelative);
647 coerceValue(value, myScaleval);
650 coerceValue(value, myScalecontrolpoints);
653 coerceValue(value, myScaleattrib);
656 coerceValue(value, myUpval);
659 coerceValue(value, myUprot);
662 coerceValue(value, myUpcontrolpoints);
665 coerceValue(value, myUpattrib);
668 coerceValue(value, myPrimtype);
674 coerceValue(value, myConvertdivs);
690 { doGetParmValue(idx, instance, value); }
692 { doGetParmValue(idx, instance, value); }
694 { doGetParmValue(idx, instance, value); }
696 { doGetParmValue(idx, instance, value); }
698 { doGetParmValue(idx, instance, value); }
700 { doGetParmValue(idx, instance, value); }
702 { doGetParmValue(idx, instance, value); }
704 { doGetParmValue(idx, instance, value); }
706 { doGetParmValue(idx, instance, value); }
708 { doGetParmValue(idx, instance, value); }
710 { doGetParmValue(idx, instance, value); }
712 template <
typename T>
719 if (idx.
size() != instance.
size()+1)
724 coerceValue(myOptype, clampMinValue(0, clampMaxValue(41, value ) ));
727 coerceValue(myGroup, ( ( value ) ));
730 coerceValue(myEnableoutputgroup, ( ( value ) ));
733 coerceValue(myOutputgroup, ( ( value ) ));
736 coerceValue(myApplykeys, ( ( value ) ));
739 coerceValue(myInsertkeys, ( ( value ) ));
742 coerceValue(myDensebake, ( ( value ) ));
745 coerceValue(mySynchronizekeys, ( ( value ) ));
748 coerceValue(myPrefixtangents, ( ( value ) ));
751 coerceValue(myChannelprefix, ( ( value ) ));
754 coerceValue(myCornerpts, ( ( value ) ));
757 coerceValue(mySmoothpts, ( ( value ) ));
760 coerceValue(myAutopts, ( ( value ) ));
763 coerceValue(myEnableoutputcornersgroup, ( ( value ) ));
766 coerceValue(myOutputcornersgroup, ( ( value ) ));
769 coerceValue(myEnableoutputsmoothgroup, ( ( value ) ));
772 coerceValue(myOutputsmoothgroup, ( ( value ) ));
775 coerceValue(myEnableoutputautogroup, ( ( value ) ));
778 coerceValue(myOutputautogroup, ( ( value ) ));
781 coerceValue(myTransformallkeys, ( ( value ) ));
784 coerceValue(mySofttransform, ( ( value ) ));
787 coerceValue(mySofttransformrad, clampMinValue(0, ( value ) ));
790 coerceValue(myTranslate, ( ( value ) ));
793 coerceValue(myRotate, ( ( value ) ));
796 coerceValue(myScale, ( ( value ) ));
799 coerceValue(myPivottranslate, ( ( value ) ));
802 coerceValue(myPivotrotate, ( ( value ) ));
805 coerceValue(myConstrainstraighten, ( ( value ) ));
808 coerceValue(myPlanenml, ( ( value ) ));
811 coerceValue(myPlaneorig, ( ( value ) ));
814 coerceValue(myActiveprim, clampMinValue(-1, ( value ) ));
817 coerceValue(myData, ( ( value ) ));
820 coerceValue(myNewpointtype, clampMinValue(0, clampMaxValue(3, value ) ));
823 coerceValue(myDrawsymmetric, ( ( value ) ));
826 coerceValue(mySegment, ( ( value ) ));
829 coerceValue(myUpos, clampMinValue(0, clampMaxValue(1, value ) ));
832 coerceValue(myInterpfalloff, clampMinValue(0, ( value ) ));
835 coerceValue(myApproxshapedel, ( ( value ) ));
838 coerceValue(myApproxtangentsdel, ( ( value ) ));
841 coerceValue(myConvertmatchpoly, ( ( value ) ));
844 coerceValue(myViewrounded, ( ( value ) ));
847 coerceValue(myRoundrad, ( ( value ) ));
850 coerceValue(myRoundedpts, ( ( value ) ));
853 coerceValue(myRadiusattrib, ( ( value ) ));
856 coerceValue(myRoundposattrib, ( ( value ) ));
859 coerceValue(myChangerelative, ( ( value ) ));
862 coerceValue(myScaleval, clampMinValue(0, ( value ) ));
865 coerceValue(myScalecontrolpoints, ( ( value ) ));
868 coerceValue(myScaleattrib, ( ( value ) ));
871 coerceValue(myUpval, ( ( value ) ));
874 coerceValue(myUprot, ( ( value ) ));
877 coerceValue(myUpcontrolpoints, ( ( value ) ));
880 coerceValue(myUpattrib, ( ( value ) ));
883 coerceValue(myPrimtype, clampMinValue(0, clampMaxValue(2, value ) ));
886 coerceValue(
myOrder, clampMinValue(2, clampMaxValue(11, value ) ));
889 coerceValue(myConvertdivs, ( ( value ) ));
896 { doSetParmValue(idx, instance, value); }
898 { doSetParmValue(idx, instance, value); }
900 { doSetParmValue(idx, instance, value); }
902 { doSetParmValue(idx, instance, value); }
904 { doSetParmValue(idx, instance, value); }
906 { doSetParmValue(idx, instance, value); }
908 { doSetParmValue(idx, instance, value); }
910 { doSetParmValue(idx, instance, value); }
912 { doSetParmValue(idx, instance, value); }
914 { doSetParmValue(idx, instance, value); }
916 { doSetParmValue(idx, instance, value); }
932 if (fieldnum.
size() < 1)
941 return "enableoutputgroup";
943 return "outputgroup";
951 return "synchronizekeys";
953 return "prefixtangents";
955 return "channelprefix";
963 return "enableoutputcornersgroup";
965 return "outputcornersgroup";
967 return "enableoutputsmoothgroup";
969 return "outputsmoothgroup";
971 return "enableoutputautogroup";
973 return "outputautogroup";
975 return "transformallkeys";
977 return "softtransform";
979 return "softtransformrad";
987 return "pivottranslate";
989 return "pivotrotate";
991 return "constrainstraighten";
1001 return "newpointtype";
1003 return "drawsymmetric";
1009 return "interpfalloff";
1011 return "approxshapedel";
1013 return "approxtangentsdel";
1015 return "convertmatchpoly";
1017 return "viewrounded";
1021 return "roundedpts";
1023 return "radiusattrib";
1025 return "roundposattrib";
1027 return "changerelative";
1031 return "scalecontrolpoints";
1033 return "scaleattrib";
1039 return "upcontrolpoints";
1047 return "convertdivs";
1055 if (fieldnum.
size() < 1)
1056 return PARM_UNSUPPORTED;
1057 switch (fieldnum[0])
1060 return PARM_INTEGER;
1064 return PARM_INTEGER;
1068 return PARM_INTEGER;
1070 return PARM_INTEGER;
1072 return PARM_INTEGER;
1074 return PARM_INTEGER;
1076 return PARM_INTEGER;
1086 return PARM_INTEGER;
1090 return PARM_INTEGER;
1094 return PARM_INTEGER;
1098 return PARM_INTEGER;
1100 return PARM_INTEGER;
1104 return PARM_VECTOR3;
1106 return PARM_VECTOR3;
1108 return PARM_VECTOR3;
1110 return PARM_VECTOR3;
1112 return PARM_VECTOR3;
1114 return PARM_INTEGER;
1116 return PARM_VECTOR3;
1118 return PARM_VECTOR3;
1120 return PARM_INTEGER;
1124 return PARM_INTEGER;
1126 return PARM_INTEGER;
1128 return PARM_INTEGER;
1134 return PARM_INTEGER;
1136 return PARM_INTEGER;
1138 return PARM_INTEGER;
1140 return PARM_INTEGER;
1150 return PARM_INTEGER;
1158 return PARM_VECTOR3;
1166 return PARM_INTEGER;
1168 return PARM_INTEGER;
1170 return PARM_INTEGER;
1173 return PARM_UNSUPPORTED;
1178 { is.
bread(&v, 1); }
1209 loadData(is, rampdata);
1227 int typelen = colon - data.
buffer();
1239 { UTwrite(os, &v); }
1241 {
int64 iv =
v; UTwrite(os, &iv); }
1243 { UTwrite<fpreal64>(os, &
v); }
1245 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1247 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1248 UTwrite<fpreal64>(os, &v.
z()); }
1250 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1251 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1263 if (s) s->save(ostr);
1264 result = ostr.
str();
1265 saveData(os, result);
1272 ostr << s->getDataTypeToken();
1274 s->saveBinary(ostr);
1276 result = ostr.
str();
1277 saveData(os, result);
1285 saveData(os, myOptype);
1286 saveData(os, myGroup);
1287 saveData(os, myEnableoutputgroup);
1288 saveData(os, myOutputgroup);
1289 saveData(os, myApplykeys);
1290 saveData(os, myInsertkeys);
1291 saveData(os, myDensebake);
1292 saveData(os, mySynchronizekeys);
1293 saveData(os, myPrefixtangents);
1294 saveData(os, myChannelprefix);
1295 saveData(os, myCornerpts);
1296 saveData(os, mySmoothpts);
1297 saveData(os, myAutopts);
1298 saveData(os, myEnableoutputcornersgroup);
1299 saveData(os, myOutputcornersgroup);
1300 saveData(os, myEnableoutputsmoothgroup);
1301 saveData(os, myOutputsmoothgroup);
1302 saveData(os, myEnableoutputautogroup);
1303 saveData(os, myOutputautogroup);
1304 saveData(os, myTransformallkeys);
1305 saveData(os, mySofttransform);
1306 saveData(os, mySofttransformrad);
1307 saveData(os, myTranslate);
1308 saveData(os, myRotate);
1309 saveData(os, myScale);
1310 saveData(os, myPivottranslate);
1311 saveData(os, myPivotrotate);
1312 saveData(os, myConstrainstraighten);
1313 saveData(os, myPlanenml);
1314 saveData(os, myPlaneorig);
1315 saveData(os, myActiveprim);
1316 saveData(os, myData);
1317 saveData(os, myNewpointtype);
1318 saveData(os, myDrawsymmetric);
1319 saveData(os, mySegment);
1320 saveData(os, myUpos);
1321 saveData(os, myInterpfalloff);
1322 saveData(os, myApproxshapedel);
1323 saveData(os, myApproxtangentsdel);
1324 saveData(os, myConvertmatchpoly);
1325 saveData(os, myViewrounded);
1326 saveData(os, myRoundrad);
1327 saveData(os, myRoundedpts);
1328 saveData(os, myRadiusattrib);
1329 saveData(os, myRoundposattrib);
1330 saveData(os, myChangerelative);
1331 saveData(os, myScaleval);
1332 saveData(os, myScalecontrolpoints);
1333 saveData(os, myScaleattrib);
1334 saveData(os, myUpval);
1335 saveData(os, myUprot);
1336 saveData(os, myUpcontrolpoints);
1337 saveData(os, myUpattrib);
1338 saveData(os, myPrimtype);
1340 saveData(os, myConvertdivs);
1353 loadData(is, myOptype);
1354 loadData(is, myGroup);
1355 loadData(is, myEnableoutputgroup);
1356 loadData(is, myOutputgroup);
1357 loadData(is, myApplykeys);
1358 loadData(is, myInsertkeys);
1359 loadData(is, myDensebake);
1360 loadData(is, mySynchronizekeys);
1361 loadData(is, myPrefixtangents);
1362 loadData(is, myChannelprefix);
1363 loadData(is, myCornerpts);
1364 loadData(is, mySmoothpts);
1365 loadData(is, myAutopts);
1366 loadData(is, myEnableoutputcornersgroup);
1367 loadData(is, myOutputcornersgroup);
1368 loadData(is, myEnableoutputsmoothgroup);
1369 loadData(is, myOutputsmoothgroup);
1370 loadData(is, myEnableoutputautogroup);
1371 loadData(is, myOutputautogroup);
1372 loadData(is, myTransformallkeys);
1373 loadData(is, mySofttransform);
1374 loadData(is, mySofttransformrad);
1375 loadData(is, myTranslate);
1376 loadData(is, myRotate);
1377 loadData(is, myScale);
1378 loadData(is, myPivottranslate);
1379 loadData(is, myPivotrotate);
1380 loadData(is, myConstrainstraighten);
1381 loadData(is, myPlanenml);
1382 loadData(is, myPlaneorig);
1383 loadData(is, myActiveprim);
1384 loadData(is, myData);
1385 loadData(is, myNewpointtype);
1386 loadData(is, myDrawsymmetric);
1387 loadData(is, mySegment);
1388 loadData(is, myUpos);
1389 loadData(is, myInterpfalloff);
1390 loadData(is, myApproxshapedel);
1391 loadData(is, myApproxtangentsdel);
1392 loadData(is, myConvertmatchpoly);
1393 loadData(is, myViewrounded);
1394 loadData(is, myRoundrad);
1395 loadData(is, myRoundedpts);
1396 loadData(is, myRadiusattrib);
1397 loadData(is, myRoundposattrib);
1398 loadData(is, myChangerelative);
1399 loadData(is, myScaleval);
1400 loadData(is, myScalecontrolpoints);
1401 loadData(is, myScaleattrib);
1402 loadData(is, myUpval);
1403 loadData(is, myUprot);
1404 loadData(is, myUpcontrolpoints);
1405 loadData(is, myUpattrib);
1406 loadData(is, myPrimtype);
1408 loadData(is, myConvertdivs);
1418 if (!thissop)
return getOptype();
1420 OP_Utils::evalOpParm(result, thissop,
"optype", cookparms.
getCookTime(), 0);
1428 if (!thissop)
return getGroup();
1430 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
1438 if (!thissop)
return getEnableoutputgroup();
1440 OP_Utils::evalOpParm(result, thissop,
"enableoutputgroup", cookparms.
getCookTime(), 0);
1448 if (!thissop)
return getOutputgroup();
1450 OP_Utils::evalOpParm(result, thissop,
"outputgroup", cookparms.
getCookTime(), 0);
1458 if (!thissop)
return getApplykeys();
1460 OP_Utils::evalOpParm(result, thissop,
"applykeys", cookparms.
getCookTime(), 0);
1468 if (!thissop)
return getInsertkeys();
1470 OP_Utils::evalOpParm(result, thissop,
"insertkeys", cookparms.
getCookTime(), 0);
1478 if (!thissop)
return getDensebake();
1480 OP_Utils::evalOpParm(result, thissop,
"densebake", cookparms.
getCookTime(), 0);
1488 if (!thissop)
return getSynchronizekeys();
1490 OP_Utils::evalOpParm(result, thissop,
"synchronizekeys", cookparms.
getCookTime(), 0);
1498 if (!thissop)
return getPrefixtangents();
1500 OP_Utils::evalOpParm(result, thissop,
"prefixtangents", cookparms.
getCookTime(), 0);
1508 if (!thissop)
return getChannelprefix();
1510 OP_Utils::evalOpParm(result, thissop,
"channelprefix", cookparms.
getCookTime(), 0);
1518 if (!thissop)
return getCornerpts();
1520 OP_Utils::evalOpParm(result, thissop,
"cornerpts", cookparms.
getCookTime(), 0);
1528 if (!thissop)
return getSmoothpts();
1530 OP_Utils::evalOpParm(result, thissop,
"smoothpts", cookparms.
getCookTime(), 0);
1538 if (!thissop)
return getAutopts();
1540 OP_Utils::evalOpParm(result, thissop,
"autopts", cookparms.
getCookTime(), 0);
1548 if (!thissop)
return getEnableoutputcornersgroup();
1550 OP_Utils::evalOpParm(result, thissop,
"enableoutputcornersgroup", cookparms.
getCookTime(), 0);
1558 if (!thissop)
return getOutputcornersgroup();
1560 OP_Utils::evalOpParm(result, thissop,
"outputcornersgroup", cookparms.
getCookTime(), 0);
1568 if (!thissop)
return getEnableoutputsmoothgroup();
1570 OP_Utils::evalOpParm(result, thissop,
"enableoutputsmoothgroup", cookparms.
getCookTime(), 0);
1578 if (!thissop)
return getOutputsmoothgroup();
1580 OP_Utils::evalOpParm(result, thissop,
"outputsmoothgroup", cookparms.
getCookTime(), 0);
1588 if (!thissop)
return getEnableoutputautogroup();
1590 OP_Utils::evalOpParm(result, thissop,
"enableoutputautogroup", cookparms.
getCookTime(), 0);
1598 if (!thissop)
return getOutputautogroup();
1600 OP_Utils::evalOpParm(result, thissop,
"outputautogroup", cookparms.
getCookTime(), 0);
1608 if (!thissop)
return getTransformallkeys();
1610 OP_Utils::evalOpParm(result, thissop,
"transformallkeys", cookparms.
getCookTime(), 0);
1618 if (!thissop)
return getSofttransform();
1620 OP_Utils::evalOpParm(result, thissop,
"softtransform", cookparms.
getCookTime(), 0);
1628 if (!thissop)
return getSofttransformrad();
1630 OP_Utils::evalOpParm(result, thissop,
"softtransformrad", cookparms.
getCookTime(), 0);
1638 if (!thissop)
return getTranslate();
1640 OP_Utils::evalOpParm(result, thissop,
"translate", cookparms.
getCookTime(), 0);
1648 if (!thissop)
return getRotate();
1650 OP_Utils::evalOpParm(result, thissop,
"rotate", cookparms.
getCookTime(), 0);
1660 OP_Utils::evalOpParm(result, thissop,
"scale", cookparms.
getCookTime(), 0);
1668 if (!thissop)
return getPivottranslate();
1670 OP_Utils::evalOpParm(result, thissop,
"pivottranslate", cookparms.
getCookTime(), 0);
1678 if (!thissop)
return getPivotrotate();
1680 OP_Utils::evalOpParm(result, thissop,
"pivotrotate", cookparms.
getCookTime(), 0);
1688 if (!thissop)
return getConstrainstraighten();
1690 OP_Utils::evalOpParm(result, thissop,
"constrainstraighten", cookparms.
getCookTime(), 0);
1698 if (!thissop)
return getPlanenml();
1700 OP_Utils::evalOpParm(result, thissop,
"planenml", cookparms.
getCookTime(), 0);
1708 if (!thissop)
return getPlaneorig();
1710 OP_Utils::evalOpParm(result, thissop,
"planeorig", cookparms.
getCookTime(), 0);
1718 if (!thissop)
return getActiveprim();
1720 OP_Utils::evalOpParm(result, thissop,
"activeprim", cookparms.
getCookTime(), 0);
1728 if (!thissop)
return getData();
1730 OP_Utils::evalOpParm(result, thissop,
"data", cookparms.
getCookTime(), 0);
1738 if (!thissop)
return getNewpointtype();
1740 OP_Utils::evalOpParm(result, thissop,
"newpointtype", cookparms.
getCookTime(), 0);
1748 if (!thissop)
return getDrawsymmetric();
1750 OP_Utils::evalOpParm(result, thissop,
"drawsymmetric", cookparms.
getCookTime(), 0);
1758 if (!thissop)
return getSegment();
1760 OP_Utils::evalOpParm(result, thissop,
"segment", cookparms.
getCookTime(), 0);
1768 if (!thissop)
return getUpos();
1770 OP_Utils::evalOpParm(result, thissop,
"upos", cookparms.
getCookTime(), 0);
1778 if (!thissop)
return getInterpfalloff();
1780 OP_Utils::evalOpParm(result, thissop,
"interpfalloff", cookparms.
getCookTime(), 0);
1788 if (!thissop)
return getApproxshapedel();
1790 OP_Utils::evalOpParm(result, thissop,
"approxshapedel", cookparms.
getCookTime(), 0);
1798 if (!thissop)
return getApproxtangentsdel();
1800 OP_Utils::evalOpParm(result, thissop,
"approxtangentsdel", cookparms.
getCookTime(), 0);
1808 if (!thissop)
return getConvertmatchpoly();
1810 OP_Utils::evalOpParm(result, thissop,
"convertmatchpoly", cookparms.
getCookTime(), 0);
1818 if (!thissop)
return getViewrounded();
1820 OP_Utils::evalOpParm(result, thissop,
"viewrounded", cookparms.
getCookTime(), 0);
1828 if (!thissop)
return getRoundrad();
1830 OP_Utils::evalOpParm(result, thissop,
"roundrad", cookparms.
getCookTime(), 0);
1838 if (!thissop)
return getRoundedpts();
1840 OP_Utils::evalOpParm(result, thissop,
"roundedpts", cookparms.
getCookTime(), 0);
1848 if (!thissop)
return getRadiusattrib();
1850 OP_Utils::evalOpParm(result, thissop,
"radiusattrib", cookparms.
getCookTime(), 0);
1858 if (!thissop)
return getRoundposattrib();
1860 OP_Utils::evalOpParm(result, thissop,
"roundposattrib", cookparms.
getCookTime(), 0);
1868 if (!thissop)
return getChangerelative();
1870 OP_Utils::evalOpParm(result, thissop,
"changerelative", cookparms.
getCookTime(), 0);
1878 if (!thissop)
return getScaleval();
1880 OP_Utils::evalOpParm(result, thissop,
"scaleval", cookparms.
getCookTime(), 0);
1888 if (!thissop)
return getScalecontrolpoints();
1890 OP_Utils::evalOpParm(result, thissop,
"scalecontrolpoints", cookparms.
getCookTime(), 0);
1898 if (!thissop)
return getScaleattrib();
1900 OP_Utils::evalOpParm(result, thissop,
"scaleattrib", cookparms.
getCookTime(), 0);
1908 if (!thissop)
return getUpval();
1910 OP_Utils::evalOpParm(result, thissop,
"upval", cookparms.
getCookTime(), 0);
1918 if (!thissop)
return getUprot();
1920 OP_Utils::evalOpParm(result, thissop,
"uprot", cookparms.
getCookTime(), 0);
1928 if (!thissop)
return getUpcontrolpoints();
1930 OP_Utils::evalOpParm(result, thissop,
"upcontrolpoints", cookparms.
getCookTime(), 0);
1938 if (!thissop)
return getUpattrib();
1940 OP_Utils::evalOpParm(result, thissop,
"upattrib", cookparms.
getCookTime(), 0);
1948 if (!thissop)
return getPrimtype();
1950 OP_Utils::evalOpParm(result, thissop,
"primtype", cookparms.
getCookTime(), 0);
1958 if (!thissop)
return getOrder();
1960 OP_Utils::evalOpParm(result, thissop,
"order", cookparms.
getCookTime(), 0);
1968 if (!thissop)
return getConvertdivs();
1970 OP_Utils::evalOpParm(result, thissop,
"convertdivs", cookparms.
getCookTime(), 0);
1977 bool myEnableoutputgroup;
1982 bool mySynchronizekeys;
1983 bool myPrefixtangents;
1988 bool myEnableoutputcornersgroup;
1990 bool myEnableoutputsmoothgroup;
1992 bool myEnableoutputautogroup;
1994 bool myTransformallkeys;
1995 bool mySofttransform;
2002 bool myConstrainstraighten;
2007 int64 myNewpointtype;
2008 bool myDrawsymmetric;
2012 bool myApproxshapedel;
2013 bool myApproxtangentsdel;
2014 bool myConvertmatchpoly;
2020 bool myChangerelative;
2030 int64 myConvertdivs;
bool getTransformallkeys() const
int64 opOrder(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opRoundedpts(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opAutopts(const SOP_NodeVerb::CookParms &cookparms) const
void setTranslate(UT_Vector3D val)
const UT_StringHolder & getOutputautogroup() const
static void loadData(UT_IStream &is, UT_Matrix3D &v)
const UT_StringHolder & getGroup() const
void setEnableoutputsmoothgroup(bool val)
bool load(UT_IStream &is)
void setInsertkeys(bool val)
bool opDrawsymmetric(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D opPlanenml(const SOP_NodeVerb::CookParms &cookparms) const
void setSmoothpts(const UT_StringHolder &val)
const UT_StringHolder & getOutputgroup() const
void setRotate(UT_Vector3D val)
bool opSofttransform(const SOP_NodeVerb::CookParms &cookparms) const
bool getEnableoutputautogroup() const
void setConvertdivs(int64 val)
bool opConvertmatchpoly(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getUpattrib() const
SOP_Node * getNode() const
bool getEnableoutputcornersgroup() const
UT_StringHolder opData(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
bool opApproxtangentsdel(const SOP_NodeVerb::CookParms &cookparms) const
void setPivotrotate(UT_Vector3D val)
static void loadData(UT_IStream &is, UT_Matrix4D &v)
fpreal64 getRoundrad() const
void setScaleattrib(const UT_StringHolder &val)
UT_Vector3D opRotate(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getScaleval() const
bool getApproxtangentsdel() const
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
void setData(const UT_StringHolder &val)
bool opEnableoutputcornersgroup(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
static void saveData(std::ostream &os, bool v)
int64 getActiveprim() const
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
void setInterpfalloff(fpreal64 val)
static void saveData(std::ostream &os, UT_Vector4D v)
bool getPrefixtangents() const
static void loadData(UT_IStream &is, UT_Vector3I &v)
bool getConvertmatchpoly() const
Primtype opPrimtype(const SOP_NodeVerb::CookParms &cookparms) const
GLsizei const GLfloat * value
UT_StringHolder opUpcontrolpoints(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opRoundposattrib(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D getPlaneorig() const
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
bool opChangerelative(const SOP_NodeVerb::CookParms &cookparms) const
void setScalecontrolpoints(const UT_StringHolder &val)
bool opViewrounded(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
void setApproxtangentsdel(bool val)
static void loadData(UT_IStream &is, UT_Vector2I &v)
const OP_Context & context() const
UT_Vector3D opPlaneorig(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getInterpfalloff() const
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
constexpr SYS_FORCE_INLINE T & z() noexcept
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
static void saveData(std::ostream &os, UT_Matrix4D v)
SYS_FORCE_INLINE const char * buffer() const
void setConvertmatchpoly(bool val)
An output stream object that owns its own string buffer storage.
void setNewpointtype(Newpointtype val)
void setUpos(fpreal64 val)
static void loadData(UT_IStream &is, int64 &v)
void save(std::ostream &os) const
bool opPrefixtangents(const SOP_NodeVerb::CookParms &cookparms) const
void setScaleval(fpreal64 val)
void setUpcontrolpoints(const UT_StringHolder &val)
**But if you need a result
void setPrefixtangents(bool val)
bool getViewrounded() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
exint getNestNumParms(TempIndex idx) const override
void setUpval(UT_Vector3D val)
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
UT_Vector3D getPivottranslate() const
bool opEnableoutputgroup(const SOP_NodeVerb::CookParms &cookparms) const
void setEnableoutputgroup(bool val)
constexpr SYS_FORCE_INLINE T & x() noexcept
bool getChangerelative() const
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
bool opInsertkeys(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & x() noexcept
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
static void loadData(UT_IStream &is, fpreal64 &v)
void setRoundrad(fpreal64 val)
fpreal64 getSofttransformrad() const
void setSofttransformrad(fpreal64 val)
void setDensebake(bool val)
void setPlaneorig(UT_Vector3D val)
bool opApplykeys(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
void setSynchronizekeys(bool val)
static void saveData(std::ostream &os, int64 v)
void setOutputautogroup(const UT_StringHolder &val)
void setGroup(const UT_StringHolder &val)
const UT_StringHolder & getScalecontrolpoints() const
static void loadData(UT_IStream &is, UT_StringHolder &v)
void setUprot(fpreal64 val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
void setOutputgroup(const UT_StringHolder &val)
SYS_FORCE_INLINE const char * buffer() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
constexpr SYS_FORCE_INLINE T & z() noexcept
void setChannelprefix(const UT_StringHolder &val)
const UT_StringHolder & getAutopts() const
void setApproxshapedel(bool val)
const OP_GraphProxy * graph() const
void setOutputcornersgroup(const UT_StringHolder &val)
bool operator==(const SOP_Curve_3_0Parms &src) const
UT_Vector3D getUpval() const
const char * getNestParmName(TempIndex fieldnum) const override
const UT_StringHolder & getOutputsmoothgroup() const
static void loadData(UT_IStream &is, UT_Vector3D &v)
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
void setSofttransform(bool val)
UT_StringHolder opOutputgroup(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opScaleval(const SOP_NodeVerb::CookParms &cookparms) const
int64 opConvertdivs(const SOP_NodeVerb::CookParms &cookparms) const
bool opSynchronizekeys(const SOP_NodeVerb::CookParms &cookparms) const
bool opEnableoutputsmoothgroup(const SOP_NodeVerb::CookParms &cookparms) const
void setConstrainstraighten(bool val)
void setCornerpts(const UT_StringHolder &val)
void setApplykeys(bool val)
UT_Vector3T< fpreal64 > UT_Vector3D
fpreal64 opRoundrad(const SOP_NodeVerb::CookParms &cookparms) const
Newpointtype getNewpointtype() const
void setActiveprim(int64 val)
static void saveData(std::ostream &os, UT_Vector2D v)
Optype opOptype(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix2D &v)
UT_StringHolder opSmoothpts(const SOP_NodeVerb::CookParms &cookparms) const
bool getApplykeys() const
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
SYS_FORCE_INLINE UT_StringHolder getToken(Optype enum_value)
static void loadData(UT_IStream &is, UT_Vector4I &v)
void setScale(UT_Vector3D val)
bool getSofttransform() const
void setAutopts(const UT_StringHolder &val)
void saveBinary(std::ostream &os) const
Save string to binary stream.
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
fpreal64 opSofttransformrad(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opOutputautogroup(const SOP_NodeVerb::CookParms &cookparms) const
bool getEnableoutputgroup() const
GT_API const UT_StringHolder version
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
bool operator!=(const SOP_Curve_3_0Parms &src) const
void setOutputsmoothgroup(const UT_StringHolder &val)
void setRoundposattrib(const UT_StringHolder &val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
fpreal64 opInterpfalloff(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D getScale() const
int64 getConvertdivs() const
void setEnableoutputautogroup(bool val)
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
const UT_StringHolder & getRoundposattrib() const
void setChangerelative(bool val)
UT_StringHolder opOutputsmoothgroup(const SOP_NodeVerb::CookParms &cookparms) const
bool getInsertkeys() const
void setDrawsymmetric(bool val)
UT_Vector3D opTranslate(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D getPivotrotate() const
static void saveData(std::ostream &os, UT_Matrix3D v)
static void loadData(UT_IStream &is, UT_Vector2D &v)
bool opEnableoutputautogroup(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_StringHolder s)
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
const UT_StringHolder & getRadiusattrib() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
UT_StringHolder opOutputcornersgroup(const SOP_NodeVerb::CookParms &cookparms) const
DEP_MicroNode * depnode() const
UT_StringHolder opRadiusattrib(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opChannelprefix(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getChannelprefix() const
bool opTransformallkeys(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getUprot() const
LeafData & operator=(const LeafData &)=delete
Utility class for containing a color ramp.
void setPrimtype(Primtype val)
UT_StringHolder opScalecontrolpoints(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
const UT_StringHolder & getCornerpts() const
UT_Vector3D opPivottranslate(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opUpattrib(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & w() noexcept
static void loadData(UT_IStream &is, bool &v)
const UT_StringHolder & getRoundedpts() const
virtual UT_StringHolder baseGetSignature() const
Vec3< typename MatType::value_type > getScale(const MatType &mat)
Return a Vec3 representing the lengths of the passed matrix's upper 3×3's rows.
void setOptype(Optype val)
const UT_StringHolder & getOutputcornersgroup() const
UT_StringHolder opScaleattrib(const SOP_NodeVerb::CookParms &cookparms) const
bool getDrawsymmetric() const
const UT_StringHolder & getSmoothpts() const
static void saveData(std::ostream &os, UT_Matrix2D v)
UT_StringHolder opCornerpts(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D opPivotrotate(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
fpreal getCookTime() const
int64 opActiveprim(const SOP_NodeVerb::CookParms &cookparms) const
void copyFrom(const OP_NodeParms *src) override
UT_Vector3D getRotate() const
fpreal64 opUprot(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
Primtype getPrimtype() const
static void saveData(std::ostream &os, fpreal64 v)
UT_Vector3D getTranslate() const
bool getSynchronizekeys() const
const UT_StringHolder & getScaleattrib() const
ParmType getNestParmType(TempIndex fieldnum) const override
const char * findChar(int c) const
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
bool getApproxshapedel() const
bool opConstrainstraighten(const SOP_NodeVerb::CookParms &cookparms) const
int64 opSegment(const SOP_NodeVerb::CookParms &cookparms) const
bool opApproxshapedel(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getUpcontrolpoints() const
void setTransformallkeys(bool val)
exint bread(uint8 *buffer, exint asize=1)
Newpointtype opNewpointtype(const SOP_NodeVerb::CookParms &cookparms) const
void loadFromOpSubclass(const LoadParms &loadparms) override
void setPivottranslate(UT_Vector3D val)
bool getConstrainstraighten() const
void setRadiusattrib(const UT_StringHolder &val)
fpreal64 opUpos(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & y() noexcept
void setPlanenml(UT_Vector3D val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
void setViewrounded(bool val)
virtual bool isDirect() const =0
Direct proxies mirror actual nodes:
UT_Vector3D getPlanenml() const
const UT_StringHolder & getData() const
UT_Vector3D opUpval(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
void setRoundedpts(const UT_StringHolder &val)
void setEnableoutputcornersgroup(bool val)
bool getDensebake() const
constexpr SYS_FORCE_INLINE T & y() noexcept
static void saveData(std::ostream &os, PRM_DataItemHandle s)
static void saveData(std::ostream &os, UT_Vector3D v)
SYS_FORCE_INLINE bool isstring() const
UT_Vector3D opScale(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
constexpr SYS_FORCE_INLINE T & x() noexcept
bool isParmColorRamp(exint idx) const override
bool getEnableoutputsmoothgroup() const
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector4D &v)
void setUpattrib(const UT_StringHolder &val)
bool opDensebake(const SOP_NodeVerb::CookParms &cookparms) const
void setSegment(int64 val)