23 namespace SOP_CurveFrameEnums
95 myCurveGroup =
""_UTsh;
97 myContinuousClosed =
true;
98 myExtrapolateEndTangents =
false;
99 myTransformByAttribs =
false;
101 myUpVectorAtStart =
true;
102 myUseEndUpVector =
false;
103 myUpVectorAttrib =
"target_up"_UTsh;
104 myEndUpVectorAttrib =
"target_up_end"_UTsh;
107 myAdjustUpCurvature =
false;
108 myCurvatureScale = 1;
109 myEnableCurvatureScaleAttrib = 0;
110 myCurvatureScaleAttrib =
"speed"_UTsh;
111 myEnableCurvatureAttrib =
false;
112 myCurvatureAttrib =
"curvature"_UTsh;
119 myRollAttrib =
"roll"_UTsh;
124 myYawAttrib =
"yaw"_UTsh;
125 myApplyPitch =
false;
129 myPitchAttrib =
"pitch"_UTsh;
132 myStretchAroundTurns =
false;
133 myMaxStretchAroundTurns = 10;
135 myOutputXAxis =
false;
136 myXAxisName =
"out"_UTsh;
137 myOutputYAxis =
true;
138 myYAxisName =
"up"_UTsh;
139 myOutputZAxis =
true;
140 myZAxisName =
"N"_UTsh;
141 myOutputTranslation =
false;
142 myTranslationName =
"P"_UTsh;
143 myOutputQuaternion =
false;
144 myQuaternionName =
"orient"_UTsh;
145 myOutputTransform3 =
false;
146 myTransform3Name =
"transform"_UTsh;
147 myOutputTransform4 =
false;
148 myTransform4Name =
"transform"_UTsh;
161 if (myCurveGroup != src.myCurveGroup)
return false;
162 if (myTangentType != src.myTangentType)
return false;
163 if (myContinuousClosed != src.myContinuousClosed)
return false;
164 if (myExtrapolateEndTangents != src.myExtrapolateEndTangents)
return false;
165 if (myTransformByAttribs != src.myTransformByAttribs)
return false;
166 if (myUpVectorType != src.myUpVectorType)
return false;
167 if (myUpVectorAtStart != src.myUpVectorAtStart)
return false;
168 if (myUseEndUpVector != src.myUseEndUpVector)
return false;
169 if (myUpVectorAttrib != src.myUpVectorAttrib)
return false;
170 if (myEndUpVectorAttrib != src.myEndUpVectorAttrib)
return false;
171 if (myUpVector != src.myUpVector)
return false;
172 if (myEndUpVector != src.myEndUpVector)
return false;
173 if (myAdjustUpCurvature != src.myAdjustUpCurvature)
return false;
174 if (myCurvatureScale != src.myCurvatureScale)
return false;
175 if (myEnableCurvatureScaleAttrib != src.myEnableCurvatureScaleAttrib)
return false;
176 if (myCurvatureScaleAttrib != src.myCurvatureScaleAttrib)
return false;
177 if (myEnableCurvatureAttrib != src.myEnableCurvatureAttrib)
return false;
178 if (myCurvatureAttrib != src.myCurvatureAttrib)
return false;
179 if (myROrd != src.myROrd)
return false;
180 if (myApplyRoll != src.myApplyRoll)
return false;
181 if (myRoll != src.myRoll)
return false;
182 if (myRollPer != src.myRollPer)
return false;
183 if (myFullTwists != src.myFullTwists)
return false;
184 if (myIncRoll != src.myIncRoll)
return false;
185 if (myRollAttrib != src.myRollAttrib)
return false;
186 if (myApplyYaw != src.myApplyYaw)
return false;
187 if (myYaw != src.myYaw)
return false;
188 if (myYawPer != src.myYawPer)
return false;
189 if (myIncYaw != src.myIncYaw)
return false;
190 if (myYawAttrib != src.myYawAttrib)
return false;
191 if (myApplyPitch != src.myApplyPitch)
return false;
192 if (myPitch != src.myPitch)
return false;
193 if (myPitchPer != src.myPitchPer)
return false;
194 if (myIncPitch != src.myIncPitch)
return false;
195 if (myPitchAttrib != src.myPitchAttrib)
return false;
196 if (myNormalize != src.myNormalize)
return false;
197 if (myScale != src.myScale)
return false;
198 if (myStretchAroundTurns != src.myStretchAroundTurns)
return false;
199 if (myMaxStretchAroundTurns != src.myMaxStretchAroundTurns)
return false;
200 if (myClass != src.myClass)
return false;
201 if (myOutputXAxis != src.myOutputXAxis)
return false;
202 if (myXAxisName != src.myXAxisName)
return false;
203 if (myOutputYAxis != src.myOutputYAxis)
return false;
204 if (myYAxisName != src.myYAxisName)
return false;
205 if (myOutputZAxis != src.myOutputZAxis)
return false;
206 if (myZAxisName != src.myZAxisName)
return false;
207 if (myOutputTranslation != src.myOutputTranslation)
return false;
208 if (myTranslationName != src.myTranslationName)
return false;
209 if (myOutputQuaternion != src.myOutputQuaternion)
return false;
210 if (myQuaternionName != src.myQuaternionName)
return false;
211 if (myOutputTransform3 != src.myOutputTransform3)
return false;
212 if (myTransform3Name != src.myTransform3Name)
return false;
213 if (myOutputTransform4 != src.myOutputTransform4)
return false;
214 if (myTransform4Name != src.myTransform4Name)
return false;
235 myCurveGroup =
""_UTsh;
237 graph->
evalOpParm(myCurveGroup, nodeidx,
"group", time, 0);
240 graph->
evalOpParm(myTangentType, nodeidx,
"tangenttype", time, 0);
241 myContinuousClosed =
true;
242 if (
true && ( (
true&&!(((
int64(getTangentType())==4)))) ) )
243 graph->
evalOpParm(myContinuousClosed, nodeidx,
"continuousclosed", time, 0);
244 myExtrapolateEndTangents =
false;
245 if (
true && ( (
true&&!(((
int64(getTangentType())==4)))) ) )
246 graph->
evalOpParm(myExtrapolateEndTangents, nodeidx,
"extrapolateendtangents", time, 0);
247 myTransformByAttribs =
false;
249 graph->
evalOpParm(myTransformByAttribs, nodeidx,
"transformbyattribs", time, 0);
251 if (
true && ( (
true&&!(((
int64(getTangentType())==4)))) ) )
252 graph->
evalOpParm(myUpVectorType, nodeidx,
"upvectortype", time, 0);
253 myUpVectorAtStart =
true;
254 if (
true && ( (
true&&!(((
int64(getTangentType())==4)))) ) )
255 graph->
evalOpParm(myUpVectorAtStart, nodeidx,
"upvectoratstart", time, 0);
256 myUseEndUpVector =
false;
257 if (
true && ( (
true&&!(((
int64(getTangentType())==4))||((getUpVectorAtStart()==0)))) ) )
258 graph->
evalOpParm(myUseEndUpVector, nodeidx,
"useendupvector", time, 0);
259 myUpVectorAttrib =
"target_up"_UTsh;
260 if (
true && ( (
true&&!(((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=4))||((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=4)))) ) )
261 graph->
evalOpParm(myUpVectorAttrib, nodeidx,
"upvectorattrib", time, 0);
262 myEndUpVectorAttrib =
"target_up_end"_UTsh;
263 if (
true && ( (
true&&!(((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=4))||((getUseEndUpVector()==0))||((getUpVectorAtStart()==0))||((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=4))||((getUseEndUpVector()==0))||((getUpVectorAtStart()==0)))) ) )
264 graph->
evalOpParm(myEndUpVectorAttrib, nodeidx,
"endupvectorattrib", time, 0);
266 if (
true && ( (
true&&!(((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=5))||((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=5)))) ) )
267 graph->
evalOpParm(myUpVector, nodeidx,
"upvector", time, 0);
269 if (
true && ( (
true&&!(((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=5))||((getUseEndUpVector()==0))||((getUpVectorAtStart()==0))||((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=5))||((getUseEndUpVector()==0))||((getUpVectorAtStart()==0)))) ) )
270 graph->
evalOpParm(myEndUpVector, nodeidx,
"endupvector", time, 0);
271 myAdjustUpCurvature =
false;
273 graph->
evalOpParm(myAdjustUpCurvature, nodeidx,
"adjustupcurvature", time, 0);
274 myCurvatureScale = 1;
275 if (
true && ( (
true&&!(((getAdjustUpCurvature()==0)))) ) )
276 graph->
evalOpParm(myCurvatureScale, nodeidx,
"curvaturescale", time, 0);
277 myEnableCurvatureScaleAttrib = 0;
278 if (
true && ( (
true&&!(((getAdjustUpCurvature()==0)))) ) )
279 graph->
evalOpParm(myEnableCurvatureScaleAttrib, nodeidx,
"enablecurvaturescaleattrib", time, 0);
280 myCurvatureScaleAttrib =
"speed"_UTsh;
281 if (
true && ( (
true&&!(((getAdjustUpCurvature()==0))||((
int64(getEnableCurvatureScaleAttrib())==0)))) ) )
282 graph->
evalOpParm(myCurvatureScaleAttrib, nodeidx,
"curvaturescaleattrib", time, 0);
283 myEnableCurvatureAttrib =
false;
284 if (
true && ( (
true&&!(((getAdjustUpCurvature()==0)))) ) )
285 graph->
evalOpParm(myEnableCurvatureAttrib, nodeidx,
"enablecurvatureattrib", time, 0);
286 myCurvatureAttrib =
"curvature"_UTsh;
287 if (
true && ( (
true&&!(((getAdjustUpCurvature()==0))||((getEnableCurvatureAttrib()==0)))) ) )
288 graph->
evalOpParm(myCurvatureAttrib, nodeidx,
"curvatureattrib", time, 0);
291 graph->
evalOpParm(myROrd, nodeidx,
"rOrd", time, 0);
294 graph->
evalOpParm(myApplyRoll, nodeidx,
"applyroll", time, 0);
296 if (
true && ( (
true&&!(((getApplyRoll()==0)))) ) )
297 graph->
evalOpParm(myRoll, nodeidx,
"roll", time, 0);
299 if (
true && ( (
true&&!(((getApplyRoll()==0)))) ) )
300 graph->
evalOpParm(myRollPer, nodeidx,
"rollper", time, 0);
302 if (
true && ( (
true&&!(((getApplyRoll()==0)))) ) )
303 graph->
evalOpParm(myFullTwists, nodeidx,
"fulltwists", time, 0);
305 if (
true && ( (
true&&!(((getApplyRoll()==0)))) ) )
306 graph->
evalOpParm(myIncRoll, nodeidx,
"incroll", time, 0);
307 myRollAttrib =
"roll"_UTsh;
308 if (
true && ( (
true&&!(((getApplyRoll()==0))||((getApplyRoll()==1)&&(
int64(getRollPer())!=2))||((getApplyRoll()==0))||((getApplyRoll()==1)&&(
int64(getRollPer())!=2)))) ) )
309 graph->
evalOpParm(myRollAttrib, nodeidx,
"rollattrib", time, 0);
312 graph->
evalOpParm(myApplyYaw, nodeidx,
"applyyaw", time, 0);
314 if (
true && ( (
true&&!(((getApplyYaw()==0)))) ) )
315 graph->
evalOpParm(myYaw, nodeidx,
"yaw", time, 0);
317 if (
true && ( (
true&&!(((getApplyYaw()==0)))) ) )
318 graph->
evalOpParm(myYawPer, nodeidx,
"yawper", time, 0);
320 if (
true && ( (
true&&!(((getApplyYaw()==0)))) ) )
321 graph->
evalOpParm(myIncYaw, nodeidx,
"incyaw", time, 0);
322 myYawAttrib =
"yaw"_UTsh;
323 if (
true && ( (
true&&!(((getApplyYaw()==0))||((getApplyYaw()==1)&&(
int64(getYawPer())!=2))||((getApplyYaw()==0))||((getApplyYaw()==1)&&(
int64(getYawPer())!=2)))) ) )
324 graph->
evalOpParm(myYawAttrib, nodeidx,
"yawattrib", time, 0);
325 myApplyPitch =
false;
327 graph->
evalOpParm(myApplyPitch, nodeidx,
"applypitch", time, 0);
329 if (
true && ( (
true&&!(((getApplyPitch()==0)))) ) )
330 graph->
evalOpParm(myPitch, nodeidx,
"pitch", time, 0);
332 if (
true && ( (
true&&!(((getApplyPitch()==0)))) ) )
333 graph->
evalOpParm(myPitchPer, nodeidx,
"pitchper", time, 0);
335 if (
true && ( (
true&&!(((getApplyPitch()==0)))) ) )
336 graph->
evalOpParm(myIncPitch, nodeidx,
"incpitch", time, 0);
337 myPitchAttrib =
"pitch"_UTsh;
338 if (
true && ( (
true&&!(((getApplyPitch()==0))||((getApplyPitch()==1)&&(
int64(getPitchPer())!=2))||((getApplyPitch()==0))||((getApplyPitch()==1)&&(
int64(getPitchPer())!=2)))) ) )
339 graph->
evalOpParm(myPitchAttrib, nodeidx,
"pitchattrib", time, 0);
342 graph->
evalOpParm(myNormalize, nodeidx,
"normalize", time, 0);
345 graph->
evalOpParm(myScale, nodeidx,
"scale", time, 0);
346 myStretchAroundTurns =
false;
348 graph->
evalOpParm(myStretchAroundTurns, nodeidx,
"stretcharoundturns", time, 0);
349 myMaxStretchAroundTurns = 10;
350 if (
true && ( (
true&&!(((getStretchAroundTurns()==0)))) ) )
351 graph->
evalOpParm(myMaxStretchAroundTurns, nodeidx,
"maxstretcharoundturns", time, 0);
354 graph->
evalOpParm(myClass, nodeidx,
"class", time, 0);
355 myOutputXAxis =
false;
357 graph->
evalOpParm(myOutputXAxis, nodeidx,
"outputxaxis", time, 0);
358 myXAxisName =
"out"_UTsh;
359 if (
true && ( (
true&&!(((getOutputXAxis()==0)))) ) )
360 graph->
evalOpParm(myXAxisName, nodeidx,
"xaxisname", time, 0);
361 myOutputYAxis =
true;
363 graph->
evalOpParm(myOutputYAxis, nodeidx,
"outputyaxis", time, 0);
364 myYAxisName =
"up"_UTsh;
365 if (
true && ( (
true&&!(((getOutputYAxis()==0)))) ) )
366 graph->
evalOpParm(myYAxisName, nodeidx,
"yaxisname", time, 0);
367 myOutputZAxis =
true;
369 graph->
evalOpParm(myOutputZAxis, nodeidx,
"outputzaxis", time, 0);
370 myZAxisName =
"N"_UTsh;
371 if (
true && ( (
true&&!(((getOutputZAxis()==0)))) ) )
372 graph->
evalOpParm(myZAxisName, nodeidx,
"zaxisname", time, 0);
373 myOutputTranslation =
false;
375 graph->
evalOpParm(myOutputTranslation, nodeidx,
"outputtranslation", time, 0);
376 myTranslationName =
"P"_UTsh;
377 if (
true && ( (
true&&!(((getOutputTranslation()==0)))) ) )
378 graph->
evalOpParm(myTranslationName, nodeidx,
"translationname", time, 0);
379 myOutputQuaternion =
false;
381 graph->
evalOpParm(myOutputQuaternion, nodeidx,
"outputquaternion", time, 0);
382 myQuaternionName =
"orient"_UTsh;
383 if (
true && ( (
true&&!(((getOutputQuaternion()==0)))) ) )
384 graph->
evalOpParm(myQuaternionName, nodeidx,
"quaternionname", time, 0);
385 myOutputTransform3 =
false;
387 graph->
evalOpParm(myOutputTransform3, nodeidx,
"outputtransform3", time, 0);
388 myTransform3Name =
"transform"_UTsh;
389 if (
true && ( (
true&&!(((getOutputTransform3()==0)))) ) )
390 graph->
evalOpParm(myTransform3Name, nodeidx,
"transform3name", time, 0);
391 myOutputTransform4 =
false;
393 graph->
evalOpParm(myOutputTransform4, nodeidx,
"outputtransform4", time, 0);
394 myTransform4Name =
"transform"_UTsh;
395 if (
true && ( (
true&&!(((getOutputTransform4()==0)))) ) )
396 graph->
evalOpParm(myTransform4Name, nodeidx,
"transform4name", time, 0);
412 template <
typename T>
419 if (idx.
size() != instance.
size()+1)
599 { doGetParmValue(idx, instance, value); }
601 { doGetParmValue(idx, instance, value); }
603 { doGetParmValue(idx, instance, value); }
605 { doGetParmValue(idx, instance, value); }
607 { doGetParmValue(idx, instance, value); }
609 { doGetParmValue(idx, instance, value); }
611 { doGetParmValue(idx, instance, value); }
613 { doGetParmValue(idx, instance, value); }
615 { doGetParmValue(idx, instance, value); }
617 { doGetParmValue(idx, instance, value); }
619 { doGetParmValue(idx, instance, value); }
621 template <
typename T>
628 if (idx.
size() != instance.
size()+1)
642 coerceValue(myExtrapolateEndTangents, ( ( value ) ));
678 coerceValue(myCurvatureScaleAttrib, ( ( value ) ));
681 coerceValue(myEnableCurvatureAttrib, ( ( value ) ));
799 { doSetParmValue(idx, instance, value); }
801 { doSetParmValue(idx, instance, value); }
803 { doSetParmValue(idx, instance, value); }
805 { doSetParmValue(idx, instance, value); }
807 { doSetParmValue(idx, instance, value); }
809 { doSetParmValue(idx, instance, value); }
811 { doSetParmValue(idx, instance, value); }
813 { doSetParmValue(idx, instance, value); }
815 { doSetParmValue(idx, instance, value); }
817 { doSetParmValue(idx, instance, value); }
819 { doSetParmValue(idx, instance, value); }
835 if (fieldnum.
size() < 1)
842 return "tangenttype";
844 return "continuousclosed";
846 return "extrapolateendtangents";
848 return "transformbyattribs";
850 return "upvectortype";
852 return "upvectoratstart";
854 return "useendupvector";
856 return "upvectorattrib";
858 return "endupvectorattrib";
862 return "endupvector";
864 return "adjustupcurvature";
866 return "curvaturescale";
868 return "enablecurvaturescaleattrib";
870 return "curvaturescaleattrib";
872 return "enablecurvatureattrib";
874 return "curvatureattrib";
908 return "pitchattrib";
914 return "stretcharoundturns";
916 return "maxstretcharoundturns";
920 return "outputxaxis";
924 return "outputyaxis";
928 return "outputzaxis";
932 return "outputtranslation";
934 return "translationname";
936 return "outputquaternion";
938 return "quaternionname";
940 return "outputtransform3";
942 return "transform3name";
944 return "outputtransform4";
946 return "transform4name";
954 if (fieldnum.
size() < 1)
955 return PARM_UNSUPPORTED;
1073 { is.
bread(&v, 1); }
1087 {
for (
int r = 0;
r < 2;
r++)
for (
int c = 0; c < 2; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
1089 {
for (
int r = 0;
r < 3;
r++)
for (
int c = 0; c < 3; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
1091 {
for (
int r = 0;
r < 4;
r++)
for (
int c = 0; c < 4; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
1104 loadData(is, rampdata);
1122 int typelen = colon - data.
buffer();
1134 { UTwrite(os, &v); }
1136 {
int64 iv =
v; UTwrite(os, &iv); }
1138 { UTwrite<fpreal64>(os, &
v); }
1140 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1142 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1143 UTwrite<fpreal64>(os, &v.
z()); }
1145 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1146 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1158 if (s) s->save(ostr);
1159 result = ostr.
str();
1160 saveData(os, result);
1167 ostr << s->getDataTypeToken();
1169 s->saveBinary(ostr);
1171 result = ostr.
str();
1172 saveData(os, result);
1180 saveData(os, myCurveGroup);
1181 saveData(os, myTangentType);
1182 saveData(os, myContinuousClosed);
1183 saveData(os, myExtrapolateEndTangents);
1184 saveData(os, myTransformByAttribs);
1185 saveData(os, myUpVectorType);
1186 saveData(os, myUpVectorAtStart);
1187 saveData(os, myUseEndUpVector);
1188 saveData(os, myUpVectorAttrib);
1189 saveData(os, myEndUpVectorAttrib);
1190 saveData(os, myUpVector);
1191 saveData(os, myEndUpVector);
1192 saveData(os, myAdjustUpCurvature);
1193 saveData(os, myCurvatureScale);
1194 saveData(os, myEnableCurvatureScaleAttrib);
1195 saveData(os, myCurvatureScaleAttrib);
1196 saveData(os, myEnableCurvatureAttrib);
1197 saveData(os, myCurvatureAttrib);
1198 saveData(os, myROrd);
1199 saveData(os, myApplyRoll);
1200 saveData(os, myRoll);
1201 saveData(os, myRollPer);
1202 saveData(os, myFullTwists);
1203 saveData(os, myIncRoll);
1204 saveData(os, myRollAttrib);
1205 saveData(os, myApplyYaw);
1206 saveData(os, myYaw);
1207 saveData(os, myYawPer);
1208 saveData(os, myIncYaw);
1209 saveData(os, myYawAttrib);
1210 saveData(os, myApplyPitch);
1211 saveData(os, myPitch);
1212 saveData(os, myPitchPer);
1213 saveData(os, myIncPitch);
1214 saveData(os, myPitchAttrib);
1215 saveData(os, myNormalize);
1216 saveData(os, myScale);
1217 saveData(os, myStretchAroundTurns);
1218 saveData(os, myMaxStretchAroundTurns);
1219 saveData(os, myClass);
1220 saveData(os, myOutputXAxis);
1221 saveData(os, myXAxisName);
1222 saveData(os, myOutputYAxis);
1223 saveData(os, myYAxisName);
1224 saveData(os, myOutputZAxis);
1225 saveData(os, myZAxisName);
1226 saveData(os, myOutputTranslation);
1227 saveData(os, myTranslationName);
1228 saveData(os, myOutputQuaternion);
1229 saveData(os, myQuaternionName);
1230 saveData(os, myOutputTransform3);
1231 saveData(os, myTransform3Name);
1232 saveData(os, myOutputTransform4);
1233 saveData(os, myTransform4Name);
1246 loadData(is, myCurveGroup);
1247 loadData(is, myTangentType);
1248 loadData(is, myContinuousClosed);
1249 loadData(is, myExtrapolateEndTangents);
1250 loadData(is, myTransformByAttribs);
1251 loadData(is, myUpVectorType);
1252 loadData(is, myUpVectorAtStart);
1253 loadData(is, myUseEndUpVector);
1254 loadData(is, myUpVectorAttrib);
1255 loadData(is, myEndUpVectorAttrib);
1256 loadData(is, myUpVector);
1257 loadData(is, myEndUpVector);
1258 loadData(is, myAdjustUpCurvature);
1259 loadData(is, myCurvatureScale);
1260 loadData(is, myEnableCurvatureScaleAttrib);
1261 loadData(is, myCurvatureScaleAttrib);
1262 loadData(is, myEnableCurvatureAttrib);
1263 loadData(is, myCurvatureAttrib);
1264 loadData(is, myROrd);
1265 loadData(is, myApplyRoll);
1266 loadData(is, myRoll);
1267 loadData(is, myRollPer);
1268 loadData(is, myFullTwists);
1269 loadData(is, myIncRoll);
1270 loadData(is, myRollAttrib);
1271 loadData(is, myApplyYaw);
1272 loadData(is, myYaw);
1273 loadData(is, myYawPer);
1274 loadData(is, myIncYaw);
1275 loadData(is, myYawAttrib);
1276 loadData(is, myApplyPitch);
1277 loadData(is, myPitch);
1278 loadData(is, myPitchPer);
1279 loadData(is, myIncPitch);
1280 loadData(is, myPitchAttrib);
1281 loadData(is, myNormalize);
1282 loadData(is, myScale);
1283 loadData(is, myStretchAroundTurns);
1284 loadData(is, myMaxStretchAroundTurns);
1285 loadData(is, myClass);
1286 loadData(is, myOutputXAxis);
1287 loadData(is, myXAxisName);
1288 loadData(is, myOutputYAxis);
1289 loadData(is, myYAxisName);
1290 loadData(is, myOutputZAxis);
1291 loadData(is, myZAxisName);
1292 loadData(is, myOutputTranslation);
1293 loadData(is, myTranslationName);
1294 loadData(is, myOutputQuaternion);
1295 loadData(is, myQuaternionName);
1296 loadData(is, myOutputTransform3);
1297 loadData(is, myTransform3Name);
1298 loadData(is, myOutputTransform4);
1299 loadData(is, myTransform4Name);
1309 if (!thissop)
return getCurveGroup();
1311 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
1319 if (!thissop)
return getTangentType();
1321 OP_Utils::evalOpParm(result, thissop,
"tangenttype", cookparms.
getCookTime(), 0);
1329 if (!thissop)
return getContinuousClosed();
1331 OP_Utils::evalOpParm(result, thissop,
"continuousclosed", cookparms.
getCookTime(), 0);
1339 if (!thissop)
return getExtrapolateEndTangents();
1341 OP_Utils::evalOpParm(result, thissop,
"extrapolateendtangents", cookparms.
getCookTime(), 0);
1349 if (!thissop)
return getTransformByAttribs();
1351 OP_Utils::evalOpParm(result, thissop,
"transformbyattribs", cookparms.
getCookTime(), 0);
1359 if (!thissop)
return getUpVectorType();
1361 OP_Utils::evalOpParm(result, thissop,
"upvectortype", cookparms.
getCookTime(), 0);
1369 if (!thissop)
return getUpVectorAtStart();
1371 OP_Utils::evalOpParm(result, thissop,
"upvectoratstart", cookparms.
getCookTime(), 0);
1379 if (!thissop)
return getUseEndUpVector();
1381 OP_Utils::evalOpParm(result, thissop,
"useendupvector", cookparms.
getCookTime(), 0);
1389 if (!thissop)
return getUpVectorAttrib();
1391 OP_Utils::evalOpParm(result, thissop,
"upvectorattrib", cookparms.
getCookTime(), 0);
1399 if (!thissop)
return getEndUpVectorAttrib();
1401 OP_Utils::evalOpParm(result, thissop,
"endupvectorattrib", cookparms.
getCookTime(), 0);
1409 if (!thissop)
return getUpVector();
1411 OP_Utils::evalOpParm(result, thissop,
"upvector", cookparms.
getCookTime(), 0);
1419 if (!thissop)
return getEndUpVector();
1421 OP_Utils::evalOpParm(result, thissop,
"endupvector", cookparms.
getCookTime(), 0);
1429 if (!thissop)
return getAdjustUpCurvature();
1431 OP_Utils::evalOpParm(result, thissop,
"adjustupcurvature", cookparms.
getCookTime(), 0);
1439 if (!thissop)
return getCurvatureScale();
1441 OP_Utils::evalOpParm(result, thissop,
"curvaturescale", cookparms.
getCookTime(), 0);
1449 if (!thissop)
return getEnableCurvatureScaleAttrib();
1451 OP_Utils::evalOpParm(result, thissop,
"enablecurvaturescaleattrib", cookparms.
getCookTime(), 0);
1459 if (!thissop)
return getCurvatureScaleAttrib();
1461 OP_Utils::evalOpParm(result, thissop,
"curvaturescaleattrib", cookparms.
getCookTime(), 0);
1469 if (!thissop)
return getEnableCurvatureAttrib();
1471 OP_Utils::evalOpParm(result, thissop,
"enablecurvatureattrib", cookparms.
getCookTime(), 0);
1479 if (!thissop)
return getCurvatureAttrib();
1481 OP_Utils::evalOpParm(result, thissop,
"curvatureattrib", cookparms.
getCookTime(), 0);
1489 if (!thissop)
return getROrd();
1491 OP_Utils::evalOpParm(result, thissop,
"rOrd", cookparms.
getCookTime(), 0);
1492 return ROrd(result);
1499 if (!thissop)
return getApplyRoll();
1501 OP_Utils::evalOpParm(result, thissop,
"applyroll", cookparms.
getCookTime(), 0);
1509 if (!thissop)
return getRoll();
1511 OP_Utils::evalOpParm(result, thissop,
"roll", cookparms.
getCookTime(), 0);
1519 if (!thissop)
return getRollPer();
1521 OP_Utils::evalOpParm(result, thissop,
"rollper", cookparms.
getCookTime(), 0);
1529 if (!thissop)
return getFullTwists();
1531 OP_Utils::evalOpParm(result, thissop,
"fulltwists", cookparms.
getCookTime(), 0);
1539 if (!thissop)
return getIncRoll();
1541 OP_Utils::evalOpParm(result, thissop,
"incroll", cookparms.
getCookTime(), 0);
1549 if (!thissop)
return getRollAttrib();
1551 OP_Utils::evalOpParm(result, thissop,
"rollattrib", cookparms.
getCookTime(), 0);
1559 if (!thissop)
return getApplyYaw();
1561 OP_Utils::evalOpParm(result, thissop,
"applyyaw", cookparms.
getCookTime(), 0);
1569 if (!thissop)
return getYaw();
1571 OP_Utils::evalOpParm(result, thissop,
"yaw", cookparms.
getCookTime(), 0);
1579 if (!thissop)
return getYawPer();
1581 OP_Utils::evalOpParm(result, thissop,
"yawper", cookparms.
getCookTime(), 0);
1589 if (!thissop)
return getIncYaw();
1591 OP_Utils::evalOpParm(result, thissop,
"incyaw", cookparms.
getCookTime(), 0);
1599 if (!thissop)
return getYawAttrib();
1601 OP_Utils::evalOpParm(result, thissop,
"yawattrib", cookparms.
getCookTime(), 0);
1609 if (!thissop)
return getApplyPitch();
1611 OP_Utils::evalOpParm(result, thissop,
"applypitch", cookparms.
getCookTime(), 0);
1619 if (!thissop)
return getPitch();
1621 OP_Utils::evalOpParm(result, thissop,
"pitch", cookparms.
getCookTime(), 0);
1629 if (!thissop)
return getPitchPer();
1631 OP_Utils::evalOpParm(result, thissop,
"pitchper", cookparms.
getCookTime(), 0);
1639 if (!thissop)
return getIncPitch();
1641 OP_Utils::evalOpParm(result, thissop,
"incpitch", cookparms.
getCookTime(), 0);
1649 if (!thissop)
return getPitchAttrib();
1651 OP_Utils::evalOpParm(result, thissop,
"pitchattrib", cookparms.
getCookTime(), 0);
1659 if (!thissop)
return getNormalize();
1661 OP_Utils::evalOpParm(result, thissop,
"normalize", cookparms.
getCookTime(), 0);
1671 OP_Utils::evalOpParm(result, thissop,
"scale", cookparms.
getCookTime(), 0);
1679 if (!thissop)
return getStretchAroundTurns();
1681 OP_Utils::evalOpParm(result, thissop,
"stretcharoundturns", cookparms.
getCookTime(), 0);
1689 if (!thissop)
return getMaxStretchAroundTurns();
1691 OP_Utils::evalOpParm(result, thissop,
"maxstretcharoundturns", cookparms.
getCookTime(), 0);
1699 if (!thissop)
return getClass();
1701 OP_Utils::evalOpParm(result, thissop,
"class", cookparms.
getCookTime(), 0);
1702 return Class(result);
1709 if (!thissop)
return getOutputXAxis();
1711 OP_Utils::evalOpParm(result, thissop,
"outputxaxis", cookparms.
getCookTime(), 0);
1719 if (!thissop)
return getXAxisName();
1721 OP_Utils::evalOpParm(result, thissop,
"xaxisname", cookparms.
getCookTime(), 0);
1729 if (!thissop)
return getOutputYAxis();
1731 OP_Utils::evalOpParm(result, thissop,
"outputyaxis", cookparms.
getCookTime(), 0);
1739 if (!thissop)
return getYAxisName();
1741 OP_Utils::evalOpParm(result, thissop,
"yaxisname", cookparms.
getCookTime(), 0);
1749 if (!thissop)
return getOutputZAxis();
1751 OP_Utils::evalOpParm(result, thissop,
"outputzaxis", cookparms.
getCookTime(), 0);
1759 if (!thissop)
return getZAxisName();
1761 OP_Utils::evalOpParm(result, thissop,
"zaxisname", cookparms.
getCookTime(), 0);
1769 if (!thissop)
return getOutputTranslation();
1771 OP_Utils::evalOpParm(result, thissop,
"outputtranslation", cookparms.
getCookTime(), 0);
1779 if (!thissop)
return getTranslationName();
1781 OP_Utils::evalOpParm(result, thissop,
"translationname", cookparms.
getCookTime(), 0);
1789 if (!thissop)
return getOutputQuaternion();
1791 OP_Utils::evalOpParm(result, thissop,
"outputquaternion", cookparms.
getCookTime(), 0);
1799 if (!thissop)
return getQuaternionName();
1801 OP_Utils::evalOpParm(result, thissop,
"quaternionname", cookparms.
getCookTime(), 0);
1809 if (!thissop)
return getOutputTransform3();
1811 OP_Utils::evalOpParm(result, thissop,
"outputtransform3", cookparms.
getCookTime(), 0);
1819 if (!thissop)
return getTransform3Name();
1821 OP_Utils::evalOpParm(result, thissop,
"transform3name", cookparms.
getCookTime(), 0);
1829 if (!thissop)
return getOutputTransform4();
1831 OP_Utils::evalOpParm(result, thissop,
"outputtransform4", cookparms.
getCookTime(), 0);
1839 if (!thissop)
return getTransform4Name();
1841 OP_Utils::evalOpParm(result, thissop,
"transform4name", cookparms.
getCookTime(), 0);
1847 int64 myTangentType;
1848 bool myContinuousClosed;
1849 bool myExtrapolateEndTangents;
1850 bool myTransformByAttribs;
1851 int64 myUpVectorType;
1852 bool myUpVectorAtStart;
1853 bool myUseEndUpVector;
1858 bool myAdjustUpCurvature;
1860 int64 myEnableCurvatureScaleAttrib;
1862 bool myEnableCurvatureAttrib;
1883 bool myStretchAroundTurns;
1892 bool myOutputTranslation;
1894 bool myOutputQuaternion;
1896 bool myOutputTransform3;
1898 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)
T clampMaxValue(fpreal maxvalue, const T &src) const
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)
T clampMinValue(fpreal minvalue, const T &src) const
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
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
void coerceValue(T &result, const S &src) 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
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)
OP_NodeParms & operator=(const OP_NodeParms &)=default
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