22 using namespace UT::Literal;
25 namespace SOP_Sweep_2_0Enums
129 myCurveGroup =
""_sh;
130 myCrossSectionGroup =
""_sh;
137 myReverseCrossSections =
false;
138 myStretchAroundTurns =
true;
139 myMaxStretchAroundTurns = 10;
142 myTriangularPoles =
false;
145 myAddEndCapsGroup =
false;
146 myEndCapsGroup =
"endcaps"_sh;
147 myApplyScale =
false;
155 myRollAttrib =
"roll"_sh;
160 myYawAttrib =
"yaw"_sh;
161 myApplyPitch =
false;
165 myPitchAttrib =
"pitch"_sh;
167 myCrossSectionAttrib =
"variant"_sh;
169 myUnrollClosedRowCol =
false;
170 mySwapRowCol =
false;
171 myCloseIfNoCurveInput =
false;
173 myContinuousClosed =
true;
174 myExtrapolateEndTangents =
false;
175 myTransformByAttribs =
true;
176 myComputeUVs =
false;
177 myOverrideExistingUVs =
false;
178 myLengthWeightedUVs =
true;
180 myNormalizeV =
false;
183 myUseMeshEdgeLengths =
true;
184 myPropScalePerCurve =
true;
187 myAttribsFromBackbone =
"* ^P ^N ^up ^pscale ^scale ^orient ^rot ^pivot ^trans ^transform"_sh;
188 myAttribsFromCrossSection =
"*"_sh;
189 myAddPointRow =
false;
190 myPtRowAttrib =
"ptrow"_sh;
191 myAddPointCol =
false;
192 myPtColAttrib =
"ptcol"_sh;
193 myAddPrimRow =
false;
194 myPrimRowAttrib =
"primrow"_sh;
195 myAddPrimCol =
false;
196 myPrimColAttrib =
"primcol"_sh;
197 myAddCrossSectionNum =
false;
198 myCrossSectionNumAttrib =
"crossnum"_sh;
199 myAddCurveNum =
false;
200 myCurveNumAttrib =
"curvenum"_sh;
202 myUpVectorAtStart =
true;
203 myUseEndUpVector =
false;
204 myUpVectorAttrib =
"start_up"_sh;
205 myEndUpVectorAttrib =
"end_up"_sh;
217 if (myCurveGroup != src.myCurveGroup)
return false;
218 if (myCrossSectionGroup != src.myCrossSectionGroup)
return false;
219 if (mySurfaceShape != src.mySurfaceShape)
return false;
220 if (mySurfaceType != src.mySurfaceType)
return false;
221 if (myScale != src.myScale)
return false;
222 if (myCols != src.myCols)
return false;
223 if (myRadius != src.myRadius)
return false;
224 if (myWidth != src.myWidth)
return false;
225 if (myReverseCrossSections != src.myReverseCrossSections)
return false;
226 if (myStretchAroundTurns != src.myStretchAroundTurns)
return false;
227 if (myMaxStretchAroundTurns != src.myMaxStretchAroundTurns)
return false;
228 if (myEndCapType != src.myEndCapType)
return false;
229 if (myCapDivs != src.myCapDivs)
return false;
230 if (myTriangularPoles != src.myTriangularPoles)
return false;
231 if (myCapScale != src.myCapScale)
return false;
232 if (myCapRoundness != src.myCapRoundness)
return false;
233 if (myAddEndCapsGroup != src.myAddEndCapsGroup)
return false;
234 if (myEndCapsGroup != src.myEndCapsGroup)
return false;
235 if (myApplyScale != src.myApplyScale)
return false;
236 if (myScaleRamp != src.myScaleRamp)
237 {
if (!myScaleRamp || !src.myScaleRamp || !(*myScaleRamp == *src.myScaleRamp))
return false; }
238 if (myROrd != src.myROrd)
return false;
239 if (myApplyRoll != src.myApplyRoll)
return false;
240 if (myRoll != src.myRoll)
return false;
241 if (myFullTwists != src.myFullTwists)
return false;
242 if (myIncRoll != src.myIncRoll)
return false;
243 if (myRollPer != src.myRollPer)
return false;
244 if (myRollAttrib != src.myRollAttrib)
return false;
245 if (myApplyYaw != src.myApplyYaw)
return false;
246 if (myYaw != src.myYaw)
return false;
247 if (myIncYaw != src.myIncYaw)
return false;
248 if (myYawPer != src.myYawPer)
return false;
249 if (myYawAttrib != src.myYawAttrib)
return false;
250 if (myApplyPitch != src.myApplyPitch)
return false;
251 if (myPitch != src.myPitch)
return false;
252 if (myIncPitch != src.myIncPitch)
return false;
253 if (myPitchPer != src.myPitchPer)
return false;
254 if (myPitchAttrib != src.myPitchAttrib)
return false;
255 if (myCopyOrder != src.myCopyOrder)
return false;
256 if (myCrossSectionAttrib != src.myCrossSectionAttrib)
return false;
257 if (myPrimType != src.myPrimType)
return false;
258 if (myUnrollClosedRowCol != src.myUnrollClosedRowCol)
return false;
259 if (mySwapRowCol != src.mySwapRowCol)
return false;
260 if (myCloseIfNoCurveInput != src.myCloseIfNoCurveInput)
return false;
261 if (myTangentType != src.myTangentType)
return false;
262 if (myContinuousClosed != src.myContinuousClosed)
return false;
263 if (myExtrapolateEndTangents != src.myExtrapolateEndTangents)
return false;
264 if (myTransformByAttribs != src.myTransformByAttribs)
return false;
265 if (myComputeUVs != src.myComputeUVs)
return false;
266 if (myOverrideExistingUVs != src.myOverrideExistingUVs)
return false;
267 if (myLengthWeightedUVs != src.myLengthWeightedUVs)
return false;
268 if (myNormalizeU != src.myNormalizeU)
return false;
269 if (myNormalizeV != src.myNormalizeV)
return false;
270 if (myFlipU != src.myFlipU)
return false;
271 if (myUVScale != src.myUVScale)
return false;
272 if (myUseMeshEdgeLengths != src.myUseMeshEdgeLengths)
return false;
273 if (myPropScalePerCurve != src.myPropScalePerCurve)
return false;
274 if (myWrapU != src.myWrapU)
return false;
275 if (myWrapV != src.myWrapV)
return false;
276 if (myAttribsFromBackbone != src.myAttribsFromBackbone)
return false;
277 if (myAttribsFromCrossSection != src.myAttribsFromCrossSection)
return false;
278 if (myAddPointRow != src.myAddPointRow)
return false;
279 if (myPtRowAttrib != src.myPtRowAttrib)
return false;
280 if (myAddPointCol != src.myAddPointCol)
return false;
281 if (myPtColAttrib != src.myPtColAttrib)
return false;
282 if (myAddPrimRow != src.myAddPrimRow)
return false;
283 if (myPrimRowAttrib != src.myPrimRowAttrib)
return false;
284 if (myAddPrimCol != src.myAddPrimCol)
return false;
285 if (myPrimColAttrib != src.myPrimColAttrib)
return false;
286 if (myAddCrossSectionNum != src.myAddCrossSectionNum)
return false;
287 if (myCrossSectionNumAttrib != src.myCrossSectionNumAttrib)
return false;
288 if (myAddCurveNum != src.myAddCurveNum)
return false;
289 if (myCurveNumAttrib != src.myCurveNumAttrib)
return false;
290 if (myUpVectorType != src.myUpVectorType)
return false;
291 if (myUpVectorAtStart != src.myUpVectorAtStart)
return false;
292 if (myUseEndUpVector != src.myUseEndUpVector)
return false;
293 if (myUpVectorAttrib != src.myUpVectorAttrib)
return false;
294 if (myEndUpVectorAttrib != src.myEndUpVectorAttrib)
return false;
295 if (myUpVector != src.myUpVector)
return false;
296 if (myEndUpVector != src.myEndUpVector)
return false;
320 myCurveGroup =
""_sh;
322 graph->
evalOpParm(myCurveGroup, nodeidx,
"curvegroup", time, 0);
323 myCrossSectionGroup =
""_sh;
325 graph->
evalOpParm(myCrossSectionGroup, nodeidx,
"crosssectiongroup", time, 0);
328 graph->
evalOpParm(mySurfaceShape, nodeidx,
"surfaceshape", time, 0);
331 graph->
evalOpParm(mySurfaceType, nodeidx,
"surfacetype", time, 0);
333 if (
true && ( (
true&&!(((
int64(getSurfaceShape())!=0))||((
int64(getSurfaceShape())!=0)))) ) )
334 graph->
evalOpParm(myScale, nodeidx,
"scale", time, 0);
336 if (
true && ( (
true&&!(((
int64(getSurfaceShape())==0))||((
int64(getSurfaceShape())==0)))) ) )
337 graph->
evalOpParm(myCols, nodeidx,
"cols", time, 0);
339 if (
true && ( (
true&&!(((
int64(getSurfaceShape())!=1))||((
int64(getSurfaceShape())!=1)))) ) )
340 graph->
evalOpParm(myRadius, nodeidx,
"radius", time, 0);
342 if (
true && ( (
true&&!(((
int64(getSurfaceShape())!=3)&&(
int64(getSurfaceShape())!=2))||((
int64(getSurfaceShape())!=3)&&(
int64(getSurfaceShape())!=2)))) ) )
343 graph->
evalOpParm(myWidth, nodeidx,
"width", time, 0);
344 myReverseCrossSections =
false;
346 graph->
evalOpParm(myReverseCrossSections, nodeidx,
"reversecrosssections", time, 0);
347 myStretchAroundTurns =
true;
349 graph->
evalOpParm(myStretchAroundTurns, nodeidx,
"stretcharoundturns", time, 0);
350 myMaxStretchAroundTurns = 10;
351 if (
true && ( (
true&&!(((getStretchAroundTurns()==0)))) ) )
352 graph->
evalOpParm(myMaxStretchAroundTurns, nodeidx,
"maxstretcharoundturns", time, 0);
355 graph->
evalOpParm(myEndCapType, nodeidx,
"endcaptype", time, 0);
357 if (
true && ( (
true&&!(((
int64(getEndCapType())==0))||((
int64(getEndCapType())==1))||((
int64(getEndCapType())==3))||((
int64(getEndCapType())==0))||((
int64(getEndCapType())==1))||((
int64(getEndCapType())==3)))) ) )
358 graph->
evalOpParm(myCapDivs, nodeidx,
"capdivs", time, 0);
359 myTriangularPoles =
false;
360 if (
true && ( (
true&&!(((
int64(getEndCapType())==0))||((
int64(getEndCapType())==1))||((
int64(getEndCapType())==3))||((
int64(getEndCapType())==0))||((
int64(getEndCapType())==1))||((
int64(getEndCapType())==3)))) ) )
361 graph->
evalOpParm(myTriangularPoles, nodeidx,
"triangularpoles", time, 0);
363 if (
true && ( (
true&&!(((
int64(getEndCapType())==0))||((
int64(getEndCapType())==1))||((
int64(getEndCapType())==3))||((
int64(getEndCapType())==0))||((
int64(getEndCapType())==1))||((
int64(getEndCapType())==3)))) ) )
364 graph->
evalOpParm(myCapScale, nodeidx,
"capscale", time, 0);
366 if (
true && ( (
true&&!(((
int64(getEndCapType())==0))||((
int64(getEndCapType())==1))||((
int64(getEndCapType())==3))||((
int64(getEndCapType())==0))||((
int64(getEndCapType())==1))||((
int64(getEndCapType())==3)))) ) )
367 graph->
evalOpParm(myCapRoundness, nodeidx,
"caproundness", time, 0);
368 myAddEndCapsGroup =
false;
370 graph->
evalOpParm(myAddEndCapsGroup, nodeidx,
"addendcapsgroup", time, 0);
371 myEndCapsGroup =
"endcaps"_sh;
372 if (
true && ( (
true&&!(((getAddEndCapsGroup()==0)))) ) )
373 graph->
evalOpParm(myEndCapsGroup, nodeidx,
"endcapsgroup", time, 0);
374 myApplyScale =
false;
376 graph->
evalOpParm(myApplyScale, nodeidx,
"applyscale", time, 0);
378 if (
true && ( (
true&&!(((getApplyScale()==0)))) ) )
379 graph->
evalOpParm(myScaleRamp, nodeidx,
"scaleramp", time, 0);
382 graph->
evalOpParm(myROrd, nodeidx,
"rOrd", time, 0);
385 graph->
evalOpParm(myApplyRoll, nodeidx,
"applyroll", time, 0);
387 if (
true && ( (
true&&!(((getApplyRoll()==0)))) ) )
388 graph->
evalOpParm(myRoll, nodeidx,
"roll", time, 0);
390 if (
true && ( (
true&&!(((getApplyRoll()==0)))) ) )
391 graph->
evalOpParm(myFullTwists, nodeidx,
"fulltwists", time, 0);
393 if (
true && ( (
true&&!(((getApplyRoll()==0)))) ) )
394 graph->
evalOpParm(myIncRoll, nodeidx,
"incroll", time, 0);
396 if (
true && ( (
true&&!(((getApplyRoll()==0)))) ) )
397 graph->
evalOpParm(myRollPer, nodeidx,
"rollper", time, 0);
398 myRollAttrib =
"roll"_sh;
399 if (
true && ( (
true&&!(((getApplyRoll()==0))||((getApplyRoll()==1)&&(
int64(getRollPer())!=2))||((getApplyRoll()==0))||((getApplyRoll()==1)&&(
int64(getRollPer())!=2)))) ) )
400 graph->
evalOpParm(myRollAttrib, nodeidx,
"rollattrib", time, 0);
403 graph->
evalOpParm(myApplyYaw, nodeidx,
"applyyaw", time, 0);
405 if (
true && ( (
true&&!(((getApplyYaw()==0)))) ) )
406 graph->
evalOpParm(myYaw, nodeidx,
"yaw", time, 0);
408 if (
true && ( (
true&&!(((getApplyYaw()==0)))) ) )
409 graph->
evalOpParm(myIncYaw, nodeidx,
"incyaw", time, 0);
411 if (
true && ( (
true&&!(((getApplyYaw()==0)))) ) )
412 graph->
evalOpParm(myYawPer, nodeidx,
"yawper", time, 0);
413 myYawAttrib =
"yaw"_sh;
414 if (
true && ( (
true&&!(((getApplyYaw()==0))||((getApplyYaw()==1)&&(
int64(getYawPer())!=2))||((getApplyYaw()==0))||((getApplyYaw()==1)&&(
int64(getYawPer())!=2)))) ) )
415 graph->
evalOpParm(myYawAttrib, nodeidx,
"yawattrib", time, 0);
416 myApplyPitch =
false;
418 graph->
evalOpParm(myApplyPitch, nodeidx,
"applypitch", time, 0);
420 if (
true && ( (
true&&!(((getApplyPitch()==0)))) ) )
421 graph->
evalOpParm(myPitch, nodeidx,
"pitch", time, 0);
423 if (
true && ( (
true&&!(((getApplyPitch()==0)))) ) )
424 graph->
evalOpParm(myIncPitch, nodeidx,
"incpitch", time, 0);
426 if (
true && ( (
true&&!(((getApplyPitch()==0)))) ) )
427 graph->
evalOpParm(myPitchPer, nodeidx,
"pitchper", time, 0);
428 myPitchAttrib =
"pitch"_sh;
429 if (
true && ( (
true&&!(((getApplyPitch()==0))||((getApplyPitch()==1)&&(
int64(getPitchPer())!=2))||((getApplyPitch()==0))||((getApplyPitch()==1)&&(
int64(getPitchPer())!=2)))) ) )
430 graph->
evalOpParm(myPitchAttrib, nodeidx,
"pitchattrib", time, 0);
432 if (
true && ( (
true&&!(((
int64(getSurfaceShape())!=0)))) ) )
433 graph->
evalOpParm(myCopyOrder, nodeidx,
"copyorder", time, 0);
434 myCrossSectionAttrib =
"variant"_sh;
435 if (
true && ( (
true&&!(((
int64(getSurfaceShape())!=0))||((
int64(getCopyOrder())!=4))||((
int64(getSurfaceShape())!=0))||((
int64(getCopyOrder())!=4)))) ) )
436 graph->
evalOpParm(myCrossSectionAttrib, nodeidx,
"crosssectionattrib", time, 0);
438 if (
true && ( (
true&&!(((
int64(getSurfaceType())==0)))) ) )
439 graph->
evalOpParm(myPrimType, nodeidx,
"primtype", time, 0);
440 myUnrollClosedRowCol =
false;
441 if (
true && ( (
true&&!(((
int64(getSurfaceType())==0)))) ) )
442 graph->
evalOpParm(myUnrollClosedRowCol, nodeidx,
"unrollclosedrowcol", time, 0);
443 mySwapRowCol =
false;
445 graph->
evalOpParm(mySwapRowCol, nodeidx,
"swaprowcol", time, 0);
446 myCloseIfNoCurveInput =
false;
447 if (
true && ( (
true&&!(((
int64(getSurfaceType())==0))||((
int64(getSurfaceType())==1))||(((graph->
getInput(nodeidx,0)>=0)!=0)))) ) )
448 graph->
evalOpParm(myCloseIfNoCurveInput, nodeidx,
"closeifnocurveinput", time, 0);
451 graph->
evalOpParm(myTangentType, nodeidx,
"tangenttype", time, 0);
452 myContinuousClosed =
true;
453 if (
true && ( (
true&&!(((
int64(getTangentType())==4)))) ) )
454 graph->
evalOpParm(myContinuousClosed, nodeidx,
"continuousclosed", time, 0);
455 myExtrapolateEndTangents =
false;
456 if (
true && ( (
true&&!(((
int64(getTangentType())==4)))) ) )
457 graph->
evalOpParm(myExtrapolateEndTangents, nodeidx,
"extrapolateendtangents", time, 0);
458 myTransformByAttribs =
true;
460 graph->
evalOpParm(myTransformByAttribs, nodeidx,
"transformbyattribs", time, 0);
461 myComputeUVs =
false;
463 graph->
evalOpParm(myComputeUVs, nodeidx,
"computeuvs", time, 0);
464 myOverrideExistingUVs =
false;
465 if (
true && ( (
true&&!(((getComputeUVs()==0)))) ) )
466 graph->
evalOpParm(myOverrideExistingUVs, nodeidx,
"overrideexistinguvs", time, 0);
467 myLengthWeightedUVs =
true;
468 if (
true && ( (
true&&!(((getComputeUVs()==0)))) ) )
469 graph->
evalOpParm(myLengthWeightedUVs, nodeidx,
"lengthweighteduvs", time, 0);
471 if (
true && ( (
true&&!(((getComputeUVs()==0))||((getLengthWeightedUVs()==0)))) ) )
472 graph->
evalOpParm(myNormalizeU, nodeidx,
"normalizeu", time, 0);
473 myNormalizeV =
false;
474 if (
true && ( (
true&&!(((getComputeUVs()==0))||((getLengthWeightedUVs()==0)))) ) )
475 graph->
evalOpParm(myNormalizeV, nodeidx,
"normalizev", time, 0);
477 if (
true && ( (
true&&!(((getComputeUVs()==0)))) ) )
478 graph->
evalOpParm(myFlipU, nodeidx,
"flipu", time, 0);
480 if (
true && ( (
true&&!(((getComputeUVs()==0)))) ) )
481 graph->
evalOpParm(myUVScale, nodeidx,
"uvscale", time, 0);
482 myUseMeshEdgeLengths =
true;
483 if (
true && ( (
true&&!(((getComputeUVs()==0))||((getLengthWeightedUVs()==0)))) ) )
484 graph->
evalOpParm(myUseMeshEdgeLengths, nodeidx,
"usemeshedgelengths", time, 0);
485 myPropScalePerCurve =
true;
486 if (
true && ( (
true&&!(((getComputeUVs()==0))||((getLengthWeightedUVs()==0))||((getNormalizeU()!=1))||((getNormalizeV()!=0)))) ) )
487 graph->
evalOpParm(myPropScalePerCurve, nodeidx,
"propscalepercurve", time, 0);
489 if (
true && ( (
true&&!(((getComputeUVs()==0))||((getLengthWeightedUVs()==0))||((getNormalizeU()==1)))) ) )
490 graph->
evalOpParm(myWrapU, nodeidx,
"wrapu", time, 0);
492 if (
true && ( (
true&&!(((getComputeUVs()==0))||((getLengthWeightedUVs()==0))||((getNormalizeV()==1)))) ) )
493 graph->
evalOpParm(myWrapV, nodeidx,
"wrapv", time, 0);
494 myAttribsFromBackbone =
"* ^P ^N ^up ^pscale ^scale ^orient ^rot ^pivot ^trans ^transform"_sh;
496 graph->
evalOpParm(myAttribsFromBackbone, nodeidx,
"attribsfrombackbone", time, 0);
497 myAttribsFromCrossSection =
"*"_sh;
499 graph->
evalOpParm(myAttribsFromCrossSection, nodeidx,
"attribsfromcrosssection", time, 0);
500 myAddPointRow =
false;
502 graph->
evalOpParm(myAddPointRow, nodeidx,
"addptrow", time, 0);
503 myPtRowAttrib =
"ptrow"_sh;
504 if (
true && ( (
true&&!(((getAddPointRow()==0)))) ) )
505 graph->
evalOpParm(myPtRowAttrib, nodeidx,
"ptrowattrib", time, 0);
506 myAddPointCol =
false;
508 graph->
evalOpParm(myAddPointCol, nodeidx,
"addptcol", time, 0);
509 myPtColAttrib =
"ptcol"_sh;
510 if (
true && ( (
true&&!(((getAddPointCol()==0)))) ) )
511 graph->
evalOpParm(myPtColAttrib, nodeidx,
"ptcolattrib", time, 0);
512 myAddPrimRow =
false;
514 graph->
evalOpParm(myAddPrimRow, nodeidx,
"addprimrow", time, 0);
515 myPrimRowAttrib =
"primrow"_sh;
516 if (
true && ( (
true&&!(((getAddPrimRow()==0)))) ) )
517 graph->
evalOpParm(myPrimRowAttrib, nodeidx,
"primrowattrib", time, 0);
518 myAddPrimCol =
false;
520 graph->
evalOpParm(myAddPrimCol, nodeidx,
"addprimcol", time, 0);
521 myPrimColAttrib =
"primcol"_sh;
522 if (
true && ( (
true&&!(((getAddPrimCol()==0)))) ) )
523 graph->
evalOpParm(myPrimColAttrib, nodeidx,
"primcolattrib", time, 0);
524 myAddCrossSectionNum =
false;
526 graph->
evalOpParm(myAddCrossSectionNum, nodeidx,
"addcrosssectionnum", time, 0);
527 myCrossSectionNumAttrib =
"crossnum"_sh;
528 if (
true && ( (
true&&!(((getAddCrossSectionNum()==0)))) ) )
529 graph->
evalOpParm(myCrossSectionNumAttrib, nodeidx,
"crosssectionnumattrib", time, 0);
530 myAddCurveNum =
false;
532 graph->
evalOpParm(myAddCurveNum, nodeidx,
"addcurvenum", time, 0);
533 myCurveNumAttrib =
"curvenum"_sh;
534 if (
true && ( (
true&&!(((getAddCurveNum()==0)))) ) )
535 graph->
evalOpParm(myCurveNumAttrib, nodeidx,
"curvenumattrib", time, 0);
537 if (
true && ( (
true&&!(((
int64(getTangentType())==4)))) ) )
538 graph->
evalOpParm(myUpVectorType, nodeidx,
"upvectortype", time, 0);
539 myUpVectorAtStart =
true;
540 if (
true && ( (
true&&!(((
int64(getTangentType())==4)))) ) )
541 graph->
evalOpParm(myUpVectorAtStart, nodeidx,
"upvectoratstart", time, 0);
542 myUseEndUpVector =
false;
543 if (
true && ( (
true&&!(((
int64(getTangentType())==4))||((getUpVectorAtStart()==0)))) ) )
544 graph->
evalOpParm(myUseEndUpVector, nodeidx,
"useendupvector", time, 0);
545 myUpVectorAttrib =
"start_up"_sh;
546 if (
true && ( (
true&&!(((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=4))||((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=4)))) ) )
547 graph->
evalOpParm(myUpVectorAttrib, nodeidx,
"upvectorattrib", time, 0);
548 myEndUpVectorAttrib =
"end_up"_sh;
549 if (
true && ( (
true&&!(((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=4))||((getUseEndUpVector()==0))||((getUpVectorAtStart()==0))||((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=4))||((getUseEndUpVector()==0))||((getUpVectorAtStart()==0)))) ) )
550 graph->
evalOpParm(myEndUpVectorAttrib, nodeidx,
"endupvectorattrib", time, 0);
552 if (
true && ( (
true&&!(((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=5))||((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=5)))) ) )
553 graph->
evalOpParm(myUpVector, nodeidx,
"upvector", time, 0);
555 if (
true && ( (
true&&!(((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=5))||((getUseEndUpVector()==0))||((getUpVectorAtStart()==0))||((
int64(getTangentType())==4))||((
int64(getUpVectorType())!=5))||((getUseEndUpVector()==0))||((getUpVectorAtStart()==0)))) ) )
556 graph->
evalOpParm(myEndUpVector, nodeidx,
"endupvector", time, 0);
572 template <
typename T>
579 if (idx.
size() != instance.
size()+1)
584 coerceValue(value, myCurveGroup);
587 coerceValue(value, myCrossSectionGroup);
590 coerceValue(value, mySurfaceShape);
593 coerceValue(value, mySurfaceType);
596 coerceValue(value, myScale);
599 coerceValue(value, myCols);
602 coerceValue(value, myRadius);
605 coerceValue(value, myWidth);
608 coerceValue(value, myReverseCrossSections);
611 coerceValue(value, myStretchAroundTurns);
614 coerceValue(value, myMaxStretchAroundTurns);
617 coerceValue(value, myEndCapType);
620 coerceValue(value, myCapDivs);
623 coerceValue(value, myTriangularPoles);
626 coerceValue(value, myCapScale);
629 coerceValue(value, myCapRoundness);
632 coerceValue(value, myAddEndCapsGroup);
635 coerceValue(value, myEndCapsGroup);
638 coerceValue(value, myApplyScale);
641 coerceValue(value, myScaleRamp);
644 coerceValue(value, myROrd);
647 coerceValue(value, myApplyRoll);
650 coerceValue(value, myRoll);
653 coerceValue(value, myFullTwists);
656 coerceValue(value, myIncRoll);
659 coerceValue(value, myRollPer);
662 coerceValue(value, myRollAttrib);
665 coerceValue(value, myApplyYaw);
668 coerceValue(value, myYaw);
671 coerceValue(value, myIncYaw);
674 coerceValue(value, myYawPer);
677 coerceValue(value, myYawAttrib);
680 coerceValue(value, myApplyPitch);
683 coerceValue(value, myPitch);
686 coerceValue(value, myIncPitch);
689 coerceValue(value, myPitchPer);
692 coerceValue(value, myPitchAttrib);
695 coerceValue(value, myCopyOrder);
698 coerceValue(value, myCrossSectionAttrib);
701 coerceValue(value, myPrimType);
704 coerceValue(value, myUnrollClosedRowCol);
707 coerceValue(value, mySwapRowCol);
710 coerceValue(value, myCloseIfNoCurveInput);
713 coerceValue(value, myTangentType);
716 coerceValue(value, myContinuousClosed);
719 coerceValue(value, myExtrapolateEndTangents);
722 coerceValue(value, myTransformByAttribs);
725 coerceValue(value, myComputeUVs);
728 coerceValue(value, myOverrideExistingUVs);
731 coerceValue(value, myLengthWeightedUVs);
734 coerceValue(value, myNormalizeU);
737 coerceValue(value, myNormalizeV);
740 coerceValue(value, myFlipU);
743 coerceValue(value, myUVScale);
746 coerceValue(value, myUseMeshEdgeLengths);
749 coerceValue(value, myPropScalePerCurve);
752 coerceValue(value, myWrapU);
755 coerceValue(value, myWrapV);
758 coerceValue(value, myAttribsFromBackbone);
761 coerceValue(value, myAttribsFromCrossSection);
764 coerceValue(value, myAddPointRow);
767 coerceValue(value, myPtRowAttrib);
770 coerceValue(value, myAddPointCol);
773 coerceValue(value, myPtColAttrib);
776 coerceValue(value, myAddPrimRow);
779 coerceValue(value, myPrimRowAttrib);
782 coerceValue(value, myAddPrimCol);
785 coerceValue(value, myPrimColAttrib);
788 coerceValue(value, myAddCrossSectionNum);
791 coerceValue(value, myCrossSectionNumAttrib);
794 coerceValue(value, myAddCurveNum);
797 coerceValue(value, myCurveNumAttrib);
800 coerceValue(value, myUpVectorType);
803 coerceValue(value, myUpVectorAtStart);
806 coerceValue(value, myUseEndUpVector);
809 coerceValue(value, myUpVectorAttrib);
812 coerceValue(value, myEndUpVectorAttrib);
815 coerceValue(value, myUpVector);
818 coerceValue(value, myEndUpVector);
825 { doGetParmValue(idx, instance, value); }
827 { doGetParmValue(idx, instance, value); }
829 { doGetParmValue(idx, instance, value); }
831 { doGetParmValue(idx, instance, value); }
833 { doGetParmValue(idx, instance, value); }
835 { doGetParmValue(idx, instance, value); }
837 { doGetParmValue(idx, instance, value); }
839 { doGetParmValue(idx, instance, value); }
841 { doGetParmValue(idx, instance, value); }
843 { doGetParmValue(idx, instance, value); }
845 { doGetParmValue(idx, instance, value); }
847 template <
typename T>
854 if (idx.
size() != instance.
size()+1)
859 coerceValue(myCurveGroup, ( ( value ) ));
862 coerceValue(myCrossSectionGroup, ( ( value ) ));
865 coerceValue(mySurfaceShape, clampMinValue(0, clampMaxValue(3, value ) ));
868 coerceValue(mySurfaceType, clampMinValue(0, clampMaxValue(7, value ) ));
871 coerceValue(myScale, ( ( value ) ));
874 coerceValue(myCols, clampMinValue(1, ( value ) ));
877 coerceValue(myRadius, ( ( value ) ));
880 coerceValue(myWidth, ( ( value ) ));
883 coerceValue(myReverseCrossSections, ( ( value ) ));
886 coerceValue(myStretchAroundTurns, ( ( value ) ));
889 coerceValue(myMaxStretchAroundTurns, clampMinValue(1, ( value ) ));
892 coerceValue(myEndCapType, clampMinValue(0, clampMaxValue(3, value ) ));
895 coerceValue(myCapDivs, clampMinValue(1, ( value ) ));
898 coerceValue(myTriangularPoles, ( ( value ) ));
901 coerceValue(myCapScale, ( ( value ) ));
904 coerceValue(myCapRoundness, ( ( value ) ));
907 coerceValue(myAddEndCapsGroup, ( ( value ) ));
910 coerceValue(myEndCapsGroup, ( ( value ) ));
913 coerceValue(myApplyScale, ( ( value ) ));
916 coerceValue(myScaleRamp, clampMinValue(0, ( value ) ));
919 coerceValue(myROrd, clampMinValue(0, clampMaxValue(5, value ) ));
922 coerceValue(myApplyRoll, ( ( value ) ));
925 coerceValue(myRoll, ( ( value ) ));
928 coerceValue(myFullTwists, ( ( value ) ));
931 coerceValue(myIncRoll, ( ( value ) ));
934 coerceValue(myRollPer, clampMinValue(0, clampMaxValue(4, value ) ));
937 coerceValue(myRollAttrib, ( ( value ) ));
940 coerceValue(myApplyYaw, ( ( value ) ));
943 coerceValue(myYaw, ( ( value ) ));
946 coerceValue(myIncYaw, ( ( value ) ));
949 coerceValue(myYawPer, clampMinValue(0, clampMaxValue(4, value ) ));
952 coerceValue(myYawAttrib, ( ( value ) ));
955 coerceValue(myApplyPitch, ( ( value ) ));
958 coerceValue(myPitch, ( ( value ) ));
961 coerceValue(myIncPitch, ( ( value ) ));
964 coerceValue(myPitchPer, clampMinValue(0, clampMaxValue(4, value ) ));
967 coerceValue(myPitchAttrib, ( ( value ) ));
970 coerceValue(myCopyOrder, clampMinValue(0, clampMaxValue(4, value ) ));
973 coerceValue(myCrossSectionAttrib, ( ( value ) ));
976 coerceValue(myPrimType, clampMinValue(0, clampMaxValue(5, value ) ));
979 coerceValue(myUnrollClosedRowCol, ( ( value ) ));
982 coerceValue(mySwapRowCol, ( ( value ) ));
985 coerceValue(myCloseIfNoCurveInput, ( ( value ) ));
988 coerceValue(myTangentType, clampMinValue(0, clampMaxValue(4, value ) ));
991 coerceValue(myContinuousClosed, ( ( value ) ));
994 coerceValue(myExtrapolateEndTangents, ( ( value ) ));
997 coerceValue(myTransformByAttribs, ( ( value ) ));
1000 coerceValue(myComputeUVs, ( ( value ) ));
1003 coerceValue(myOverrideExistingUVs, ( ( value ) ));
1006 coerceValue(myLengthWeightedUVs, ( ( value ) ));
1009 coerceValue(myNormalizeU, ( ( value ) ));
1012 coerceValue(myNormalizeV, ( ( value ) ));
1015 coerceValue(myFlipU, ( ( value ) ));
1018 coerceValue(myUVScale, ( ( value ) ));
1021 coerceValue(myUseMeshEdgeLengths, ( ( value ) ));
1024 coerceValue(myPropScalePerCurve, ( ( value ) ));
1027 coerceValue(myWrapU, ( ( value ) ));
1030 coerceValue(myWrapV, ( ( value ) ));
1033 coerceValue(myAttribsFromBackbone, ( ( value ) ));
1036 coerceValue(myAttribsFromCrossSection, ( ( value ) ));
1039 coerceValue(myAddPointRow, ( ( value ) ));
1042 coerceValue(myPtRowAttrib, ( ( value ) ));
1045 coerceValue(myAddPointCol, ( ( value ) ));
1048 coerceValue(myPtColAttrib, ( ( value ) ));
1051 coerceValue(myAddPrimRow, ( ( value ) ));
1054 coerceValue(myPrimRowAttrib, ( ( value ) ));
1057 coerceValue(myAddPrimCol, ( ( value ) ));
1060 coerceValue(myPrimColAttrib, ( ( value ) ));
1063 coerceValue(myAddCrossSectionNum, ( ( value ) ));
1066 coerceValue(myCrossSectionNumAttrib, ( ( value ) ));
1069 coerceValue(myAddCurveNum, ( ( value ) ));
1072 coerceValue(myCurveNumAttrib, ( ( value ) ));
1075 coerceValue(myUpVectorType, clampMinValue(0, clampMaxValue(5, value ) ));
1078 coerceValue(myUpVectorAtStart, ( ( value ) ));
1081 coerceValue(myUseEndUpVector, ( ( value ) ));
1084 coerceValue(myUpVectorAttrib, ( ( value ) ));
1087 coerceValue(myEndUpVectorAttrib, ( ( value ) ));
1090 coerceValue(myUpVector, ( ( value ) ));
1093 coerceValue(myEndUpVector, ( ( value ) ));
1100 { doSetParmValue(idx, instance, value); }
1102 { doSetParmValue(idx, instance, value); }
1104 { doSetParmValue(idx, instance, value); }
1106 { doSetParmValue(idx, instance, value); }
1108 { doSetParmValue(idx, instance, value); }
1110 { doSetParmValue(idx, instance, value); }
1112 { doSetParmValue(idx, instance, value); }
1114 { doSetParmValue(idx, instance, value); }
1116 { doSetParmValue(idx, instance, value); }
1118 { doSetParmValue(idx, instance, value); }
1120 { doSetParmValue(idx, instance, value); }
1124 if (idx.
size() == 0)
1136 if (fieldnum.
size() < 1)
1138 switch (fieldnum[0])
1141 return "curvegroup";
1143 return "crosssectiongroup";
1145 return "surfaceshape";
1147 return "surfacetype";
1157 return "reversecrosssections";
1159 return "stretcharoundturns";
1161 return "maxstretcharoundturns";
1163 return "endcaptype";
1167 return "triangularpoles";
1171 return "caproundness";
1173 return "addendcapsgroup";
1175 return "endcapsgroup";
1177 return "applyscale";
1187 return "fulltwists";
1193 return "rollattrib";
1205 return "applypitch";
1213 return "pitchattrib";
1217 return "crosssectionattrib";
1221 return "unrollclosedrowcol";
1223 return "swaprowcol";
1225 return "closeifnocurveinput";
1227 return "tangenttype";
1229 return "continuousclosed";
1231 return "extrapolateendtangents";
1233 return "transformbyattribs";
1235 return "computeuvs";
1237 return "overrideexistinguvs";
1239 return "lengthweighteduvs";
1241 return "normalizeu";
1243 return "normalizev";
1249 return "usemeshedgelengths";
1251 return "propscalepercurve";
1257 return "attribsfrombackbone";
1259 return "attribsfromcrosssection";
1263 return "ptrowattrib";
1267 return "ptcolattrib";
1269 return "addprimrow";
1271 return "primrowattrib";
1273 return "addprimcol";
1275 return "primcolattrib";
1277 return "addcrosssectionnum";
1279 return "crosssectionnumattrib";
1281 return "addcurvenum";
1283 return "curvenumattrib";
1285 return "upvectortype";
1287 return "upvectoratstart";
1289 return "useendupvector";
1291 return "upvectorattrib";
1293 return "endupvectorattrib";
1297 return "endupvector";
1305 if (fieldnum.
size() < 1)
1306 return PARM_UNSUPPORTED;
1307 switch (fieldnum[0])
1314 return PARM_INTEGER;
1316 return PARM_INTEGER;
1320 return PARM_INTEGER;
1326 return PARM_INTEGER;
1328 return PARM_INTEGER;
1332 return PARM_INTEGER;
1334 return PARM_INTEGER;
1336 return PARM_INTEGER;
1342 return PARM_INTEGER;
1346 return PARM_INTEGER;
1350 return PARM_INTEGER;
1352 return PARM_INTEGER;
1356 return PARM_INTEGER;
1360 return PARM_INTEGER;
1364 return PARM_INTEGER;
1370 return PARM_INTEGER;
1374 return PARM_INTEGER;
1380 return PARM_INTEGER;
1384 return PARM_INTEGER;
1388 return PARM_INTEGER;
1390 return PARM_INTEGER;
1392 return PARM_INTEGER;
1394 return PARM_INTEGER;
1396 return PARM_INTEGER;
1398 return PARM_INTEGER;
1400 return PARM_INTEGER;
1402 return PARM_INTEGER;
1404 return PARM_INTEGER;
1406 return PARM_INTEGER;
1408 return PARM_INTEGER;
1410 return PARM_INTEGER;
1412 return PARM_INTEGER;
1414 return PARM_INTEGER;
1416 return PARM_VECTOR2;
1418 return PARM_INTEGER;
1420 return PARM_INTEGER;
1422 return PARM_INTEGER;
1424 return PARM_INTEGER;
1430 return PARM_INTEGER;
1434 return PARM_INTEGER;
1438 return PARM_INTEGER;
1442 return PARM_INTEGER;
1446 return PARM_INTEGER;
1450 return PARM_INTEGER;
1454 return PARM_INTEGER;
1456 return PARM_INTEGER;
1458 return PARM_INTEGER;
1464 return PARM_VECTOR3;
1466 return PARM_VECTOR3;
1469 return PARM_UNSUPPORTED;
1474 { is.
bread(&v, 1); }
1505 loadData(is, rampdata);
1523 int typelen = colon - data.
buffer();
1535 { UTwrite(os, &v); }
1537 {
int64 iv =
v; UTwrite(os, &iv); }
1539 { UTwrite<fpreal64>(os, &
v); }
1541 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1543 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1544 UTwrite<fpreal64>(os, &v.
z()); }
1546 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1547 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1559 if (s) s->save(ostr);
1560 result = ostr.
str();
1561 saveData(os, result);
1568 ostr << s->getDataTypeToken();
1570 s->saveBinary(ostr);
1572 result = ostr.
str();
1573 saveData(os, result);
1581 saveData(os, myCurveGroup);
1582 saveData(os, myCrossSectionGroup);
1583 saveData(os, mySurfaceShape);
1584 saveData(os, mySurfaceType);
1585 saveData(os, myScale);
1586 saveData(os, myCols);
1587 saveData(os, myRadius);
1588 saveData(os, myWidth);
1589 saveData(os, myReverseCrossSections);
1590 saveData(os, myStretchAroundTurns);
1591 saveData(os, myMaxStretchAroundTurns);
1592 saveData(os, myEndCapType);
1593 saveData(os, myCapDivs);
1594 saveData(os, myTriangularPoles);
1595 saveData(os, myCapScale);
1596 saveData(os, myCapRoundness);
1597 saveData(os, myAddEndCapsGroup);
1598 saveData(os, myEndCapsGroup);
1599 saveData(os, myApplyScale);
1600 saveData(os, myScaleRamp);
1601 saveData(os, myROrd);
1602 saveData(os, myApplyRoll);
1603 saveData(os, myRoll);
1604 saveData(os, myFullTwists);
1605 saveData(os, myIncRoll);
1606 saveData(os, myRollPer);
1607 saveData(os, myRollAttrib);
1608 saveData(os, myApplyYaw);
1609 saveData(os, myYaw);
1610 saveData(os, myIncYaw);
1611 saveData(os, myYawPer);
1612 saveData(os, myYawAttrib);
1613 saveData(os, myApplyPitch);
1614 saveData(os, myPitch);
1615 saveData(os, myIncPitch);
1616 saveData(os, myPitchPer);
1617 saveData(os, myPitchAttrib);
1618 saveData(os, myCopyOrder);
1619 saveData(os, myCrossSectionAttrib);
1620 saveData(os, myPrimType);
1621 saveData(os, myUnrollClosedRowCol);
1622 saveData(os, mySwapRowCol);
1623 saveData(os, myCloseIfNoCurveInput);
1624 saveData(os, myTangentType);
1625 saveData(os, myContinuousClosed);
1626 saveData(os, myExtrapolateEndTangents);
1627 saveData(os, myTransformByAttribs);
1628 saveData(os, myComputeUVs);
1629 saveData(os, myOverrideExistingUVs);
1630 saveData(os, myLengthWeightedUVs);
1631 saveData(os, myNormalizeU);
1632 saveData(os, myNormalizeV);
1633 saveData(os, myFlipU);
1634 saveData(os, myUVScale);
1635 saveData(os, myUseMeshEdgeLengths);
1636 saveData(os, myPropScalePerCurve);
1637 saveData(os, myWrapU);
1638 saveData(os, myWrapV);
1639 saveData(os, myAttribsFromBackbone);
1640 saveData(os, myAttribsFromCrossSection);
1641 saveData(os, myAddPointRow);
1642 saveData(os, myPtRowAttrib);
1643 saveData(os, myAddPointCol);
1644 saveData(os, myPtColAttrib);
1645 saveData(os, myAddPrimRow);
1646 saveData(os, myPrimRowAttrib);
1647 saveData(os, myAddPrimCol);
1648 saveData(os, myPrimColAttrib);
1649 saveData(os, myAddCrossSectionNum);
1650 saveData(os, myCrossSectionNumAttrib);
1651 saveData(os, myAddCurveNum);
1652 saveData(os, myCurveNumAttrib);
1653 saveData(os, myUpVectorType);
1654 saveData(os, myUpVectorAtStart);
1655 saveData(os, myUseEndUpVector);
1656 saveData(os, myUpVectorAttrib);
1657 saveData(os, myEndUpVectorAttrib);
1658 saveData(os, myUpVector);
1659 saveData(os, myEndUpVector);
1672 loadData(is, myCurveGroup);
1673 loadData(is, myCrossSectionGroup);
1674 loadData(is, mySurfaceShape);
1675 loadData(is, mySurfaceType);
1676 loadData(is, myScale);
1677 loadData(is, myCols);
1678 loadData(is, myRadius);
1679 loadData(is, myWidth);
1680 loadData(is, myReverseCrossSections);
1681 loadData(is, myStretchAroundTurns);
1682 loadData(is, myMaxStretchAroundTurns);
1683 loadData(is, myEndCapType);
1684 loadData(is, myCapDivs);
1685 loadData(is, myTriangularPoles);
1686 loadData(is, myCapScale);
1687 loadData(is, myCapRoundness);
1688 loadData(is, myAddEndCapsGroup);
1689 loadData(is, myEndCapsGroup);
1690 loadData(is, myApplyScale);
1691 loadData(is, myScaleRamp);
1692 loadData(is, myROrd);
1693 loadData(is, myApplyRoll);
1694 loadData(is, myRoll);
1695 loadData(is, myFullTwists);
1696 loadData(is, myIncRoll);
1697 loadData(is, myRollPer);
1698 loadData(is, myRollAttrib);
1699 loadData(is, myApplyYaw);
1700 loadData(is, myYaw);
1701 loadData(is, myIncYaw);
1702 loadData(is, myYawPer);
1703 loadData(is, myYawAttrib);
1704 loadData(is, myApplyPitch);
1705 loadData(is, myPitch);
1706 loadData(is, myIncPitch);
1707 loadData(is, myPitchPer);
1708 loadData(is, myPitchAttrib);
1709 loadData(is, myCopyOrder);
1710 loadData(is, myCrossSectionAttrib);
1711 loadData(is, myPrimType);
1712 loadData(is, myUnrollClosedRowCol);
1713 loadData(is, mySwapRowCol);
1714 loadData(is, myCloseIfNoCurveInput);
1715 loadData(is, myTangentType);
1716 loadData(is, myContinuousClosed);
1717 loadData(is, myExtrapolateEndTangents);
1718 loadData(is, myTransformByAttribs);
1719 loadData(is, myComputeUVs);
1720 loadData(is, myOverrideExistingUVs);
1721 loadData(is, myLengthWeightedUVs);
1722 loadData(is, myNormalizeU);
1723 loadData(is, myNormalizeV);
1724 loadData(is, myFlipU);
1725 loadData(is, myUVScale);
1726 loadData(is, myUseMeshEdgeLengths);
1727 loadData(is, myPropScalePerCurve);
1728 loadData(is, myWrapU);
1729 loadData(is, myWrapV);
1730 loadData(is, myAttribsFromBackbone);
1731 loadData(is, myAttribsFromCrossSection);
1732 loadData(is, myAddPointRow);
1733 loadData(is, myPtRowAttrib);
1734 loadData(is, myAddPointCol);
1735 loadData(is, myPtColAttrib);
1736 loadData(is, myAddPrimRow);
1737 loadData(is, myPrimRowAttrib);
1738 loadData(is, myAddPrimCol);
1739 loadData(is, myPrimColAttrib);
1740 loadData(is, myAddCrossSectionNum);
1741 loadData(is, myCrossSectionNumAttrib);
1742 loadData(is, myAddCurveNum);
1743 loadData(is, myCurveNumAttrib);
1744 loadData(is, myUpVectorType);
1745 loadData(is, myUpVectorAtStart);
1746 loadData(is, myUseEndUpVector);
1747 loadData(is, myUpVectorAttrib);
1748 loadData(is, myEndUpVectorAttrib);
1749 loadData(is, myUpVector);
1750 loadData(is, myEndUpVector);
1760 if (!thissop)
return getCurveGroup();
1762 OP_Utils::evalOpParm(result, thissop,
"curvegroup", cookparms.
getCookTime(), 0);
1770 if (!thissop)
return getCrossSectionGroup();
1772 OP_Utils::evalOpParm(result, thissop,
"crosssectiongroup", cookparms.
getCookTime(), 0);
1780 if (!thissop)
return getSurfaceShape();
1782 OP_Utils::evalOpParm(result, thissop,
"surfaceshape", cookparms.
getCookTime(), 0);
1790 if (!thissop)
return getSurfaceType();
1792 OP_Utils::evalOpParm(result, thissop,
"surfacetype", cookparms.
getCookTime(), 0);
1802 OP_Utils::evalOpParm(result, thissop,
"scale", cookparms.
getCookTime(), 0);
1810 if (!thissop)
return getCols();
1812 OP_Utils::evalOpParm(result, thissop,
"cols", cookparms.
getCookTime(), 0);
1820 if (!thissop)
return getRadius();
1822 OP_Utils::evalOpParm(result, thissop,
"radius", cookparms.
getCookTime(), 0);
1830 if (!thissop)
return getWidth();
1832 OP_Utils::evalOpParm(result, thissop,
"width", cookparms.
getCookTime(), 0);
1840 if (!thissop)
return getReverseCrossSections();
1842 OP_Utils::evalOpParm(result, thissop,
"reversecrosssections", cookparms.
getCookTime(), 0);
1850 if (!thissop)
return getStretchAroundTurns();
1852 OP_Utils::evalOpParm(result, thissop,
"stretcharoundturns", cookparms.
getCookTime(), 0);
1860 if (!thissop)
return getMaxStretchAroundTurns();
1862 OP_Utils::evalOpParm(result, thissop,
"maxstretcharoundturns", cookparms.
getCookTime(), 0);
1870 if (!thissop)
return getEndCapType();
1872 OP_Utils::evalOpParm(result, thissop,
"endcaptype", cookparms.
getCookTime(), 0);
1880 if (!thissop)
return getCapDivs();
1882 OP_Utils::evalOpParm(result, thissop,
"capdivs", cookparms.
getCookTime(), 0);
1890 if (!thissop)
return getTriangularPoles();
1892 OP_Utils::evalOpParm(result, thissop,
"triangularpoles", cookparms.
getCookTime(), 0);
1900 if (!thissop)
return getCapScale();
1902 OP_Utils::evalOpParm(result, thissop,
"capscale", cookparms.
getCookTime(), 0);
1910 if (!thissop)
return getCapRoundness();
1912 OP_Utils::evalOpParm(result, thissop,
"caproundness", cookparms.
getCookTime(), 0);
1920 if (!thissop)
return getAddEndCapsGroup();
1922 OP_Utils::evalOpParm(result, thissop,
"addendcapsgroup", cookparms.
getCookTime(), 0);
1930 if (!thissop)
return getEndCapsGroup();
1932 OP_Utils::evalOpParm(result, thissop,
"endcapsgroup", cookparms.
getCookTime(), 0);
1940 if (!thissop)
return getApplyScale();
1942 OP_Utils::evalOpParm(result, thissop,
"applyscale", cookparms.
getCookTime(), 0);
1950 if (!thissop)
return getScaleRamp();
1952 OP_Utils::evalOpParm(result, thissop,
"scaleramp", cookparms.
getCookTime(), 0);
1960 if (!thissop)
return getROrd();
1962 OP_Utils::evalOpParm(result, thissop,
"rOrd", cookparms.
getCookTime(), 0);
1963 return ROrd(result);
1970 if (!thissop)
return getApplyRoll();
1972 OP_Utils::evalOpParm(result, thissop,
"applyroll", cookparms.
getCookTime(), 0);
1980 if (!thissop)
return getRoll();
1982 OP_Utils::evalOpParm(result, thissop,
"roll", cookparms.
getCookTime(), 0);
1990 if (!thissop)
return getFullTwists();
1992 OP_Utils::evalOpParm(result, thissop,
"fulltwists", cookparms.
getCookTime(), 0);
2000 if (!thissop)
return getIncRoll();
2002 OP_Utils::evalOpParm(result, thissop,
"incroll", cookparms.
getCookTime(), 0);
2010 if (!thissop)
return getRollPer();
2012 OP_Utils::evalOpParm(result, thissop,
"rollper", cookparms.
getCookTime(), 0);
2020 if (!thissop)
return getRollAttrib();
2022 OP_Utils::evalOpParm(result, thissop,
"rollattrib", cookparms.
getCookTime(), 0);
2030 if (!thissop)
return getApplyYaw();
2032 OP_Utils::evalOpParm(result, thissop,
"applyyaw", cookparms.
getCookTime(), 0);
2040 if (!thissop)
return getYaw();
2042 OP_Utils::evalOpParm(result, thissop,
"yaw", cookparms.
getCookTime(), 0);
2050 if (!thissop)
return getIncYaw();
2052 OP_Utils::evalOpParm(result, thissop,
"incyaw", cookparms.
getCookTime(), 0);
2060 if (!thissop)
return getYawPer();
2062 OP_Utils::evalOpParm(result, thissop,
"yawper", cookparms.
getCookTime(), 0);
2070 if (!thissop)
return getYawAttrib();
2072 OP_Utils::evalOpParm(result, thissop,
"yawattrib", cookparms.
getCookTime(), 0);
2080 if (!thissop)
return getApplyPitch();
2082 OP_Utils::evalOpParm(result, thissop,
"applypitch", cookparms.
getCookTime(), 0);
2090 if (!thissop)
return getPitch();
2092 OP_Utils::evalOpParm(result, thissop,
"pitch", cookparms.
getCookTime(), 0);
2100 if (!thissop)
return getIncPitch();
2102 OP_Utils::evalOpParm(result, thissop,
"incpitch", cookparms.
getCookTime(), 0);
2110 if (!thissop)
return getPitchPer();
2112 OP_Utils::evalOpParm(result, thissop,
"pitchper", cookparms.
getCookTime(), 0);
2120 if (!thissop)
return getPitchAttrib();
2122 OP_Utils::evalOpParm(result, thissop,
"pitchattrib", cookparms.
getCookTime(), 0);
2130 if (!thissop)
return getCopyOrder();
2132 OP_Utils::evalOpParm(result, thissop,
"copyorder", cookparms.
getCookTime(), 0);
2140 if (!thissop)
return getCrossSectionAttrib();
2142 OP_Utils::evalOpParm(result, thissop,
"crosssectionattrib", cookparms.
getCookTime(), 0);
2152 OP_Utils::evalOpParm(result, thissop,
"primtype", cookparms.
getCookTime(), 0);
2160 if (!thissop)
return getUnrollClosedRowCol();
2162 OP_Utils::evalOpParm(result, thissop,
"unrollclosedrowcol", cookparms.
getCookTime(), 0);
2170 if (!thissop)
return getSwapRowCol();
2172 OP_Utils::evalOpParm(result, thissop,
"swaprowcol", cookparms.
getCookTime(), 0);
2180 if (!thissop)
return getCloseIfNoCurveInput();
2182 OP_Utils::evalOpParm(result, thissop,
"closeifnocurveinput", cookparms.
getCookTime(), 0);
2190 if (!thissop)
return getTangentType();
2192 OP_Utils::evalOpParm(result, thissop,
"tangenttype", cookparms.
getCookTime(), 0);
2200 if (!thissop)
return getContinuousClosed();
2202 OP_Utils::evalOpParm(result, thissop,
"continuousclosed", cookparms.
getCookTime(), 0);
2210 if (!thissop)
return getExtrapolateEndTangents();
2212 OP_Utils::evalOpParm(result, thissop,
"extrapolateendtangents", cookparms.
getCookTime(), 0);
2220 if (!thissop)
return getTransformByAttribs();
2222 OP_Utils::evalOpParm(result, thissop,
"transformbyattribs", cookparms.
getCookTime(), 0);
2230 if (!thissop)
return getComputeUVs();
2232 OP_Utils::evalOpParm(result, thissop,
"computeuvs", cookparms.
getCookTime(), 0);
2240 if (!thissop)
return getOverrideExistingUVs();
2242 OP_Utils::evalOpParm(result, thissop,
"overrideexistinguvs", cookparms.
getCookTime(), 0);
2250 if (!thissop)
return getLengthWeightedUVs();
2252 OP_Utils::evalOpParm(result, thissop,
"lengthweighteduvs", cookparms.
getCookTime(), 0);
2260 if (!thissop)
return getNormalizeU();
2262 OP_Utils::evalOpParm(result, thissop,
"normalizeu", cookparms.
getCookTime(), 0);
2270 if (!thissop)
return getNormalizeV();
2272 OP_Utils::evalOpParm(result, thissop,
"normalizev", cookparms.
getCookTime(), 0);
2280 if (!thissop)
return getFlipU();
2282 OP_Utils::evalOpParm(result, thissop,
"flipu", cookparms.
getCookTime(), 0);
2290 if (!thissop)
return getUVScale();
2292 OP_Utils::evalOpParm(result, thissop,
"uvscale", cookparms.
getCookTime(), 0);
2300 if (!thissop)
return getUseMeshEdgeLengths();
2302 OP_Utils::evalOpParm(result, thissop,
"usemeshedgelengths", cookparms.
getCookTime(), 0);
2310 if (!thissop)
return getPropScalePerCurve();
2312 OP_Utils::evalOpParm(result, thissop,
"propscalepercurve", cookparms.
getCookTime(), 0);
2320 if (!thissop)
return getWrapU();
2322 OP_Utils::evalOpParm(result, thissop,
"wrapu", cookparms.
getCookTime(), 0);
2330 if (!thissop)
return getWrapV();
2332 OP_Utils::evalOpParm(result, thissop,
"wrapv", cookparms.
getCookTime(), 0);
2340 if (!thissop)
return getAttribsFromBackbone();
2342 OP_Utils::evalOpParm(result, thissop,
"attribsfrombackbone", cookparms.
getCookTime(), 0);
2350 if (!thissop)
return getAttribsFromCrossSection();
2352 OP_Utils::evalOpParm(result, thissop,
"attribsfromcrosssection", cookparms.
getCookTime(), 0);
2360 if (!thissop)
return getAddPointRow();
2362 OP_Utils::evalOpParm(result, thissop,
"addptrow", cookparms.
getCookTime(), 0);
2370 if (!thissop)
return getPtRowAttrib();
2372 OP_Utils::evalOpParm(result, thissop,
"ptrowattrib", cookparms.
getCookTime(), 0);
2380 if (!thissop)
return getAddPointCol();
2382 OP_Utils::evalOpParm(result, thissop,
"addptcol", cookparms.
getCookTime(), 0);
2390 if (!thissop)
return getPtColAttrib();
2392 OP_Utils::evalOpParm(result, thissop,
"ptcolattrib", cookparms.
getCookTime(), 0);
2400 if (!thissop)
return getAddPrimRow();
2402 OP_Utils::evalOpParm(result, thissop,
"addprimrow", cookparms.
getCookTime(), 0);
2410 if (!thissop)
return getPrimRowAttrib();
2412 OP_Utils::evalOpParm(result, thissop,
"primrowattrib", cookparms.
getCookTime(), 0);
2420 if (!thissop)
return getAddPrimCol();
2422 OP_Utils::evalOpParm(result, thissop,
"addprimcol", cookparms.
getCookTime(), 0);
2430 if (!thissop)
return getPrimColAttrib();
2432 OP_Utils::evalOpParm(result, thissop,
"primcolattrib", cookparms.
getCookTime(), 0);
2440 if (!thissop)
return getAddCrossSectionNum();
2442 OP_Utils::evalOpParm(result, thissop,
"addcrosssectionnum", cookparms.
getCookTime(), 0);
2450 if (!thissop)
return getCrossSectionNumAttrib();
2452 OP_Utils::evalOpParm(result, thissop,
"crosssectionnumattrib", cookparms.
getCookTime(), 0);
2460 if (!thissop)
return getAddCurveNum();
2462 OP_Utils::evalOpParm(result, thissop,
"addcurvenum", cookparms.
getCookTime(), 0);
2470 if (!thissop)
return getCurveNumAttrib();
2472 OP_Utils::evalOpParm(result, thissop,
"curvenumattrib", cookparms.
getCookTime(), 0);
2480 if (!thissop)
return getUpVectorType();
2482 OP_Utils::evalOpParm(result, thissop,
"upvectortype", cookparms.
getCookTime(), 0);
2490 if (!thissop)
return getUpVectorAtStart();
2492 OP_Utils::evalOpParm(result, thissop,
"upvectoratstart", cookparms.
getCookTime(), 0);
2500 if (!thissop)
return getUseEndUpVector();
2502 OP_Utils::evalOpParm(result, thissop,
"useendupvector", cookparms.
getCookTime(), 0);
2510 if (!thissop)
return getUpVectorAttrib();
2512 OP_Utils::evalOpParm(result, thissop,
"upvectorattrib", cookparms.
getCookTime(), 0);
2520 if (!thissop)
return getEndUpVectorAttrib();
2522 OP_Utils::evalOpParm(result, thissop,
"endupvectorattrib", cookparms.
getCookTime(), 0);
2530 if (!thissop)
return getUpVector();
2532 OP_Utils::evalOpParm(result, thissop,
"upvector", cookparms.
getCookTime(), 0);
2540 if (!thissop)
return getEndUpVector();
2542 OP_Utils::evalOpParm(result, thissop,
"endupvector", cookparms.
getCookTime(), 0);
2549 int64 mySurfaceShape;
2550 int64 mySurfaceType;
2555 bool myReverseCrossSections;
2556 bool myStretchAroundTurns;
2560 bool myTriangularPoles;
2563 bool myAddEndCapsGroup;
2587 bool myUnrollClosedRowCol;
2589 bool myCloseIfNoCurveInput;
2590 int64 myTangentType;
2591 bool myContinuousClosed;
2592 bool myExtrapolateEndTangents;
2593 bool myTransformByAttribs;
2595 bool myOverrideExistingUVs;
2596 bool myLengthWeightedUVs;
2601 bool myUseMeshEdgeLengths;
2602 bool myPropScalePerCurve;
2615 bool myAddCrossSectionNum;
2619 int64 myUpVectorType;
2620 bool myUpVectorAtStart;
2621 bool myUseEndUpVector;
const UT_StringHolder & getPitchAttrib() const
void setPropScalePerCurve(bool val)
fpreal64 getPitch() const
bool getPropScalePerCurve() const
void setComputeUVs(bool val)
bool getTransformByAttribs() const
bool getStretchAroundTurns() const
fpreal64 getRadius() const
fpreal64 getScale() const
const UT_StringHolder & getEndUpVectorAttrib() const
void setWidth(fpreal64 val)
bool getApplyRoll() const
UpVectorType getUpVectorType() const
static void loadData(UT_IStream &is, UT_Vector4I &v)
bool opAddPointCol(const SOP_NodeVerb::CookParms &cookparms) const
YawPer opYawPer(const SOP_NodeVerb::CookParms &cookparms) const
bool opPropScalePerCurve(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getIncPitch() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
bool getOverrideExistingUVs() const
SOP_Node * getNode() const
bool opNormalizeU(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getPtColAttrib() const
bool getNormalizeU() const
void setPitch(fpreal64 val)
void setAddPrimCol(bool val)
static void saveData(std::ostream &os, UT_Vector4D v)
void setRadius(fpreal64 val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
bool opUnrollClosedRowCol(const SOP_NodeVerb::CookParms &cookparms) const
void setCrossSectionNumAttrib(const UT_StringHolder &val)
void setPtRowAttrib(const UT_StringHolder &val)
bool getUseEndUpVector() const
const UT_StringHolder & getCurveNumAttrib() const
void setTransformByAttribs(bool val)
fpreal64 opWidth(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getEndCapsGroup() const
virtual NodeIdx getInput(NodeIdx idx, int input, bool markused=false) const =0
fpreal64 opRoll(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix4D v)
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
exint bread(int32 *buffer, exint asize=1)
PrimType opPrimType(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opCurveGroup(const SOP_NodeVerb::CookParms &cookparms) const
GT_API const UT_StringHolder time
fpreal64 opIncPitch(const SOP_NodeVerb::CookParms &cookparms) const
void setUpVectorAtStart(bool val)
bool getUnrollClosedRowCol() const
void setPrimColAttrib(const UT_StringHolder &val)
UT_Vector2T< fpreal64 > UT_Vector2D
fpreal64 getWidth() const
UT_StringHolder opPrimColAttrib(const SOP_NodeVerb::CookParms &cookparms) const
UpVectorType opUpVectorType(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opRadius(const SOP_NodeVerb::CookParms &cookparms) const
exint getNestNumParms(TempIndex idx) const override
bool opApplyYaw(const SOP_NodeVerb::CookParms &cookparms) const
bool opAddPrimRow(const SOP_NodeVerb::CookParms &cookparms) const
bool opWrapV(const SOP_NodeVerb::CookParms &cookparms) const
void setRoll(fpreal64 val)
bool opComputeUVs(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opAttribsFromBackbone(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseEndUpVector(const SOP_NodeVerb::CookParms &cookparms) const
void setYaw(fpreal64 val)
constexpr SYS_FORCE_INLINE T & z() noexcept
void setEndCapsGroup(const UT_StringHolder &val)
SYS_FORCE_INLINE const char * buffer() const
void setEndUpVectorAttrib(const UT_StringHolder &val)
const SOP_GraphProxy * graph() const
void setTriangularPoles(bool val)
void setPrimRowAttrib(const UT_StringHolder &val)
void setCloseIfNoCurveInput(bool val)
void setAddCurveNum(bool val)
UT_Vector3D getEndUpVector() const
An output stream object that owns its own string buffer storage.
static void saveData(std::ostream &os, fpreal64 v)
static void saveData(std::ostream &os, PRM_DataItemHandle s)
bool getUpVectorAtStart() const
UT_StringHolder opUpVectorAttrib(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix3D &v)
const UT_StringHolder & getCurveGroup() const
void setUpVectorType(UpVectorType val)
bool getAddPointCol() const
void setOverrideExistingUVs(bool val)
void setAddPointRow(bool val)
static void loadData(UT_IStream &is, int64 &v)
static void saveData(std::ostream &os, bool v)
static void loadData(UT_IStream &is, UT_Vector2D &v)
void setSurfaceShape(SurfaceShape val)
ROrd opROrd(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opIncYaw(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
bool opCloseIfNoCurveInput(const SOP_NodeVerb::CookParms &cookparms) const
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
bool getContinuousClosed() const
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
const UT_StringHolder & getCrossSectionGroup() const
const UT_StringHolder & getRollAttrib() const
void setCapDivs(int64 val)
static void loadData(UT_IStream &is, fpreal64 &v)
const UT_StringHolder & getYawAttrib() const
void setPtColAttrib(const UT_StringHolder &val)
UT_StringHolder opCrossSectionAttrib(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opIncRoll(const SOP_NodeVerb::CookParms &cookparms) const
bool opLengthWeightedUVs(const SOP_NodeVerb::CookParms &cookparms) const
ParmType getNestParmType(TempIndex fieldnum) const override
bool getNormalizeV() const
void setMaxStretchAroundTurns(fpreal64 val)
bool getTriangularPoles() const
bool getAddCurveNum() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
void setUpVectorAttrib(const UT_StringHolder &val)
bool opSwapRowCol(const SOP_NodeVerb::CookParms &cookparms) const
PrimType getPrimType() const
void setCrossSectionGroup(const UT_StringHolder &val)
void setAttribsFromCrossSection(const UT_StringHolder &val)
bool getUseMeshEdgeLengths() const
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
void setApplyYaw(bool val)
void setAddCrossSectionNum(bool val)
PitchPer opPitchPer(const SOP_NodeVerb::CookParms &cookparms) const
void loadFromOpSubclass(const LoadParms &loadparms) override
void setAddPointCol(bool val)
bool opAddCurveNum(const SOP_NodeVerb::CookParms &cookparms) const
bool getExtrapolateEndTangents() const
static void loadData(UT_IStream &is, UT_Vector3I &v)
UT_SharedPtr< UT_Ramp > opScaleRamp(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getCapRoundness() const
SurfaceType getSurfaceType() const
void save(std::ostream &os) const
static void loadData(UT_IStream &is, UT_Matrix2D &v)
bool opNormalizeV(const SOP_NodeVerb::CookParms &cookparms) const
void setRollAttrib(const UT_StringHolder &val)
bool getApplyScale() const
SurfaceShape getSurfaceShape() const
fpreal64 getMaxStretchAroundTurns() const
UT_StringHolder opCurveNumAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
void setFullTwists(int64 val)
const char * getNestParmName(TempIndex fieldnum) const override
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
const UT_StringHolder & getPtRowAttrib() const
bool getSwapRowCol() const
void setStretchAroundTurns(bool val)
void setCapRoundness(fpreal64 val)
static void loadData(UT_IStream &is, UT_StringHolder &v)
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
bool getAddPrimRow() const
void setUpVector(UT_Vector3D val)
void setAddPrimRow(bool val)
fpreal64 opCapScale(const SOP_NodeVerb::CookParms &cookparms) const
void buildFromOp(const SOP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
bool getAddPrimCol() const
int64 opCols(const SOP_NodeVerb::CookParms &cookparms) const
bool opAddPrimCol(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opScale(const SOP_NodeVerb::CookParms &cookparms) const
void setReverseCrossSections(bool val)
void setApplyRoll(bool val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
bool getComputeUVs() const
bool getAddEndCapsGroup() const
bool load(UT_IStream &is)
void setPitchAttrib(const UT_StringHolder &val)
void setNormalizeV(bool val)
UT_StringHolder opEndCapsGroup(const SOP_NodeVerb::CookParms &cookparms) const
EndCapType getEndCapType() const
void setScaleRamp(UT_SharedPtr< UT_Ramp > val)
void setScale(fpreal64 val)
void setCapScale(fpreal64 val)
void setAddEndCapsGroup(bool val)
void setPrimType(PrimType val)
void setIncPitch(fpreal64 val)
UT_Vector3T< fpreal64 > UT_Vector3D
UT_StringHolder opPitchAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
void copyFrom(const SOP_NodeParms *src) override
void setEndCapType(EndCapType val)
void setCrossSectionAttrib(const UT_StringHolder &val)
fpreal64 getIncYaw() const
static void loadData(UT_IStream &is, bool &v)
fpreal64 getCapScale() const
void setUseMeshEdgeLengths(bool val)
void setYawAttrib(const UT_StringHolder &val)
void setYawPer(YawPer val)
TangentType opTangentType(const SOP_NodeVerb::CookParms &cookparms) const
bool getReverseCrossSections() const
bool opAddPointRow(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector3D &v)
void saveBinary(std::ostream &os) const
Save string to binary stream.
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
bool getAddPointRow() const
bool getCloseIfNoCurveInput() const
const UT_StringHolder & getPrimColAttrib() const
GT_API const UT_StringHolder version
DEP_MicroNode * depnode() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
void setLengthWeightedUVs(bool val)
bool opOverrideExistingUVs(const SOP_NodeVerb::CookParms &cookparms) const
void setIncYaw(fpreal64 val)
static void saveData(std::ostream &os, UT_Vector2D v)
const UT_StringHolder & getAttribsFromBackbone() const
void setUnrollClosedRowCol(bool val)
bool opUpVectorAtStart(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix3D v)
void setRollPer(RollPer val)
bool opWrapU(const SOP_NodeVerb::CookParms &cookparms) const
void setPitchPer(PitchPer val)
UT_StringHolder opEndUpVectorAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setUVScale(UT_Vector2D val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
bool opApplyPitch(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const SOP_Sweep_2_0Parms &src) const
void setCurveGroup(const UT_StringHolder &val)
bool opAddEndCapsGroup(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opPrimRowAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
fpreal64 opPitch(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D opEndUpVector(const SOP_NodeVerb::CookParms &cookparms) const
void setTangentType(TangentType val)
bool getLengthWeightedUVs() const
void setApplyPitch(bool val)
UT_StringHolder opCrossSectionNumAttrib(const SOP_NodeVerb::CookParms &cookparms) const
Utility class for containing a color ramp.
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
void setAttribsFromBackbone(const UT_StringHolder &val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
static void loadData(UT_IStream &is, UT_Vector2I &v)
void setCopyOrder(CopyOrder val)
const UT_StringHolder & getCrossSectionAttrib() const
bool opApplyRoll(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getAttribsFromCrossSection() const
static void loadData(UT_IStream &is, UT_Vector4D &v)
int64 opCapDivs(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
void setExtrapolateEndTangents(bool val)
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.
bool opReverseCrossSections(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opCapRoundness(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opYawAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
UT_StringHolder opPtColAttrib(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opPtRowAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
fpreal64 opYaw(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseMeshEdgeLengths(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opMaxStretchAroundTurns(const SOP_NodeVerb::CookParms &cookparms) const
bool opTriangularPoles(const SOP_NodeVerb::CookParms &cookparms) const
bool opStretchAroundTurns(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Vector3D v)
fpreal getCookTime() const
void setCurveNumAttrib(const UT_StringHolder &val)
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
bool getApplyPitch() const
void setApplyScale(bool val)
UT_StringHolder opCrossSectionGroup(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
bool opFlipU(const SOP_NodeVerb::CookParms &cookparms) const
const char * findChar(int c) const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
UT_SharedPtr< UT_Ramp > getScaleRamp() const
const UT_StringHolder & getCrossSectionNumAttrib() const
void setSurfaceType(SurfaceType val)
~SOP_Sweep_2_0Parms() override
void setNormalizeU(bool val)
int64 getFullTwists() const
PitchPer getPitchPer() const
RollPer getRollPer() const
fpreal64 getIncRoll() const
EndCapType opEndCapType(const SOP_NodeVerb::CookParms &cookparms) const
void setEndUpVector(UT_Vector3D val)
void setSwapRowCol(bool val)
constexpr SYS_FORCE_INLINE T & y() noexcept
void setUseEndUpVector(bool val)
bool opApplyScale(const SOP_NodeVerb::CookParms &cookparms) const
CopyOrder opCopyOrder(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D getUVScale() const
void setIncRoll(fpreal64 val)
const UT_StringHolder & getPrimRowAttrib() const
UT_Vector3D getUpVector() const
CopyOrder getCopyOrder() const
static void saveData(std::ostream &os, UT_Matrix2D v)
bool opAddCrossSectionNum(const SOP_NodeVerb::CookParms &cookparms) const
int64 opFullTwists(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3D opUpVector(const SOP_NodeVerb::CookParms &cookparms) const
GEO_API int getPrimType(const TypeMask &mask)
UT_StringHolder opAttribsFromCrossSection(const SOP_NodeVerb::CookParms &cookparms) const
const OP_Context & context() const
bool getAddCrossSectionNum() const
UT_StringHolder opRollAttrib(const SOP_NodeVerb::CookParms &cookparms) const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
SurfaceType opSurfaceType(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getUpVectorAttrib() const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
SYS_FORCE_INLINE bool isstring() const
bool opExtrapolateEndTangents(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D opUVScale(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
TangentType getTangentType() const
SurfaceShape opSurfaceShape(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_StringHolder s)
bool opTransformByAttribs(const SOP_NodeVerb::CookParms &cookparms) const
bool operator!=(const SOP_Sweep_2_0Parms &src) const
static void saveData(std::ostream &os, int64 v)
RollPer opRollPer(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & x() noexcept
void setContinuousClosed(bool val)
bool opContinuousClosed(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override