23 namespace SOP_CurveFrameEnums
37 using namespace UT::Literal;
61 using namespace UT::Literal;
82 using namespace UT::Literal;
103 using namespace UT::Literal;
104 switch (enum_value) {
127 using namespace UT::Literal;
128 switch (enum_value) {
150 using namespace UT::Literal;
151 switch (enum_value) {
173 using namespace UT::Literal;
174 switch (enum_value) {
193 using namespace UT::Literal;
194 switch (enum_value) {
211 myCurveGroup =
""_UTsh;
213 myContinuousClosed =
true;
214 myExtrapolateEndTangents =
false;
215 myTransformByAttribs =
false;
217 myUpVectorAtStart =
true;
218 myUseEndUpVector =
false;
219 myUpVectorAttrib =
"target_up"_UTsh;
220 myEndUpVectorAttrib =
"target_up_end"_UTsh;
223 myAdjustUpCurvature =
false;
224 myCurvatureScale = 1;
225 myEnableCurvatureScaleAttrib = 0;
226 myCurvatureScaleAttrib =
"speed"_UTsh;
227 myEnableCurvatureAttrib =
false;
228 myCurvatureAttrib =
"curvature"_UTsh;
235 myRollAttrib =
"roll"_UTsh;
240 myYawAttrib =
"yaw"_UTsh;
241 myApplyPitch =
false;
245 myPitchAttrib =
"pitch"_UTsh;
248 myStretchAroundTurns =
false;
249 myMaxStretchAroundTurns = 10;
251 myOutputXAxis =
false;
252 myXAxisName =
"out"_UTsh;
253 myOutputYAxis =
true;
254 myYAxisName =
"up"_UTsh;
255 myOutputZAxis =
true;
256 myZAxisName =
"N"_UTsh;
257 myOutputTranslation =
false;
258 myTranslationName =
"P"_UTsh;
259 myOutputQuaternion =
false;
260 myQuaternionName =
"orient"_UTsh;
261 myOutputTransform3 =
false;
262 myTransform3Name =
"transform"_UTsh;
263 myOutputTransform4 =
false;
264 myTransform4Name =
"transform"_UTsh;
277 if (myCurveGroup != src.myCurveGroup)
return false;
278 if (myTangentType != src.myTangentType)
return false;
279 if (myContinuousClosed != src.myContinuousClosed)
return false;
280 if (myExtrapolateEndTangents != src.myExtrapolateEndTangents)
return false;
281 if (myTransformByAttribs != src.myTransformByAttribs)
return false;
282 if (myUpVectorType != src.myUpVectorType)
return false;
283 if (myUpVectorAtStart != src.myUpVectorAtStart)
return false;
284 if (myUseEndUpVector != src.myUseEndUpVector)
return false;
285 if (myUpVectorAttrib != src.myUpVectorAttrib)
return false;
286 if (myEndUpVectorAttrib != src.myEndUpVectorAttrib)
return false;
287 if (myUpVector != src.myUpVector)
return false;
288 if (myEndUpVector != src.myEndUpVector)
return false;
289 if (myAdjustUpCurvature != src.myAdjustUpCurvature)
return false;
290 if (myCurvatureScale != src.myCurvatureScale)
return false;
291 if (myEnableCurvatureScaleAttrib != src.myEnableCurvatureScaleAttrib)
return false;
292 if (myCurvatureScaleAttrib != src.myCurvatureScaleAttrib)
return false;
293 if (myEnableCurvatureAttrib != src.myEnableCurvatureAttrib)
return false;
294 if (myCurvatureAttrib != src.myCurvatureAttrib)
return false;
295 if (myROrd != src.myROrd)
return false;
296 if (myApplyRoll != src.myApplyRoll)
return false;
297 if (myRoll != src.myRoll)
return false;
298 if (myRollPer != src.myRollPer)
return false;
299 if (myFullTwists != src.myFullTwists)
return false;
300 if (myIncRoll != src.myIncRoll)
return false;
301 if (myRollAttrib != src.myRollAttrib)
return false;
302 if (myApplyYaw != src.myApplyYaw)
return false;
303 if (myYaw != src.myYaw)
return false;
304 if (myYawPer != src.myYawPer)
return false;
305 if (myIncYaw != src.myIncYaw)
return false;
306 if (myYawAttrib != src.myYawAttrib)
return false;
307 if (myApplyPitch != src.myApplyPitch)
return false;
308 if (myPitch != src.myPitch)
return false;
309 if (myPitchPer != src.myPitchPer)
return false;
310 if (myIncPitch != src.myIncPitch)
return false;
311 if (myPitchAttrib != src.myPitchAttrib)
return false;
312 if (myNormalize != src.myNormalize)
return false;
313 if (myScale != src.myScale)
return false;
314 if (myStretchAroundTurns != src.myStretchAroundTurns)
return false;
315 if (myMaxStretchAroundTurns != src.myMaxStretchAroundTurns)
return false;
316 if (myClass != src.myClass)
return false;
317 if (myOutputXAxis != src.myOutputXAxis)
return false;
318 if (myXAxisName != src.myXAxisName)
return false;
319 if (myOutputYAxis != src.myOutputYAxis)
return false;
320 if (myYAxisName != src.myYAxisName)
return false;
321 if (myOutputZAxis != src.myOutputZAxis)
return false;
322 if (myZAxisName != src.myZAxisName)
return false;
323 if (myOutputTranslation != src.myOutputTranslation)
return false;
324 if (myTranslationName != src.myTranslationName)
return false;
325 if (myOutputQuaternion != src.myOutputQuaternion)
return false;
326 if (myQuaternionName != src.myQuaternionName)
return false;
327 if (myOutputTransform3 != src.myOutputTransform3)
return false;
328 if (myTransform3Name != src.myTransform3Name)
return false;
329 if (myOutputTransform4 != src.myOutputTransform4)
return false;
330 if (myTransform4Name != src.myTransform4Name)
return false;
351 myCurveGroup =
""_UTsh;
353 graph->
evalOpParm(myCurveGroup, nodeidx,
"group", time, 0);
356 graph->
evalOpParm(myTangentType, nodeidx,
"tangenttype", time, 0);
357 myContinuousClosed =
true;
358 if (
true && ( (
true&&!(((
int64(getTangentType())==4)))) ) )
359 graph->
evalOpParm(myContinuousClosed, nodeidx,
"continuousclosed", time, 0);
360 myExtrapolateEndTangents =
false;
361 if (
true && ( (
true&&!(((
int64(getTangentType())==4)))) ) )
362 graph->
evalOpParm(myExtrapolateEndTangents, nodeidx,
"extrapolateendtangents", time, 0);
363 myTransformByAttribs =
false;
365 graph->
evalOpParm(myTransformByAttribs, nodeidx,
"transformbyattribs", time, 0);
367 if (
true && ( (
true&&!(((
int64(getTangentType())==4)))) ) )
368 graph->
evalOpParm(myUpVectorType, nodeidx,
"upvectortype", time, 0);
369 myUpVectorAtStart =
true;
370 if (
true && ( (
true&&!(((
int64(getTangentType())==4)))) ) )
371 graph->
evalOpParm(myUpVectorAtStart, nodeidx,
"upvectoratstart", time, 0);
372 myUseEndUpVector =
false;
373 if (
true && ( (
true&&!(((
int64(getTangentType())==4))||((getUpVectorAtStart()==0)))) ) )
374 graph->
evalOpParm(myUseEndUpVector, nodeidx,
"useendupvector", time, 0);
375 myUpVectorAttrib =
"target_up"_UTsh;
376 if (
true && ( (
true&&!(((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=4))||((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=4)))) ) )
377 graph->
evalOpParm(myUpVectorAttrib, nodeidx,
"upvectorattrib", time, 0);
378 myEndUpVectorAttrib =
"target_up_end"_UTsh;
379 if (
true && ( (
true&&!(((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=4))||((getUseEndUpVector()==0))||((getUpVectorAtStart()==0))||((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=4))||((getUseEndUpVector()==0))||((getUpVectorAtStart()==0)))) ) )
380 graph->
evalOpParm(myEndUpVectorAttrib, nodeidx,
"endupvectorattrib", time, 0);
382 if (
true && ( (
true&&!(((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=5))||((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=5)))) ) )
383 graph->
evalOpParm(myUpVector, nodeidx,
"upvector", time, 0);
385 if (
true && ( (
true&&!(((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=5))||((getUseEndUpVector()==0))||((getUpVectorAtStart()==0))||((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=5))||((getUseEndUpVector()==0))||((getUpVectorAtStart()==0)))) ) )
386 graph->
evalOpParm(myEndUpVector, nodeidx,
"endupvector", time, 0);
387 myAdjustUpCurvature =
false;
389 graph->
evalOpParm(myAdjustUpCurvature, nodeidx,
"adjustupcurvature", time, 0);
390 myCurvatureScale = 1;
391 if (
true && ( (
true&&!(((getAdjustUpCurvature()==0)))) ) )
392 graph->
evalOpParm(myCurvatureScale, nodeidx,
"curvaturescale", time, 0);
393 myEnableCurvatureScaleAttrib = 0;
394 if (
true && ( (
true&&!(((getAdjustUpCurvature()==0)))) ) )
395 graph->
evalOpParm(myEnableCurvatureScaleAttrib, nodeidx,
"enablecurvaturescaleattrib", time, 0);
396 myCurvatureScaleAttrib =
"speed"_UTsh;
397 if (
true && ( (
true&&!(((getAdjustUpCurvature()==0))||((
int64(getEnableCurvatureScaleAttrib())==0)))) ) )
398 graph->
evalOpParm(myCurvatureScaleAttrib, nodeidx,
"curvaturescaleattrib", time, 0);
399 myEnableCurvatureAttrib =
false;
400 if (
true && ( (
true&&!(((getAdjustUpCurvature()==0)))) ) )
401 graph->
evalOpParm(myEnableCurvatureAttrib, nodeidx,
"enablecurvatureattrib", time, 0);
402 myCurvatureAttrib =
"curvature"_UTsh;
403 if (
true && ( (
true&&!(((getAdjustUpCurvature()==0))||((getEnableCurvatureAttrib()==0)))) ) )
404 graph->
evalOpParm(myCurvatureAttrib, nodeidx,
"curvatureattrib", time, 0);
407 graph->
evalOpParm(myROrd, nodeidx,
"rOrd", time, 0);
410 graph->
evalOpParm(myApplyRoll, nodeidx,
"applyroll", time, 0);
412 if (
true && ( (
true&&!(((getApplyRoll()==0)))) ) )
413 graph->
evalOpParm(myRoll, nodeidx,
"roll", time, 0);
415 if (
true && ( (
true&&!(((getApplyRoll()==0)))) ) )
416 graph->
evalOpParm(myRollPer, nodeidx,
"rollper", time, 0);
418 if (
true && ( (
true&&!(((getApplyRoll()==0)))) ) )
419 graph->
evalOpParm(myFullTwists, nodeidx,
"fulltwists", time, 0);
421 if (
true && ( (
true&&!(((getApplyRoll()==0)))) ) )
422 graph->
evalOpParm(myIncRoll, nodeidx,
"incroll", time, 0);
423 myRollAttrib =
"roll"_UTsh;
424 if (
true && ( (
true&&!(((getApplyRoll()==0))||((getApplyRoll()==1)&&(
int64(getRollPer())!=2))||((getApplyRoll()==0))||((getApplyRoll()==1)&&(
int64(getRollPer())!=2)))) ) )
425 graph->
evalOpParm(myRollAttrib, nodeidx,
"rollattrib", time, 0);
428 graph->
evalOpParm(myApplyYaw, nodeidx,
"applyyaw", time, 0);
430 if (
true && ( (
true&&!(((getApplyYaw()==0)))) ) )
431 graph->
evalOpParm(myYaw, nodeidx,
"yaw", time, 0);
433 if (
true && ( (
true&&!(((getApplyYaw()==0)))) ) )
434 graph->
evalOpParm(myYawPer, nodeidx,
"yawper", time, 0);
436 if (
true && ( (
true&&!(((getApplyYaw()==0)))) ) )
437 graph->
evalOpParm(myIncYaw, nodeidx,
"incyaw", time, 0);
438 myYawAttrib =
"yaw"_UTsh;
439 if (
true && ( (
true&&!(((getApplyYaw()==0))||((getApplyYaw()==1)&&(
int64(getYawPer())!=2))||((getApplyYaw()==0))||((getApplyYaw()==1)&&(
int64(getYawPer())!=2)))) ) )
440 graph->
evalOpParm(myYawAttrib, nodeidx,
"yawattrib", time, 0);
441 myApplyPitch =
false;
443 graph->
evalOpParm(myApplyPitch, nodeidx,
"applypitch", time, 0);
445 if (
true && ( (
true&&!(((getApplyPitch()==0)))) ) )
446 graph->
evalOpParm(myPitch, nodeidx,
"pitch", time, 0);
448 if (
true && ( (
true&&!(((getApplyPitch()==0)))) ) )
449 graph->
evalOpParm(myPitchPer, nodeidx,
"pitchper", time, 0);
451 if (
true && ( (
true&&!(((getApplyPitch()==0)))) ) )
452 graph->
evalOpParm(myIncPitch, nodeidx,
"incpitch", time, 0);
453 myPitchAttrib =
"pitch"_UTsh;
454 if (
true && ( (
true&&!(((getApplyPitch()==0))||((getApplyPitch()==1)&&(
int64(getPitchPer())!=2))||((getApplyPitch()==0))||((getApplyPitch()==1)&&(
int64(getPitchPer())!=2)))) ) )
455 graph->
evalOpParm(myPitchAttrib, nodeidx,
"pitchattrib", time, 0);
458 graph->
evalOpParm(myNormalize, nodeidx,
"normalize", time, 0);
461 graph->
evalOpParm(myScale, nodeidx,
"scale", time, 0);
462 myStretchAroundTurns =
false;
464 graph->
evalOpParm(myStretchAroundTurns, nodeidx,
"stretcharoundturns", time, 0);
465 myMaxStretchAroundTurns = 10;
466 if (
true && ( (
true&&!(((getStretchAroundTurns()==0)))) ) )
467 graph->
evalOpParm(myMaxStretchAroundTurns, nodeidx,
"maxstretcharoundturns", time, 0);
470 graph->
evalOpParm(myClass, nodeidx,
"class", time, 0);
471 myOutputXAxis =
false;
473 graph->
evalOpParm(myOutputXAxis, nodeidx,
"outputxaxis", time, 0);
474 myXAxisName =
"out"_UTsh;
475 if (
true && ( (
true&&!(((getOutputXAxis()==0)))) ) )
476 graph->
evalOpParm(myXAxisName, nodeidx,
"xaxisname", time, 0);
477 myOutputYAxis =
true;
479 graph->
evalOpParm(myOutputYAxis, nodeidx,
"outputyaxis", time, 0);
480 myYAxisName =
"up"_UTsh;
481 if (
true && ( (
true&&!(((getOutputYAxis()==0)))) ) )
482 graph->
evalOpParm(myYAxisName, nodeidx,
"yaxisname", time, 0);
483 myOutputZAxis =
true;
485 graph->
evalOpParm(myOutputZAxis, nodeidx,
"outputzaxis", time, 0);
486 myZAxisName =
"N"_UTsh;
487 if (
true && ( (
true&&!(((getOutputZAxis()==0)))) ) )
488 graph->
evalOpParm(myZAxisName, nodeidx,
"zaxisname", time, 0);
489 myOutputTranslation =
false;
491 graph->
evalOpParm(myOutputTranslation, nodeidx,
"outputtranslation", time, 0);
492 myTranslationName =
"P"_UTsh;
493 if (
true && ( (
true&&!(((getOutputTranslation()==0)))) ) )
494 graph->
evalOpParm(myTranslationName, nodeidx,
"translationname", time, 0);
495 myOutputQuaternion =
false;
497 graph->
evalOpParm(myOutputQuaternion, nodeidx,
"outputquaternion", time, 0);
498 myQuaternionName =
"orient"_UTsh;
499 if (
true && ( (
true&&!(((getOutputQuaternion()==0)))) ) )
500 graph->
evalOpParm(myQuaternionName, nodeidx,
"quaternionname", time, 0);
501 myOutputTransform3 =
false;
503 graph->
evalOpParm(myOutputTransform3, nodeidx,
"outputtransform3", time, 0);
504 myTransform3Name =
"transform"_UTsh;
505 if (
true && ( (
true&&!(((getOutputTransform3()==0)))) ) )
506 graph->
evalOpParm(myTransform3Name, nodeidx,
"transform3name", time, 0);
507 myOutputTransform4 =
false;
509 graph->
evalOpParm(myOutputTransform4, nodeidx,
"outputtransform4", time, 0);
510 myTransform4Name =
"transform"_UTsh;
511 if (
true && ( (
true&&!(((getOutputTransform4()==0)))) ) )
512 graph->
evalOpParm(myTransform4Name, nodeidx,
"transform4name", time, 0);
528 template <
typename T>
535 if (idx.
size() != instance.
size()+1)
540 coerceValue(value, myCurveGroup);
543 coerceValue(value, myTangentType);
546 coerceValue(value, myContinuousClosed);
549 coerceValue(value, myExtrapolateEndTangents);
552 coerceValue(value, myTransformByAttribs);
555 coerceValue(value, myUpVectorType);
558 coerceValue(value, myUpVectorAtStart);
561 coerceValue(value, myUseEndUpVector);
564 coerceValue(value, myUpVectorAttrib);
567 coerceValue(value, myEndUpVectorAttrib);
570 coerceValue(value, myUpVector);
573 coerceValue(value, myEndUpVector);
576 coerceValue(value, myAdjustUpCurvature);
579 coerceValue(value, myCurvatureScale);
582 coerceValue(value, myEnableCurvatureScaleAttrib);
585 coerceValue(value, myCurvatureScaleAttrib);
588 coerceValue(value, myEnableCurvatureAttrib);
591 coerceValue(value, myCurvatureAttrib);
594 coerceValue(value, myROrd);
597 coerceValue(value, myApplyRoll);
600 coerceValue(value, myRoll);
603 coerceValue(value, myRollPer);
606 coerceValue(value, myFullTwists);
609 coerceValue(value, myIncRoll);
612 coerceValue(value, myRollAttrib);
615 coerceValue(value, myApplyYaw);
618 coerceValue(value, myYaw);
621 coerceValue(value, myYawPer);
624 coerceValue(value, myIncYaw);
627 coerceValue(value, myYawAttrib);
630 coerceValue(value, myApplyPitch);
633 coerceValue(value, myPitch);
636 coerceValue(value, myPitchPer);
639 coerceValue(value, myIncPitch);
642 coerceValue(value, myPitchAttrib);
645 coerceValue(value, myNormalize);
648 coerceValue(value, myScale);
651 coerceValue(value, myStretchAroundTurns);
654 coerceValue(value, myMaxStretchAroundTurns);
657 coerceValue(value, myClass);
660 coerceValue(value, myOutputXAxis);
663 coerceValue(value, myXAxisName);
666 coerceValue(value, myOutputYAxis);
669 coerceValue(value, myYAxisName);
672 coerceValue(value, myOutputZAxis);
675 coerceValue(value, myZAxisName);
678 coerceValue(value, myOutputTranslation);
681 coerceValue(value, myTranslationName);
684 coerceValue(value, myOutputQuaternion);
687 coerceValue(value, myQuaternionName);
690 coerceValue(value, myOutputTransform3);
693 coerceValue(value, myTransform3Name);
696 coerceValue(value, myOutputTransform4);
699 coerceValue(value, myTransform4Name);
715 { doGetParmValue(idx, instance, value); }
717 { doGetParmValue(idx, instance, value); }
719 { doGetParmValue(idx, instance, value); }
721 { doGetParmValue(idx, instance, value); }
723 { doGetParmValue(idx, instance, value); }
725 { doGetParmValue(idx, instance, value); }
727 { doGetParmValue(idx, instance, value); }
729 { doGetParmValue(idx, instance, value); }
731 { doGetParmValue(idx, instance, value); }
733 { doGetParmValue(idx, instance, value); }
735 { doGetParmValue(idx, instance, value); }
737 template <
typename T>
744 if (idx.
size() != instance.
size()+1)
749 coerceValue(myCurveGroup, ( ( value ) ));
752 coerceValue(myTangentType, clampMinValue(0, clampMaxValue(4, value ) ));
755 coerceValue(myContinuousClosed, ( ( value ) ));
758 coerceValue(myExtrapolateEndTangents, ( ( value ) ));
761 coerceValue(myTransformByAttribs, ( ( value ) ));
764 coerceValue(myUpVectorType, clampMinValue(0, clampMaxValue(5, value ) ));
767 coerceValue(myUpVectorAtStart, ( ( value ) ));
770 coerceValue(myUseEndUpVector, ( ( value ) ));
773 coerceValue(myUpVectorAttrib, ( ( value ) ));
776 coerceValue(myEndUpVectorAttrib, ( ( value ) ));
779 coerceValue(myUpVector, ( ( value ) ));
782 coerceValue(myEndUpVector, ( ( value ) ));
785 coerceValue(myAdjustUpCurvature, ( ( value ) ));
788 coerceValue(myCurvatureScale, ( ( value ) ));
791 coerceValue(myEnableCurvatureScaleAttrib, clampMinValue(0, clampMaxValue(1, value ) ));
794 coerceValue(myCurvatureScaleAttrib, ( ( value ) ));
797 coerceValue(myEnableCurvatureAttrib, ( ( value ) ));
800 coerceValue(myCurvatureAttrib, ( ( value ) ));
803 coerceValue(myROrd, clampMinValue(0, clampMaxValue(5, value ) ));
806 coerceValue(myApplyRoll, ( ( value ) ));
809 coerceValue(myRoll, ( ( value ) ));
812 coerceValue(myRollPer, clampMinValue(0, clampMaxValue(4, value ) ));
815 coerceValue(myFullTwists, ( ( value ) ));
818 coerceValue(myIncRoll, ( ( value ) ));
821 coerceValue(myRollAttrib, ( ( value ) ));
824 coerceValue(myApplyYaw, ( ( value ) ));
827 coerceValue(myYaw, ( ( value ) ));
830 coerceValue(myYawPer, clampMinValue(0, clampMaxValue(4, value ) ));
833 coerceValue(myIncYaw, ( ( value ) ));
836 coerceValue(myYawAttrib, ( ( value ) ));
839 coerceValue(myApplyPitch, ( ( value ) ));
842 coerceValue(myPitch, ( ( value ) ));
845 coerceValue(myPitchPer, clampMinValue(0, clampMaxValue(4, value ) ));
848 coerceValue(myIncPitch, ( ( value ) ));
851 coerceValue(myPitchAttrib, ( ( value ) ));
854 coerceValue(myNormalize, ( ( value ) ));
857 coerceValue(myScale, ( ( value ) ));
860 coerceValue(myStretchAroundTurns, ( ( value ) ));
863 coerceValue(myMaxStretchAroundTurns, clampMinValue(1, ( value ) ));
866 coerceValue(myClass, clampMinValue(0, clampMaxValue(1, value ) ));
869 coerceValue(myOutputXAxis, ( ( value ) ));
872 coerceValue(myXAxisName, ( ( value ) ));
875 coerceValue(myOutputYAxis, ( ( value ) ));
878 coerceValue(myYAxisName, ( ( value ) ));
881 coerceValue(myOutputZAxis, ( ( value ) ));
884 coerceValue(myZAxisName, ( ( value ) ));
887 coerceValue(myOutputTranslation, ( ( value ) ));
890 coerceValue(myTranslationName, ( ( value ) ));
893 coerceValue(myOutputQuaternion, ( ( value ) ));
896 coerceValue(myQuaternionName, ( ( value ) ));
899 coerceValue(myOutputTransform3, ( ( value ) ));
902 coerceValue(myTransform3Name, ( ( value ) ));
905 coerceValue(myOutputTransform4, ( ( value ) ));
908 coerceValue(myTransform4Name, ( ( value ) ));
915 { doSetParmValue(idx, instance, value); }
917 { doSetParmValue(idx, instance, value); }
919 { doSetParmValue(idx, instance, value); }
921 { doSetParmValue(idx, instance, value); }
923 { doSetParmValue(idx, instance, value); }
925 { doSetParmValue(idx, instance, value); }
927 { doSetParmValue(idx, instance, value); }
929 { doSetParmValue(idx, instance, value); }
931 { doSetParmValue(idx, instance, value); }
933 { doSetParmValue(idx, instance, value); }
935 { doSetParmValue(idx, instance, value); }
951 if (fieldnum.
size() < 1)
958 return "tangenttype";
960 return "continuousclosed";
962 return "extrapolateendtangents";
964 return "transformbyattribs";
966 return "upvectortype";
968 return "upvectoratstart";
970 return "useendupvector";
972 return "upvectorattrib";
974 return "endupvectorattrib";
978 return "endupvector";
980 return "adjustupcurvature";
982 return "curvaturescale";
984 return "enablecurvaturescaleattrib";
986 return "curvaturescaleattrib";
988 return "enablecurvatureattrib";
990 return "curvatureattrib";
1000 return "fulltwists";
1004 return "rollattrib";
1016 return "applypitch";
1024 return "pitchattrib";
1030 return "stretcharoundturns";
1032 return "maxstretcharoundturns";
1036 return "outputxaxis";
1040 return "outputyaxis";
1044 return "outputzaxis";
1048 return "outputtranslation";
1050 return "translationname";
1052 return "outputquaternion";
1054 return "quaternionname";
1056 return "outputtransform3";
1058 return "transform3name";
1060 return "outputtransform4";
1062 return "transform4name";
1070 if (fieldnum.
size() < 1)
1071 return PARM_UNSUPPORTED;
1072 switch (fieldnum[0])
1077 return PARM_INTEGER;
1079 return PARM_INTEGER;
1081 return PARM_INTEGER;
1083 return PARM_INTEGER;
1085 return PARM_INTEGER;
1087 return PARM_INTEGER;
1089 return PARM_INTEGER;
1095 return PARM_VECTOR3;
1097 return PARM_VECTOR3;
1099 return PARM_INTEGER;
1103 return PARM_INTEGER;
1107 return PARM_INTEGER;
1111 return PARM_INTEGER;
1113 return PARM_INTEGER;
1117 return PARM_INTEGER;
1119 return PARM_INTEGER;
1125 return PARM_INTEGER;
1129 return PARM_INTEGER;
1135 return PARM_INTEGER;
1139 return PARM_INTEGER;
1145 return PARM_INTEGER;
1149 return PARM_INTEGER;
1153 return PARM_INTEGER;
1155 return PARM_INTEGER;
1159 return PARM_INTEGER;
1163 return PARM_INTEGER;
1167 return PARM_INTEGER;
1171 return PARM_INTEGER;
1175 return PARM_INTEGER;
1179 return PARM_INTEGER;
1184 return PARM_UNSUPPORTED;
1189 { is.
bread(&v, 1); }
1220 loadData(is, rampdata);
1238 int typelen = colon - data.
buffer();
1250 { UTwrite(os, &v); }
1252 {
int64 iv =
v; UTwrite(os, &iv); }
1254 { UTwrite<fpreal64>(os, &
v); }
1256 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1258 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1259 UTwrite<fpreal64>(os, &v.
z()); }
1261 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1262 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1274 if (s) s->save(ostr);
1275 result = ostr.
str();
1276 saveData(os, result);
1283 ostr << s->getDataTypeToken();
1285 s->saveBinary(ostr);
1287 result = ostr.
str();
1288 saveData(os, result);
1296 saveData(os, myCurveGroup);
1297 saveData(os, myTangentType);
1298 saveData(os, myContinuousClosed);
1299 saveData(os, myExtrapolateEndTangents);
1300 saveData(os, myTransformByAttribs);
1301 saveData(os, myUpVectorType);
1302 saveData(os, myUpVectorAtStart);
1303 saveData(os, myUseEndUpVector);
1304 saveData(os, myUpVectorAttrib);
1305 saveData(os, myEndUpVectorAttrib);
1306 saveData(os, myUpVector);
1307 saveData(os, myEndUpVector);
1308 saveData(os, myAdjustUpCurvature);
1309 saveData(os, myCurvatureScale);
1310 saveData(os, myEnableCurvatureScaleAttrib);
1311 saveData(os, myCurvatureScaleAttrib);
1312 saveData(os, myEnableCurvatureAttrib);
1313 saveData(os, myCurvatureAttrib);
1314 saveData(os, myROrd);
1315 saveData(os, myApplyRoll);
1316 saveData(os, myRoll);
1317 saveData(os, myRollPer);
1318 saveData(os, myFullTwists);
1319 saveData(os, myIncRoll);
1320 saveData(os, myRollAttrib);
1321 saveData(os, myApplyYaw);
1322 saveData(os, myYaw);
1323 saveData(os, myYawPer);
1324 saveData(os, myIncYaw);
1325 saveData(os, myYawAttrib);
1326 saveData(os, myApplyPitch);
1327 saveData(os, myPitch);
1328 saveData(os, myPitchPer);
1329 saveData(os, myIncPitch);
1330 saveData(os, myPitchAttrib);
1331 saveData(os, myNormalize);
1332 saveData(os, myScale);
1333 saveData(os, myStretchAroundTurns);
1334 saveData(os, myMaxStretchAroundTurns);
1335 saveData(os, myClass);
1336 saveData(os, myOutputXAxis);
1337 saveData(os, myXAxisName);
1338 saveData(os, myOutputYAxis);
1339 saveData(os, myYAxisName);
1340 saveData(os, myOutputZAxis);
1341 saveData(os, myZAxisName);
1342 saveData(os, myOutputTranslation);
1343 saveData(os, myTranslationName);
1344 saveData(os, myOutputQuaternion);
1345 saveData(os, myQuaternionName);
1346 saveData(os, myOutputTransform3);
1347 saveData(os, myTransform3Name);
1348 saveData(os, myOutputTransform4);
1349 saveData(os, myTransform4Name);
1362 loadData(is, myCurveGroup);
1363 loadData(is, myTangentType);
1364 loadData(is, myContinuousClosed);
1365 loadData(is, myExtrapolateEndTangents);
1366 loadData(is, myTransformByAttribs);
1367 loadData(is, myUpVectorType);
1368 loadData(is, myUpVectorAtStart);
1369 loadData(is, myUseEndUpVector);
1370 loadData(is, myUpVectorAttrib);
1371 loadData(is, myEndUpVectorAttrib);
1372 loadData(is, myUpVector);
1373 loadData(is, myEndUpVector);
1374 loadData(is, myAdjustUpCurvature);
1375 loadData(is, myCurvatureScale);
1376 loadData(is, myEnableCurvatureScaleAttrib);
1377 loadData(is, myCurvatureScaleAttrib);
1378 loadData(is, myEnableCurvatureAttrib);
1379 loadData(is, myCurvatureAttrib);
1380 loadData(is, myROrd);
1381 loadData(is, myApplyRoll);
1382 loadData(is, myRoll);
1383 loadData(is, myRollPer);
1384 loadData(is, myFullTwists);
1385 loadData(is, myIncRoll);
1386 loadData(is, myRollAttrib);
1387 loadData(is, myApplyYaw);
1388 loadData(is, myYaw);
1389 loadData(is, myYawPer);
1390 loadData(is, myIncYaw);
1391 loadData(is, myYawAttrib);
1392 loadData(is, myApplyPitch);
1393 loadData(is, myPitch);
1394 loadData(is, myPitchPer);
1395 loadData(is, myIncPitch);
1396 loadData(is, myPitchAttrib);
1397 loadData(is, myNormalize);
1398 loadData(is, myScale);
1399 loadData(is, myStretchAroundTurns);
1400 loadData(is, myMaxStretchAroundTurns);
1401 loadData(is, myClass);
1402 loadData(is, myOutputXAxis);
1403 loadData(is, myXAxisName);
1404 loadData(is, myOutputYAxis);
1405 loadData(is, myYAxisName);
1406 loadData(is, myOutputZAxis);
1407 loadData(is, myZAxisName);
1408 loadData(is, myOutputTranslation);
1409 loadData(is, myTranslationName);
1410 loadData(is, myOutputQuaternion);
1411 loadData(is, myQuaternionName);
1412 loadData(is, myOutputTransform3);
1413 loadData(is, myTransform3Name);
1414 loadData(is, myOutputTransform4);
1415 loadData(is, myTransform4Name);
1425 if (!thissop)
return getCurveGroup();
1427 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
1435 if (!thissop)
return getTangentType();
1437 OP_Utils::evalOpParm(result, thissop,
"tangenttype", cookparms.
getCookTime(), 0);
1445 if (!thissop)
return getContinuousClosed();
1447 OP_Utils::evalOpParm(result, thissop,
"continuousclosed", cookparms.
getCookTime(), 0);
1455 if (!thissop)
return getExtrapolateEndTangents();
1457 OP_Utils::evalOpParm(result, thissop,
"extrapolateendtangents", cookparms.
getCookTime(), 0);
1465 if (!thissop)
return getTransformByAttribs();
1467 OP_Utils::evalOpParm(result, thissop,
"transformbyattribs", cookparms.
getCookTime(), 0);
1475 if (!thissop)
return getUpVectorType();
1477 OP_Utils::evalOpParm(result, thissop,
"upvectortype", cookparms.
getCookTime(), 0);
1485 if (!thissop)
return getUpVectorAtStart();
1487 OP_Utils::evalOpParm(result, thissop,
"upvectoratstart", cookparms.
getCookTime(), 0);
1495 if (!thissop)
return getUseEndUpVector();
1497 OP_Utils::evalOpParm(result, thissop,
"useendupvector", cookparms.
getCookTime(), 0);
1505 if (!thissop)
return getUpVectorAttrib();
1507 OP_Utils::evalOpParm(result, thissop,
"upvectorattrib", cookparms.
getCookTime(), 0);
1515 if (!thissop)
return getEndUpVectorAttrib();
1517 OP_Utils::evalOpParm(result, thissop,
"endupvectorattrib", cookparms.
getCookTime(), 0);
1525 if (!thissop)
return getUpVector();
1527 OP_Utils::evalOpParm(result, thissop,
"upvector", cookparms.
getCookTime(), 0);
1535 if (!thissop)
return getEndUpVector();
1537 OP_Utils::evalOpParm(result, thissop,
"endupvector", cookparms.
getCookTime(), 0);
1545 if (!thissop)
return getAdjustUpCurvature();
1547 OP_Utils::evalOpParm(result, thissop,
"adjustupcurvature", cookparms.
getCookTime(), 0);
1555 if (!thissop)
return getCurvatureScale();
1557 OP_Utils::evalOpParm(result, thissop,
"curvaturescale", cookparms.
getCookTime(), 0);
1565 if (!thissop)
return getEnableCurvatureScaleAttrib();
1567 OP_Utils::evalOpParm(result, thissop,
"enablecurvaturescaleattrib", cookparms.
getCookTime(), 0);
1575 if (!thissop)
return getCurvatureScaleAttrib();
1577 OP_Utils::evalOpParm(result, thissop,
"curvaturescaleattrib", cookparms.
getCookTime(), 0);
1585 if (!thissop)
return getEnableCurvatureAttrib();
1587 OP_Utils::evalOpParm(result, thissop,
"enablecurvatureattrib", cookparms.
getCookTime(), 0);
1595 if (!thissop)
return getCurvatureAttrib();
1597 OP_Utils::evalOpParm(result, thissop,
"curvatureattrib", cookparms.
getCookTime(), 0);
1605 if (!thissop)
return getROrd();
1607 OP_Utils::evalOpParm(result, thissop,
"rOrd", cookparms.
getCookTime(), 0);
1608 return ROrd(result);
1615 if (!thissop)
return getApplyRoll();
1617 OP_Utils::evalOpParm(result, thissop,
"applyroll", cookparms.
getCookTime(), 0);
1625 if (!thissop)
return getRoll();
1627 OP_Utils::evalOpParm(result, thissop,
"roll", cookparms.
getCookTime(), 0);
1635 if (!thissop)
return getRollPer();
1637 OP_Utils::evalOpParm(result, thissop,
"rollper", cookparms.
getCookTime(), 0);
1645 if (!thissop)
return getFullTwists();
1647 OP_Utils::evalOpParm(result, thissop,
"fulltwists", cookparms.
getCookTime(), 0);
1655 if (!thissop)
return getIncRoll();
1657 OP_Utils::evalOpParm(result, thissop,
"incroll", cookparms.
getCookTime(), 0);
1665 if (!thissop)
return getRollAttrib();
1667 OP_Utils::evalOpParm(result, thissop,
"rollattrib", cookparms.
getCookTime(), 0);
1675 if (!thissop)
return getApplyYaw();
1677 OP_Utils::evalOpParm(result, thissop,
"applyyaw", cookparms.
getCookTime(), 0);
1685 if (!thissop)
return getYaw();
1687 OP_Utils::evalOpParm(result, thissop,
"yaw", cookparms.
getCookTime(), 0);
1695 if (!thissop)
return getYawPer();
1697 OP_Utils::evalOpParm(result, thissop,
"yawper", cookparms.
getCookTime(), 0);
1705 if (!thissop)
return getIncYaw();
1707 OP_Utils::evalOpParm(result, thissop,
"incyaw", cookparms.
getCookTime(), 0);
1715 if (!thissop)
return getYawAttrib();
1717 OP_Utils::evalOpParm(result, thissop,
"yawattrib", cookparms.
getCookTime(), 0);
1725 if (!thissop)
return getApplyPitch();
1727 OP_Utils::evalOpParm(result, thissop,
"applypitch", cookparms.
getCookTime(), 0);
1735 if (!thissop)
return getPitch();
1737 OP_Utils::evalOpParm(result, thissop,
"pitch", cookparms.
getCookTime(), 0);
1745 if (!thissop)
return getPitchPer();
1747 OP_Utils::evalOpParm(result, thissop,
"pitchper", cookparms.
getCookTime(), 0);
1755 if (!thissop)
return getIncPitch();
1757 OP_Utils::evalOpParm(result, thissop,
"incpitch", cookparms.
getCookTime(), 0);
1765 if (!thissop)
return getPitchAttrib();
1767 OP_Utils::evalOpParm(result, thissop,
"pitchattrib", cookparms.
getCookTime(), 0);
1775 if (!thissop)
return getNormalize();
1777 OP_Utils::evalOpParm(result, thissop,
"normalize", cookparms.
getCookTime(), 0);
1787 OP_Utils::evalOpParm(result, thissop,
"scale", cookparms.
getCookTime(), 0);
1795 if (!thissop)
return getStretchAroundTurns();
1797 OP_Utils::evalOpParm(result, thissop,
"stretcharoundturns", cookparms.
getCookTime(), 0);
1805 if (!thissop)
return getMaxStretchAroundTurns();
1807 OP_Utils::evalOpParm(result, thissop,
"maxstretcharoundturns", cookparms.
getCookTime(), 0);
1815 if (!thissop)
return getClass();
1817 OP_Utils::evalOpParm(result, thissop,
"class", cookparms.
getCookTime(), 0);
1818 return Class(result);
1825 if (!thissop)
return getOutputXAxis();
1827 OP_Utils::evalOpParm(result, thissop,
"outputxaxis", cookparms.
getCookTime(), 0);
1835 if (!thissop)
return getXAxisName();
1837 OP_Utils::evalOpParm(result, thissop,
"xaxisname", cookparms.
getCookTime(), 0);
1845 if (!thissop)
return getOutputYAxis();
1847 OP_Utils::evalOpParm(result, thissop,
"outputyaxis", cookparms.
getCookTime(), 0);
1855 if (!thissop)
return getYAxisName();
1857 OP_Utils::evalOpParm(result, thissop,
"yaxisname", cookparms.
getCookTime(), 0);
1865 if (!thissop)
return getOutputZAxis();
1867 OP_Utils::evalOpParm(result, thissop,
"outputzaxis", cookparms.
getCookTime(), 0);
1875 if (!thissop)
return getZAxisName();
1877 OP_Utils::evalOpParm(result, thissop,
"zaxisname", cookparms.
getCookTime(), 0);
1885 if (!thissop)
return getOutputTranslation();
1887 OP_Utils::evalOpParm(result, thissop,
"outputtranslation", cookparms.
getCookTime(), 0);
1895 if (!thissop)
return getTranslationName();
1897 OP_Utils::evalOpParm(result, thissop,
"translationname", cookparms.
getCookTime(), 0);
1905 if (!thissop)
return getOutputQuaternion();
1907 OP_Utils::evalOpParm(result, thissop,
"outputquaternion", cookparms.
getCookTime(), 0);
1915 if (!thissop)
return getQuaternionName();
1917 OP_Utils::evalOpParm(result, thissop,
"quaternionname", cookparms.
getCookTime(), 0);
1925 if (!thissop)
return getOutputTransform3();
1927 OP_Utils::evalOpParm(result, thissop,
"outputtransform3", cookparms.
getCookTime(), 0);
1935 if (!thissop)
return getTransform3Name();
1937 OP_Utils::evalOpParm(result, thissop,
"transform3name", cookparms.
getCookTime(), 0);
1945 if (!thissop)
return getOutputTransform4();
1947 OP_Utils::evalOpParm(result, thissop,
"outputtransform4", cookparms.
getCookTime(), 0);
1955 if (!thissop)
return getTransform4Name();
1957 OP_Utils::evalOpParm(result, thissop,
"transform4name", cookparms.
getCookTime(), 0);
1963 int64 myTangentType;
1964 bool myContinuousClosed;
1965 bool myExtrapolateEndTangents;
1966 bool myTransformByAttribs;
1967 int64 myUpVectorType;
1968 bool myUpVectorAtStart;
1969 bool myUseEndUpVector;
1974 bool myAdjustUpCurvature;
1976 int64 myEnableCurvatureScaleAttrib;
1978 bool myEnableCurvatureAttrib;
1999 bool myStretchAroundTurns;
2008 bool myOutputTranslation;
2010 bool myOutputQuaternion;
2012 bool myOutputTransform3;
2014 bool myOutputTransform4;
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
static void loadData(UT_IStream &is, UT_Matrix3D &v)
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
bool opOutputTranslation(const SOP_NodeVerb::CookParms &cookparms) const
void setStretchAroundTurns(bool val)
void setTranslationName(const UT_StringHolder &val)
void setCurvatureScaleAttrib(const UT_StringHolder &val)
TangentType opTangentType(const SOP_NodeVerb::CookParms &cookparms) const
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
void setOutputTransform3(bool val)
fpreal64 opIncPitch(const SOP_NodeVerb::CookParms &cookparms) const
void setContinuousClosed(bool val)
void setEnableCurvatureScaleAttrib(EnableCurvatureScaleAttrib val)
static void saveData(std::ostream &os, UT_Matrix2D v)
UpVectorType opUpVectorType(const SOP_NodeVerb::CookParms &cookparms) const
void setOutputTransform4(bool val)
const UT_StringHolder & getQuaternionName() const
SOP_Node * getNode() const
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
bool opOutputTransform4(const SOP_NodeVerb::CookParms &cookparms) const
bool opExtrapolateEndTangents(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
void setOutputXAxis(bool val)
const char * getNestParmName(TempIndex fieldnum) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
Class opClass(const SOP_NodeVerb::CookParms &cookparms) const
void setUpVectorAtStart(bool val)
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
UT_Vector3D opUpVector(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector2I &v)
const UT_StringHolder & getYawAttrib() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
bool getOutputTransform3() const
void setExtrapolateEndTangents(bool val)
const UT_StringHolder & getTransform4Name() const
exint bread(int32 *buffer, exint asize=1)
static void loadData(UT_IStream &is, UT_Vector4D &v)
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
UT_Vector3D getEndUpVector() const
void setOutputYAxis(bool val)
void setTransform3Name(const UT_StringHolder &val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
bool getOutputYAxis() const
bool opOutputTransform3(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D getUpVector() const
const OP_Context & context() const
bool getOutputZAxis() const
fpreal64 opRoll(const SOP_NodeVerb::CookParms &cookparms) const
void setRoll(fpreal64 val)
static void loadData(UT_IStream &is, fpreal64 &v)
fpreal64 opIncYaw(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & z() noexcept
const UT_StringHolder & getYAxisName() const
bool opUpVectorAtStart(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE const char * buffer() const
void setXAxisName(const UT_StringHolder &val)
An output stream object that owns its own string buffer storage.
bool getTransformByAttribs() const
void setTransform4Name(const UT_StringHolder &val)
const UT_StringHolder & getRollAttrib() const
void setEndUpVectorAttrib(const UT_StringHolder &val)
**But if you need a result
void setOutputTranslation(bool val)
static void loadData(UT_IStream &is, UT_Vector4I &v)
void setUpVectorType(UpVectorType val)
bool operator==(const SOP_CurveFrameParms &src) const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
static void loadData(UT_IStream &is, UT_Matrix2D &v)
static void saveData(std::ostream &os, UT_StringHolder s)
UT_StringHolder opTransform4Name(const SOP_NodeVerb::CookParms &cookparms) 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.
static void saveData(std::ostream &os, UT_Vector3D v)
void save(std::ostream &os) const
const UT_StringHolder & getTranslationName() const
void setYawPer(YawPer val)
const UT_StringHolder & getUpVectorAttrib() const
constexpr SYS_FORCE_INLINE T & x() noexcept
void setUpVector(UT_Vector3D val)
bool load(UT_IStream &is)
void setEndUpVector(UT_Vector3D val)
void setIncPitch(fpreal64 val)
bool opOutputQuaternion(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
void setPitchPer(PitchPer val)
constexpr SYS_FORCE_INLINE T & x() noexcept
PitchPer getPitchPer() const
static void saveData(std::ostream &os, UT_Vector4D v)
static void saveData(std::ostream &os, bool v)
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
ParmType getNestParmType(TempIndex fieldnum) const override
void setZAxisName(const UT_StringHolder &val)
bool getOutputQuaternion() const
bool getUseEndUpVector() const
bool getUpVectorAtStart() const
EnableCurvatureScaleAttrib getEnableCurvatureScaleAttrib() const
fpreal64 opCurvatureScale(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getIncYaw() const
UT_StringHolder opCurvatureAttrib(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opYaw(const SOP_NodeVerb::CookParms &cookparms) const
UpVectorType getUpVectorType() const
bool getContinuousClosed() const
void setCurveGroup(const UT_StringHolder &val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
bool opStretchAroundTurns(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
bool opAdjustUpCurvature(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & z() noexcept
bool isParmColorRamp(exint idx) const override
EnableCurvatureScaleAttrib opEnableCurvatureScaleAttrib(const SOP_NodeVerb::CookParms &cookparms) const
const OP_GraphProxy * graph() const
fpreal64 getIncRoll() const
UT_StringHolder opTransform3Name(const SOP_NodeVerb::CookParms &cookparms) const
void setCurvatureScale(fpreal64 val)
static void loadData(UT_IStream &is, bool &v)
void setCurvatureAttrib(const UT_StringHolder &val)
UT_StringHolder opCurvatureScaleAttrib(const SOP_NodeVerb::CookParms &cookparms) const
bool getOutputXAxis() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
void setApplyRoll(bool val)
static void saveData(std::ostream &os, UT_Matrix4D v)
void setPitchAttrib(const UT_StringHolder &val)
const UT_StringHolder & getZAxisName() const
void setYawAttrib(const UT_StringHolder &val)
RollPer opRollPer(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
TangentType getTangentType() const
bool getEnableCurvatureAttrib() const
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
UT_Vector3T< fpreal64 > UT_Vector3D
static void saveData(std::ostream &os, fpreal64 v)
UT_Vector3D opEndUpVector(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opEndUpVectorAttrib(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getCurveGroup() const
void setApplyYaw(bool val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
UT_StringHolder opRollAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setOutputQuaternion(bool val)
bool opApplyRoll(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector3I &v)
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
void setIncYaw(fpreal64 val)
bool opApplyYaw(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseEndUpVector(const SOP_NodeVerb::CookParms &cookparms) const
void setUpVectorAttrib(const UT_StringHolder &val)
EnableCurvatureScaleAttrib
fpreal64 getScale() const
UT_StringHolder opUpVectorAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void saveBinary(std::ostream &os) const
Save string to binary stream.
RollPer getRollPer() const
UT_StringHolder opPitchAttrib(const SOP_NodeVerb::CookParms &cookparms) const
bool getApplyPitch() const
bool opNormalize(const SOP_NodeVerb::CookParms &cookparms) const
GT_API const UT_StringHolder version
SYS_FORCE_INLINE UT_StringHolder getToken(TangentType enum_value)
UT_StringHolder opZAxisName(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opQuaternionName(const SOP_NodeVerb::CookParms &cookparms) const
PitchPer opPitchPer(const SOP_NodeVerb::CookParms &cookparms) const
void setTangentType(TangentType val)
fpreal64 getIncPitch() const
fpreal64 getPitch() const
fpreal64 getMaxStretchAroundTurns() const
void setScale(fpreal64 val)
fpreal64 getCurvatureScale() const
void setRollAttrib(const UT_StringHolder &val)
bool opTransformByAttribs(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Vector2D v)
exint getNestNumParms(TempIndex idx) const override
const UT_StringHolder & getPitchAttrib() const
const UT_StringHolder & getXAxisName() const
YawPer opYawPer(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
DEP_MicroNode * depnode() const
LeafData & operator=(const LeafData &)=delete
void setOutputZAxis(bool val)
Utility class for containing a color ramp.
bool getNormalize() const
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
bool getOutputTransform4() const
UT_StringHolder opXAxisName(const SOP_NodeVerb::CookParms &cookparms) const
void setUseEndUpVector(bool val)
bool opOutputXAxis(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & w() noexcept
void setTransformByAttribs(bool val)
const UT_StringHolder & getCurvatureScaleAttrib() const
UT_StringHolder opTranslationName(const SOP_NodeVerb::CookParms &cookparms) const
ROrd opROrd(const SOP_NodeVerb::CookParms &cookparms) 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 setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
bool getOutputTranslation() const
fpreal getCookTime() const
bool opOutputYAxis(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_StringHolder &v)
static void loadData(UT_IStream &is, UT_Vector2D &v)
const UT_StringHolder & getCurvatureAttrib() const
static void saveData(std::ostream &os, UT_Matrix3D v)
int64 opFullTwists(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, int64 v)
const char * findChar(int c) const
int64 getFullTwists() const
bool operator!=(const SOP_CurveFrameParms &src) const
UT_StringHolder opYAxisName(const SOP_NodeVerb::CookParms &cookparms) const
void setAdjustUpCurvature(bool val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
const UT_StringHolder & getEndUpVectorAttrib() const
void copyFrom(const OP_NodeParms *src) override
bool opContinuousClosed(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & y() noexcept
bool getAdjustUpCurvature() const
void setApplyPitch(bool val)
static void loadData(UT_IStream &is, int64 &v)
void setEnableCurvatureAttrib(bool val)
bool getStretchAroundTurns() const
static void loadData(UT_IStream &is, UT_Vector3D &v)
void setRollPer(RollPer val)
bool opEnableCurvatureAttrib(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opYawAttrib(const SOP_NodeVerb::CookParms &cookparms) const
bool opApplyPitch(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opCurveGroup(const SOP_NodeVerb::CookParms &cookparms) const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
fpreal64 opMaxStretchAroundTurns(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opScale(const SOP_NodeVerb::CookParms &cookparms) const
void loadFromOpSubclass(const LoadParms &loadparms) override
bool getApplyRoll() const
bool opOutputZAxis(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & y() noexcept
SYS_FORCE_INLINE bool isstring() const
void setQuaternionName(const UT_StringHolder &val)
void setFullTwists(int64 val)
fpreal64 opPitch(const SOP_NodeVerb::CookParms &cookparms) const
void setYaw(fpreal64 val)
void setNormalize(bool val)
void setPitch(fpreal64 val)
void setYAxisName(const UT_StringHolder &val)
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
const UT_StringHolder & getTransform3Name() const
bool getExtrapolateEndTangents() const
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
void setIncRoll(fpreal64 val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
void setMaxStretchAroundTurns(fpreal64 val)
constexpr SYS_FORCE_INLINE T & x() noexcept
fpreal64 opIncRoll(const SOP_NodeVerb::CookParms &cookparms) const