23 namespace SOP_TangentFieldEnums
34 using namespace UT::Literal;
51 using namespace UT::Literal;
68 using namespace UT::Literal;
86 using namespace UT::Literal;
105 using namespace UT::Literal;
106 switch (enum_value) {
124 using namespace UT::Literal;
125 switch (enum_value) {
147 myGlobalWeight = 0.1;
148 myGlobalMask =
""_UTsh;
150 myLocalCurvatureWeight = 1;
151 myCurvatureMaskAttrib =
""_UTsh;
152 myCurvatureRotation = 0;
155 myLocalBoundaryWeight = 1;
156 myBoundaryMaskAttrib =
""_UTsh;
157 myBoundaryRotation = 0;
160 myLocalGuideWeight = 1;
161 myGuideMaskAttrib =
""_UTsh;
162 myGuideAttrib =
""_UTsh;
163 myAnisotropyWeight = 0.;
164 myAnisotropyMask =
""_UTsh;
165 myAnisotropyCurvature =
true;
166 myAnisotropyCurvatureWeight = 1;
167 myAnisotropyCurvatureMask =
""_UTsh;
168 myAnisotropyGuide =
true;
169 myAnisotropyGuideWeight = 1;
170 myAnisotropyGuideMask =
""_UTsh;
171 myAnisotropyGuideAttrib =
""_UTsh;
172 myAnisotropySizing =
true;
173 myAnisotropySizingWeight = 1;
174 myAnisotropySizingMask =
""_UTsh;
175 myAnisotropySizingAttrib =
""_UTsh;
176 myFieldAttrib =
"field"_UTsh;
177 myNormalizeField =
true;
179 myUseSingularGroup =
false;
180 mySingularGroup =
"singular"_UTsh;
181 myUsePositiveSingularGroup =
false;
182 myPositiveSingularGroup =
"positive_singular"_UTsh;
183 myUseNegativeSingularGroup =
false;
184 myNegativeSingularGroup =
"negative_singular"_UTsh;
185 myUseDiscontinuitiesGroup =
false;
186 myDiscontinuities =
"discontinuities"_UTsh;
188 myFieldscalemode = 0;
190 myShowSingularities =
true;
191 myShowGuides =
false;
192 myGuidescalemode = 0;
194 myShowAnisotropy =
false;
195 myAnisotropyscale = 1;
208 if (myGroup != src.myGroup)
return false;
209 if (myCarrier != src.myCarrier)
return false;
210 if (myDirections != src.myDirections)
return false;
211 if (myRotation != src.myRotation)
return false;
212 if (myGlobalWeight != src.myGlobalWeight)
return false;
213 if (myGlobalMask != src.myGlobalMask)
return false;
214 if (myCurvature != src.myCurvature)
return false;
215 if (myLocalCurvatureWeight != src.myLocalCurvatureWeight)
return false;
216 if (myCurvatureMaskAttrib != src.myCurvatureMaskAttrib)
return false;
217 if (myCurvatureRotation != src.myCurvatureRotation)
return false;
218 if (myBoundary != src.myBoundary)
return false;
219 if (myBoundaryMode != src.myBoundaryMode)
return false;
220 if (myLocalBoundaryWeight != src.myLocalBoundaryWeight)
return false;
221 if (myBoundaryMaskAttrib != src.myBoundaryMaskAttrib)
return false;
222 if (myBoundaryRotation != src.myBoundaryRotation)
return false;
223 if (myGuide != src.myGuide)
return false;
224 if (myGuideMode != src.myGuideMode)
return false;
225 if (myLocalGuideWeight != src.myLocalGuideWeight)
return false;
226 if (myGuideMaskAttrib != src.myGuideMaskAttrib)
return false;
227 if (myGuideAttrib != src.myGuideAttrib)
return false;
228 if (myAnisotropyWeight != src.myAnisotropyWeight)
return false;
229 if (myAnisotropyMask != src.myAnisotropyMask)
return false;
230 if (myAnisotropyCurvature != src.myAnisotropyCurvature)
return false;
231 if (myAnisotropyCurvatureWeight != src.myAnisotropyCurvatureWeight)
return false;
232 if (myAnisotropyCurvatureMask != src.myAnisotropyCurvatureMask)
return false;
233 if (myAnisotropyGuide != src.myAnisotropyGuide)
return false;
234 if (myAnisotropyGuideWeight != src.myAnisotropyGuideWeight)
return false;
235 if (myAnisotropyGuideMask != src.myAnisotropyGuideMask)
return false;
236 if (myAnisotropyGuideAttrib != src.myAnisotropyGuideAttrib)
return false;
237 if (myAnisotropySizing != src.myAnisotropySizing)
return false;
238 if (myAnisotropySizingWeight != src.myAnisotropySizingWeight)
return false;
239 if (myAnisotropySizingMask != src.myAnisotropySizingMask)
return false;
240 if (myAnisotropySizingAttrib != src.myAnisotropySizingAttrib)
return false;
241 if (myFieldAttrib != src.myFieldAttrib)
return false;
242 if (myNormalizeField != src.myNormalizeField)
return false;
243 if (myOutputMode != src.myOutputMode)
return false;
244 if (myUseSingularGroup != src.myUseSingularGroup)
return false;
245 if (mySingularGroup != src.mySingularGroup)
return false;
246 if (myUsePositiveSingularGroup != src.myUsePositiveSingularGroup)
return false;
247 if (myPositiveSingularGroup != src.myPositiveSingularGroup)
return false;
248 if (myUseNegativeSingularGroup != src.myUseNegativeSingularGroup)
return false;
249 if (myNegativeSingularGroup != src.myNegativeSingularGroup)
return false;
250 if (myUseDiscontinuitiesGroup != src.myUseDiscontinuitiesGroup)
return false;
251 if (myDiscontinuities != src.myDiscontinuities)
return false;
252 if (myShowField != src.myShowField)
return false;
253 if (myFieldscalemode != src.myFieldscalemode)
return false;
254 if (myFieldscale != src.myFieldscale)
return false;
255 if (myShowSingularities != src.myShowSingularities)
return false;
256 if (myShowGuides != src.myShowGuides)
return false;
257 if (myGuidescalemode != src.myGuidescalemode)
return false;
258 if (myGuidescale != src.myGuidescale)
return false;
259 if (myShowAnisotropy != src.myShowAnisotropy)
return false;
260 if (myAnisotropyscale != src.myAnisotropyscale)
return false;
284 graph->
evalOpParm(myGroup, nodeidx,
"group", time, graph->
isDirect()?
nullptr:depnode);
287 graph->
evalOpParm(myCarrier, nodeidx,
"carrier", time, graph->
isDirect()?
nullptr:depnode);
290 graph->
evalOpParm(myDirections, nodeidx,
"directions", time, graph->
isDirect()?
nullptr:depnode);
293 graph->
evalOpParm(myRotation, nodeidx,
"rotation", time, graph->
isDirect()?
nullptr:depnode);
294 myGlobalWeight = 0.1;
296 graph->
evalOpParm(myGlobalWeight, nodeidx,
"globalweight", time, graph->
isDirect()?
nullptr:depnode);
297 myGlobalMask =
""_UTsh;
299 graph->
evalOpParm(myGlobalMask, nodeidx,
"globalmask", time, graph->
isDirect()?
nullptr:depnode);
301 if (
true && ( (
true&&!(((
int64(getDirections())==1)))) ) )
302 graph->
evalOpParm(myCurvature, nodeidx,
"curvature", time, graph->
isDirect()?
nullptr:depnode);
303 myLocalCurvatureWeight = 1;
304 if (
true && ( (
true&&!(((getCurvature()==0))||((
int64(getDirections())==1)))) ) )
305 graph->
evalOpParm(myLocalCurvatureWeight, nodeidx,
"localcurvatureweight", time, graph->
isDirect()?
nullptr:depnode);
306 myCurvatureMaskAttrib =
""_UTsh;
307 if (
true && ( (
true&&!(((getCurvature()==0))||((
int64(getDirections())==1)))) ) )
308 graph->
evalOpParm(myCurvatureMaskAttrib, nodeidx,
"curvaturemaskattrib", time, graph->
isDirect()?
nullptr:depnode);
309 myCurvatureRotation = 0;
310 if (
true && ( (
true&&!(((getCurvature()==0))||((
int64(getDirections())==1)))) ) )
311 graph->
evalOpParm(myCurvatureRotation, nodeidx,
"curvaturerotation", time, graph->
isDirect()?
nullptr:depnode);
314 graph->
evalOpParm(myBoundary, nodeidx,
"boundary", time, graph->
isDirect()?
nullptr:depnode);
316 if (
true && ( (
true&&!(((getBoundary()==0)))) ) )
317 graph->
evalOpParm(myBoundaryMode, nodeidx,
"boundarymode", time, graph->
isDirect()?
nullptr:depnode);
318 myLocalBoundaryWeight = 1;
319 if (
true && ( (
true&&!(((getBoundary()==0)))) ) )
320 graph->
evalOpParm(myLocalBoundaryWeight, nodeidx,
"localboundaryweight", time, graph->
isDirect()?
nullptr:depnode);
321 myBoundaryMaskAttrib =
""_UTsh;
322 if (
true && ( (
true&&!(((getBoundary()==0)))) ) )
323 graph->
evalOpParm(myBoundaryMaskAttrib, nodeidx,
"boundarymaskattrib", time, graph->
isDirect()?
nullptr:depnode);
324 myBoundaryRotation = 0;
325 if (
true && ( (
true&&!(((getBoundary()==0)))) ) )
326 graph->
evalOpParm(myBoundaryRotation, nodeidx,
"boundaryrotation", time, graph->
isDirect()?
nullptr:depnode);
329 graph->
evalOpParm(myGuide, nodeidx,
"guide", time, graph->
isDirect()?
nullptr:depnode);
331 if (
true && ( (
true&&!(((getGuide()==0)))) ) )
332 graph->
evalOpParm(myGuideMode, nodeidx,
"guidemode", time, graph->
isDirect()?
nullptr:depnode);
333 myLocalGuideWeight = 1;
334 if (
true && ( (
true&&!(((getGuide()==0)))) ) )
335 graph->
evalOpParm(myLocalGuideWeight, nodeidx,
"localguideweight", time, graph->
isDirect()?
nullptr:depnode);
336 myGuideMaskAttrib =
""_UTsh;
337 if (
true && ( (
true&&!(((getGuide()==0)))) ) )
338 graph->
evalOpParm(myGuideMaskAttrib, nodeidx,
"guidemaskattrib", time, graph->
isDirect()?
nullptr:depnode);
339 myGuideAttrib =
""_UTsh;
340 if (
true && ( (
true&&!(((getGuide()==0)))) ) )
341 graph->
evalOpParm(myGuideAttrib, nodeidx,
"guideattrib", time, graph->
isDirect()?
nullptr:depnode);
342 myAnisotropyWeight = 0.;
343 if (
true && ( (
true&&!(((
int64(getDirections())!=4))||((
int64(getCarrier())!=1)))) ) )
344 graph->
evalOpParm(myAnisotropyWeight, nodeidx,
"anisotropyweight", time, graph->
isDirect()?
nullptr:depnode);
345 myAnisotropyMask =
""_UTsh;
346 if (
true && ( (
true&&!(((
int64(getDirections())!=4))||((
int64(getCarrier())!=1)))) ) )
347 graph->
evalOpParm(myAnisotropyMask, nodeidx,
"anisotropymask", time, graph->
isDirect()?
nullptr:depnode);
348 myAnisotropyCurvature =
true;
349 if (
true && ( (
true&&!(((
int64(getDirections())!=4))||((
int64(getCarrier())!=1)))) ) )
350 graph->
evalOpParm(myAnisotropyCurvature, nodeidx,
"anisotropycurvature", time, graph->
isDirect()?
nullptr:depnode);
351 myAnisotropyCurvatureWeight = 1;
352 if (
true && ( (
true&&!(((getAnisotropyCurvature()==0))||((
int64(getDirections())!=4))||((
int64(getCarrier())!=1)))) ) )
353 graph->
evalOpParm(myAnisotropyCurvatureWeight, nodeidx,
"anisotropycurvatureweight", time, graph->
isDirect()?
nullptr:depnode);
354 myAnisotropyCurvatureMask =
""_UTsh;
355 if (
true && ( (
true&&!(((getAnisotropyCurvature()==0))||((
int64(getDirections())!=4))||((
int64(getCarrier())!=1)))) ) )
356 graph->
evalOpParm(myAnisotropyCurvatureMask, nodeidx,
"anisotropycurvaturemask", time, graph->
isDirect()?
nullptr:depnode);
357 myAnisotropyGuide =
true;
358 if (
true && ( (
true&&!(((
int64(getDirections())!=4))||((
int64(getCarrier())!=1)))) ) )
359 graph->
evalOpParm(myAnisotropyGuide, nodeidx,
"anisotropyguide", time, graph->
isDirect()?
nullptr:depnode);
360 myAnisotropyGuideWeight = 1;
361 if (
true && ( (
true&&!(((getAnisotropyGuide()==0))||((
int64(getDirections())!=4))||((
int64(getCarrier())!=1)))) ) )
362 graph->
evalOpParm(myAnisotropyGuideWeight, nodeidx,
"anisotropyguideweight", time, graph->
isDirect()?
nullptr:depnode);
363 myAnisotropyGuideMask =
""_UTsh;
364 if (
true && ( (
true&&!(((getAnisotropyGuide()==0))||((
int64(getDirections())!=4))||((
int64(getCarrier())!=1)))) ) )
365 graph->
evalOpParm(myAnisotropyGuideMask, nodeidx,
"anisotropyguidemask", time, graph->
isDirect()?
nullptr:depnode);
366 myAnisotropyGuideAttrib =
""_UTsh;
367 if (
true && ( (
true&&!(((getAnisotropyGuide()==0))||((
int64(getDirections())!=4))||((
int64(getCarrier())!=1)))) ) )
368 graph->
evalOpParm(myAnisotropyGuideAttrib, nodeidx,
"anisotropyguideattrib", time, graph->
isDirect()?
nullptr:depnode);
369 myAnisotropySizing =
true;
370 if (
true && ( (
true&&!(((
int64(getDirections())!=4))||((
int64(getCarrier())!=1)))) ) )
371 graph->
evalOpParm(myAnisotropySizing, nodeidx,
"anisotropysizing", time, graph->
isDirect()?
nullptr:depnode);
372 myAnisotropySizingWeight = 1;
373 if (
true && ( (
true&&!(((getAnisotropySizing()==0))||((
int64(getDirections())!=4))||((
int64(getCarrier())!=1)))) ) )
374 graph->
evalOpParm(myAnisotropySizingWeight, nodeidx,
"anisotropysizingweight", time, graph->
isDirect()?
nullptr:depnode);
375 myAnisotropySizingMask =
""_UTsh;
376 if (
true && ( (
true&&!(((getAnisotropySizing()==0))||((
int64(getDirections())!=4))||((
int64(getCarrier())!=1)))) ) )
377 graph->
evalOpParm(myAnisotropySizingMask, nodeidx,
"anisotropysizingmask", time, graph->
isDirect()?
nullptr:depnode);
378 myAnisotropySizingAttrib =
""_UTsh;
379 if (
true && ( (
true&&!(((getAnisotropySizing()==0))||((
int64(getDirections())!=4))||((
int64(getCarrier())!=1)))) ) )
380 graph->
evalOpParm(myAnisotropySizingAttrib, nodeidx,
"anisotropysizingattrib", time, graph->
isDirect()?
nullptr:depnode);
381 myFieldAttrib =
"field"_UTsh;
383 graph->
evalOpParm(myFieldAttrib, nodeidx,
"fieldattrib", time, graph->
isDirect()?
nullptr:depnode);
384 myNormalizeField =
true;
386 graph->
evalOpParm(myNormalizeField, nodeidx,
"normalizefield", time, graph->
isDirect()?
nullptr:depnode);
388 if (
true && ( (
true&&!(((
int64(getDirections())==1)))) ) )
389 graph->
evalOpParm(myOutputMode, nodeidx,
"outputmode", time, graph->
isDirect()?
nullptr:depnode);
390 myUseSingularGroup =
false;
392 graph->
evalOpParm(myUseSingularGroup, nodeidx,
"usesingulargroup", time, graph->
isDirect()?
nullptr:depnode);
393 mySingularGroup =
"singular"_UTsh;
394 if (
true && ( (
true&&!(((getUseSingularGroup()==0)))) ) )
395 graph->
evalOpParm(mySingularGroup, nodeidx,
"singulargroup", time, graph->
isDirect()?
nullptr:depnode);
396 myUsePositiveSingularGroup =
false;
398 graph->
evalOpParm(myUsePositiveSingularGroup, nodeidx,
"usepositivesingulargroup", time, graph->
isDirect()?
nullptr:depnode);
399 myPositiveSingularGroup =
"positive_singular"_UTsh;
400 if (
true && ( (
true&&!(((getUsePositiveSingularGroup()==0)))) ) )
401 graph->
evalOpParm(myPositiveSingularGroup, nodeidx,
"positivesingulargroup", time, graph->
isDirect()?
nullptr:depnode);
402 myUseNegativeSingularGroup =
false;
404 graph->
evalOpParm(myUseNegativeSingularGroup, nodeidx,
"usenegativesingulargroup", time, graph->
isDirect()?
nullptr:depnode);
405 myNegativeSingularGroup =
"negative_singular"_UTsh;
406 if (
true && ( (
true&&!(((getUseNegativeSingularGroup()==0)))) ) )
407 graph->
evalOpParm(myNegativeSingularGroup, nodeidx,
"negativesingulargroup", time, graph->
isDirect()?
nullptr:depnode);
408 myUseDiscontinuitiesGroup =
false;
410 graph->
evalOpParm(myUseDiscontinuitiesGroup, nodeidx,
"usediscontinuitiesgroup", time, graph->
isDirect()?
nullptr:depnode);
411 myDiscontinuities =
"discontinuities"_UTsh;
412 if (
true && ( (
true&&!(((getUseDiscontinuitiesGroup()==0)))) ) )
413 graph->
evalOpParm(myDiscontinuities, nodeidx,
"discontinuities", time, graph->
isDirect()?
nullptr:depnode);
416 graph->
evalOpParm(myShowField, nodeidx,
"showfield", time, graph->
isDirect()?
nullptr:depnode);
417 myFieldscalemode = 0;
418 if (
true && ( (
true&&!(((getShowField()==0)))) ) )
419 graph->
evalOpParm(myFieldscalemode, nodeidx,
"fieldscalemode", time, graph->
isDirect()?
nullptr:depnode);
421 if (
true && ( (
true&&!(((
int64(getFieldscalemode())==1))||((getShowField()==0)))) ) )
422 graph->
evalOpParm(myFieldscale, nodeidx,
"fieldscale", time, graph->
isDirect()?
nullptr:depnode);
423 myShowSingularities =
true;
425 graph->
evalOpParm(myShowSingularities, nodeidx,
"showsingularities", time, graph->
isDirect()?
nullptr:depnode);
426 myShowGuides =
false;
428 graph->
evalOpParm(myShowGuides, nodeidx,
"showguides", time, graph->
isDirect()?
nullptr:depnode);
429 myGuidescalemode = 0;
430 if (
true && ( (
true&&!(((getShowGuides()==0)))) ) )
431 graph->
evalOpParm(myGuidescalemode, nodeidx,
"guidescalemode", time, graph->
isDirect()?
nullptr:depnode);
433 if (
true && ( (
true&&!(((getShowGuides()==0))||((
int64(getGuidescalemode())==1)))) ) )
434 graph->
evalOpParm(myGuidescale, nodeidx,
"guidescale", time, graph->
isDirect()?
nullptr:depnode);
435 myShowAnisotropy =
false;
437 graph->
evalOpParm(myShowAnisotropy, nodeidx,
"showanisotropy", time, graph->
isDirect()?
nullptr:depnode);
438 myAnisotropyscale = 1;
439 if (
true && ( (
true&&!(((getShowAnisotropy()==0)))) ) )
440 graph->
evalOpParm(myAnisotropyscale, nodeidx,
"anisotropyscale", time, graph->
isDirect()?
nullptr:depnode);
456 template <
typename T>
463 if (idx.
size() != instance.
size()+1)
468 coerceValue(value, myGroup);
471 coerceValue(value, myCarrier);
474 coerceValue(value, myDirections);
477 coerceValue(value, myRotation);
480 coerceValue(value, myGlobalWeight);
483 coerceValue(value, myGlobalMask);
486 coerceValue(value, myCurvature);
489 coerceValue(value, myLocalCurvatureWeight);
492 coerceValue(value, myCurvatureMaskAttrib);
495 coerceValue(value, myCurvatureRotation);
498 coerceValue(value, myBoundary);
501 coerceValue(value, myBoundaryMode);
504 coerceValue(value, myLocalBoundaryWeight);
507 coerceValue(value, myBoundaryMaskAttrib);
510 coerceValue(value, myBoundaryRotation);
513 coerceValue(value, myGuide);
516 coerceValue(value, myGuideMode);
519 coerceValue(value, myLocalGuideWeight);
522 coerceValue(value, myGuideMaskAttrib);
525 coerceValue(value, myGuideAttrib);
528 coerceValue(value, myAnisotropyWeight);
531 coerceValue(value, myAnisotropyMask);
534 coerceValue(value, myAnisotropyCurvature);
537 coerceValue(value, myAnisotropyCurvatureWeight);
540 coerceValue(value, myAnisotropyCurvatureMask);
543 coerceValue(value, myAnisotropyGuide);
546 coerceValue(value, myAnisotropyGuideWeight);
549 coerceValue(value, myAnisotropyGuideMask);
552 coerceValue(value, myAnisotropyGuideAttrib);
555 coerceValue(value, myAnisotropySizing);
558 coerceValue(value, myAnisotropySizingWeight);
561 coerceValue(value, myAnisotropySizingMask);
564 coerceValue(value, myAnisotropySizingAttrib);
567 coerceValue(value, myFieldAttrib);
570 coerceValue(value, myNormalizeField);
573 coerceValue(value, myOutputMode);
576 coerceValue(value, myUseSingularGroup);
579 coerceValue(value, mySingularGroup);
582 coerceValue(value, myUsePositiveSingularGroup);
585 coerceValue(value, myPositiveSingularGroup);
588 coerceValue(value, myUseNegativeSingularGroup);
591 coerceValue(value, myNegativeSingularGroup);
594 coerceValue(value, myUseDiscontinuitiesGroup);
597 coerceValue(value, myDiscontinuities);
600 coerceValue(value, myShowField);
603 coerceValue(value, myFieldscalemode);
606 coerceValue(value, myFieldscale);
609 coerceValue(value, myShowSingularities);
612 coerceValue(value, myShowGuides);
615 coerceValue(value, myGuidescalemode);
618 coerceValue(value, myGuidescale);
621 coerceValue(value, myShowAnisotropy);
624 coerceValue(value, myAnisotropyscale);
640 { doGetParmValue(idx, instance, value); }
642 { doGetParmValue(idx, instance, value); }
644 { doGetParmValue(idx, instance, value); }
646 { doGetParmValue(idx, instance, value); }
648 { doGetParmValue(idx, instance, value); }
650 { doGetParmValue(idx, instance, value); }
652 { doGetParmValue(idx, instance, value); }
654 { doGetParmValue(idx, instance, value); }
656 { doGetParmValue(idx, instance, value); }
658 { doGetParmValue(idx, instance, value); }
660 { doGetParmValue(idx, instance, value); }
662 template <
typename T>
669 if (idx.
size() != instance.
size()+1)
674 coerceValue(myGroup, ( ( value ) ));
677 coerceValue(myCarrier, clampMinValue(0, clampMaxValue(1, value ) ));
680 coerceValue(myDirections, ( clampMaxValue(8, value ) ));
683 coerceValue(myRotation, ( ( value ) ));
686 coerceValue(myGlobalWeight, clampMinValue(0, ( value ) ));
689 coerceValue(myGlobalMask, ( ( value ) ));
692 coerceValue(myCurvature, ( ( value ) ));
695 coerceValue(myLocalCurvatureWeight, clampMinValue(0, ( value ) ));
698 coerceValue(myCurvatureMaskAttrib, ( ( value ) ));
701 coerceValue(myCurvatureRotation, ( ( value ) ));
704 coerceValue(myBoundary, ( ( value ) ));
707 coerceValue(myBoundaryMode, clampMinValue(0, clampMaxValue(1, value ) ));
710 coerceValue(myLocalBoundaryWeight, clampMinValue(0, ( value ) ));
713 coerceValue(myBoundaryMaskAttrib, ( ( value ) ));
716 coerceValue(myBoundaryRotation, ( ( value ) ));
719 coerceValue(myGuide, ( ( value ) ));
722 coerceValue(myGuideMode, clampMinValue(0, clampMaxValue(1, value ) ));
725 coerceValue(myLocalGuideWeight, clampMinValue(0, ( value ) ));
728 coerceValue(myGuideMaskAttrib, ( ( value ) ));
731 coerceValue(myGuideAttrib, ( ( value ) ));
734 coerceValue(myAnisotropyWeight, clampMinValue(0, ( value ) ));
737 coerceValue(myAnisotropyMask, ( ( value ) ));
740 coerceValue(myAnisotropyCurvature, ( ( value ) ));
743 coerceValue(myAnisotropyCurvatureWeight, clampMinValue(0, ( value ) ));
746 coerceValue(myAnisotropyCurvatureMask, ( ( value ) ));
749 coerceValue(myAnisotropyGuide, ( ( value ) ));
752 coerceValue(myAnisotropyGuideWeight, clampMinValue(0, ( value ) ));
755 coerceValue(myAnisotropyGuideMask, ( ( value ) ));
758 coerceValue(myAnisotropyGuideAttrib, ( ( value ) ));
761 coerceValue(myAnisotropySizing, ( ( value ) ));
764 coerceValue(myAnisotropySizingWeight, clampMinValue(0, ( value ) ));
767 coerceValue(myAnisotropySizingMask, ( ( value ) ));
770 coerceValue(myAnisotropySizingAttrib, ( ( value ) ));
773 coerceValue(myFieldAttrib, ( ( value ) ));
776 coerceValue(myNormalizeField, ( ( value ) ));
779 coerceValue(myOutputMode, clampMinValue(0, clampMaxValue(2, value ) ));
782 coerceValue(myUseSingularGroup, ( ( value ) ));
785 coerceValue(mySingularGroup, ( ( value ) ));
788 coerceValue(myUsePositiveSingularGroup, ( ( value ) ));
791 coerceValue(myPositiveSingularGroup, ( ( value ) ));
794 coerceValue(myUseNegativeSingularGroup, ( ( value ) ));
797 coerceValue(myNegativeSingularGroup, ( ( value ) ));
800 coerceValue(myUseDiscontinuitiesGroup, ( ( value ) ));
803 coerceValue(myDiscontinuities, ( ( value ) ));
806 coerceValue(myShowField, ( ( value ) ));
809 coerceValue(myFieldscalemode, clampMinValue(0, clampMaxValue(2, value ) ));
812 coerceValue(myFieldscale, clampMinValue(0, ( value ) ));
815 coerceValue(myShowSingularities, ( ( value ) ));
818 coerceValue(myShowGuides, ( ( value ) ));
821 coerceValue(myGuidescalemode, clampMinValue(0, clampMaxValue(2, value ) ));
824 coerceValue(myGuidescale, clampMinValue(0, ( value ) ));
827 coerceValue(myShowAnisotropy, ( ( value ) ));
830 coerceValue(myAnisotropyscale, clampMinValue(0, ( value ) ));
837 { doSetParmValue(idx, instance, value); }
839 { doSetParmValue(idx, instance, value); }
841 { doSetParmValue(idx, instance, value); }
843 { doSetParmValue(idx, instance, value); }
845 { doSetParmValue(idx, instance, value); }
847 { doSetParmValue(idx, instance, value); }
849 { doSetParmValue(idx, instance, value); }
851 { doSetParmValue(idx, instance, value); }
853 { doSetParmValue(idx, instance, value); }
855 { doSetParmValue(idx, instance, value); }
857 { doSetParmValue(idx, instance, value); }
873 if (fieldnum.
size() < 1)
886 return "globalweight";
892 return "localcurvatureweight";
894 return "curvaturemaskattrib";
896 return "curvaturerotation";
900 return "boundarymode";
902 return "localboundaryweight";
904 return "boundarymaskattrib";
906 return "boundaryrotation";
912 return "localguideweight";
914 return "guidemaskattrib";
916 return "guideattrib";
918 return "anisotropyweight";
920 return "anisotropymask";
922 return "anisotropycurvature";
924 return "anisotropycurvatureweight";
926 return "anisotropycurvaturemask";
928 return "anisotropyguide";
930 return "anisotropyguideweight";
932 return "anisotropyguidemask";
934 return "anisotropyguideattrib";
936 return "anisotropysizing";
938 return "anisotropysizingweight";
940 return "anisotropysizingmask";
942 return "anisotropysizingattrib";
944 return "fieldattrib";
946 return "normalizefield";
950 return "usesingulargroup";
952 return "singulargroup";
954 return "usepositivesingulargroup";
956 return "positivesingulargroup";
958 return "usenegativesingulargroup";
960 return "negativesingulargroup";
962 return "usediscontinuitiesgroup";
964 return "discontinuities";
968 return "fieldscalemode";
972 return "showsingularities";
976 return "guidescalemode";
980 return "showanisotropy";
982 return "anisotropyscale";
990 if (fieldnum.
size() < 1)
991 return PARM_UNSUPPORTED;
1007 return PARM_INTEGER;
1015 return PARM_INTEGER;
1017 return PARM_INTEGER;
1025 return PARM_INTEGER;
1027 return PARM_INTEGER;
1039 return PARM_INTEGER;
1045 return PARM_INTEGER;
1053 return PARM_INTEGER;
1063 return PARM_INTEGER;
1065 return PARM_INTEGER;
1067 return PARM_INTEGER;
1071 return PARM_INTEGER;
1075 return PARM_INTEGER;
1079 return PARM_INTEGER;
1083 return PARM_INTEGER;
1085 return PARM_INTEGER;
1089 return PARM_INTEGER;
1091 return PARM_INTEGER;
1093 return PARM_INTEGER;
1097 return PARM_INTEGER;
1102 return PARM_UNSUPPORTED;
1107 { is.
bread(&v, 1); }
1138 loadData(is, rampdata);
1156 int typelen = colon - data.
buffer();
1168 { UTwrite(os, &v); }
1170 {
int64 iv =
v; UTwrite(os, &iv); }
1172 { UTwrite<fpreal64>(os, &
v); }
1174 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1176 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1177 UTwrite<fpreal64>(os, &v.
z()); }
1179 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1180 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1192 if (s) s->save(ostr);
1193 result = ostr.
str();
1194 saveData(os, result);
1201 ostr << s->getDataTypeToken();
1203 s->saveBinary(ostr);
1205 result = ostr.
str();
1206 saveData(os, result);
1214 saveData(os, myGroup);
1215 saveData(os, myCarrier);
1216 saveData(os, myDirections);
1217 saveData(os, myRotation);
1218 saveData(os, myGlobalWeight);
1219 saveData(os, myGlobalMask);
1220 saveData(os, myCurvature);
1221 saveData(os, myLocalCurvatureWeight);
1222 saveData(os, myCurvatureMaskAttrib);
1223 saveData(os, myCurvatureRotation);
1224 saveData(os, myBoundary);
1225 saveData(os, myBoundaryMode);
1226 saveData(os, myLocalBoundaryWeight);
1227 saveData(os, myBoundaryMaskAttrib);
1228 saveData(os, myBoundaryRotation);
1229 saveData(os, myGuide);
1230 saveData(os, myGuideMode);
1231 saveData(os, myLocalGuideWeight);
1232 saveData(os, myGuideMaskAttrib);
1233 saveData(os, myGuideAttrib);
1234 saveData(os, myAnisotropyWeight);
1235 saveData(os, myAnisotropyMask);
1236 saveData(os, myAnisotropyCurvature);
1237 saveData(os, myAnisotropyCurvatureWeight);
1238 saveData(os, myAnisotropyCurvatureMask);
1239 saveData(os, myAnisotropyGuide);
1240 saveData(os, myAnisotropyGuideWeight);
1241 saveData(os, myAnisotropyGuideMask);
1242 saveData(os, myAnisotropyGuideAttrib);
1243 saveData(os, myAnisotropySizing);
1244 saveData(os, myAnisotropySizingWeight);
1245 saveData(os, myAnisotropySizingMask);
1246 saveData(os, myAnisotropySizingAttrib);
1247 saveData(os, myFieldAttrib);
1248 saveData(os, myNormalizeField);
1249 saveData(os, myOutputMode);
1250 saveData(os, myUseSingularGroup);
1251 saveData(os, mySingularGroup);
1252 saveData(os, myUsePositiveSingularGroup);
1253 saveData(os, myPositiveSingularGroup);
1254 saveData(os, myUseNegativeSingularGroup);
1255 saveData(os, myNegativeSingularGroup);
1256 saveData(os, myUseDiscontinuitiesGroup);
1257 saveData(os, myDiscontinuities);
1258 saveData(os, myShowField);
1259 saveData(os, myFieldscalemode);
1260 saveData(os, myFieldscale);
1261 saveData(os, myShowSingularities);
1262 saveData(os, myShowGuides);
1263 saveData(os, myGuidescalemode);
1264 saveData(os, myGuidescale);
1265 saveData(os, myShowAnisotropy);
1266 saveData(os, myAnisotropyscale);
1279 loadData(is, myGroup);
1280 loadData(is, myCarrier);
1281 loadData(is, myDirections);
1282 loadData(is, myRotation);
1283 loadData(is, myGlobalWeight);
1284 loadData(is, myGlobalMask);
1285 loadData(is, myCurvature);
1286 loadData(is, myLocalCurvatureWeight);
1287 loadData(is, myCurvatureMaskAttrib);
1288 loadData(is, myCurvatureRotation);
1289 loadData(is, myBoundary);
1290 loadData(is, myBoundaryMode);
1291 loadData(is, myLocalBoundaryWeight);
1292 loadData(is, myBoundaryMaskAttrib);
1293 loadData(is, myBoundaryRotation);
1294 loadData(is, myGuide);
1295 loadData(is, myGuideMode);
1296 loadData(is, myLocalGuideWeight);
1297 loadData(is, myGuideMaskAttrib);
1298 loadData(is, myGuideAttrib);
1299 loadData(is, myAnisotropyWeight);
1300 loadData(is, myAnisotropyMask);
1301 loadData(is, myAnisotropyCurvature);
1302 loadData(is, myAnisotropyCurvatureWeight);
1303 loadData(is, myAnisotropyCurvatureMask);
1304 loadData(is, myAnisotropyGuide);
1305 loadData(is, myAnisotropyGuideWeight);
1306 loadData(is, myAnisotropyGuideMask);
1307 loadData(is, myAnisotropyGuideAttrib);
1308 loadData(is, myAnisotropySizing);
1309 loadData(is, myAnisotropySizingWeight);
1310 loadData(is, myAnisotropySizingMask);
1311 loadData(is, myAnisotropySizingAttrib);
1312 loadData(is, myFieldAttrib);
1313 loadData(is, myNormalizeField);
1314 loadData(is, myOutputMode);
1315 loadData(is, myUseSingularGroup);
1316 loadData(is, mySingularGroup);
1317 loadData(is, myUsePositiveSingularGroup);
1318 loadData(is, myPositiveSingularGroup);
1319 loadData(is, myUseNegativeSingularGroup);
1320 loadData(is, myNegativeSingularGroup);
1321 loadData(is, myUseDiscontinuitiesGroup);
1322 loadData(is, myDiscontinuities);
1323 loadData(is, myShowField);
1324 loadData(is, myFieldscalemode);
1325 loadData(is, myFieldscale);
1326 loadData(is, myShowSingularities);
1327 loadData(is, myShowGuides);
1328 loadData(is, myGuidescalemode);
1329 loadData(is, myGuidescale);
1330 loadData(is, myShowAnisotropy);
1331 loadData(is, myAnisotropyscale);
1341 if (!thissop)
return getGroup();
1343 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
1351 if (!thissop)
return getCarrier();
1353 OP_Utils::evalOpParm(result, thissop,
"carrier", cookparms.
getCookTime(), 0);
1361 if (!thissop)
return getDirections();
1363 OP_Utils::evalOpParm(result, thissop,
"directions", cookparms.
getCookTime(), 0);
1371 if (!thissop)
return getRotation();
1373 OP_Utils::evalOpParm(result, thissop,
"rotation", cookparms.
getCookTime(), 0);
1381 if (!thissop)
return getGlobalWeight();
1383 OP_Utils::evalOpParm(result, thissop,
"globalweight", cookparms.
getCookTime(), 0);
1391 if (!thissop)
return getGlobalMask();
1393 OP_Utils::evalOpParm(result, thissop,
"globalmask", cookparms.
getCookTime(), 0);
1401 if (!thissop)
return getCurvature();
1403 OP_Utils::evalOpParm(result, thissop,
"curvature", cookparms.
getCookTime(), 0);
1411 if (!thissop)
return getLocalCurvatureWeight();
1413 OP_Utils::evalOpParm(result, thissop,
"localcurvatureweight", cookparms.
getCookTime(), 0);
1421 if (!thissop)
return getCurvatureMaskAttrib();
1423 OP_Utils::evalOpParm(result, thissop,
"curvaturemaskattrib", cookparms.
getCookTime(), 0);
1431 if (!thissop)
return getCurvatureRotation();
1433 OP_Utils::evalOpParm(result, thissop,
"curvaturerotation", cookparms.
getCookTime(), 0);
1441 if (!thissop)
return getBoundary();
1443 OP_Utils::evalOpParm(result, thissop,
"boundary", cookparms.
getCookTime(), 0);
1451 if (!thissop)
return getBoundaryMode();
1453 OP_Utils::evalOpParm(result, thissop,
"boundarymode", cookparms.
getCookTime(), 0);
1461 if (!thissop)
return getLocalBoundaryWeight();
1463 OP_Utils::evalOpParm(result, thissop,
"localboundaryweight", cookparms.
getCookTime(), 0);
1471 if (!thissop)
return getBoundaryMaskAttrib();
1473 OP_Utils::evalOpParm(result, thissop,
"boundarymaskattrib", cookparms.
getCookTime(), 0);
1481 if (!thissop)
return getBoundaryRotation();
1483 OP_Utils::evalOpParm(result, thissop,
"boundaryrotation", cookparms.
getCookTime(), 0);
1491 if (!thissop)
return getGuide();
1493 OP_Utils::evalOpParm(result, thissop,
"guide", cookparms.
getCookTime(), 0);
1501 if (!thissop)
return getGuideMode();
1503 OP_Utils::evalOpParm(result, thissop,
"guidemode", cookparms.
getCookTime(), 0);
1511 if (!thissop)
return getLocalGuideWeight();
1513 OP_Utils::evalOpParm(result, thissop,
"localguideweight", cookparms.
getCookTime(), 0);
1521 if (!thissop)
return getGuideMaskAttrib();
1523 OP_Utils::evalOpParm(result, thissop,
"guidemaskattrib", cookparms.
getCookTime(), 0);
1531 if (!thissop)
return getGuideAttrib();
1533 OP_Utils::evalOpParm(result, thissop,
"guideattrib", cookparms.
getCookTime(), 0);
1541 if (!thissop)
return getAnisotropyWeight();
1543 OP_Utils::evalOpParm(result, thissop,
"anisotropyweight", cookparms.
getCookTime(), 0);
1551 if (!thissop)
return getAnisotropyMask();
1553 OP_Utils::evalOpParm(result, thissop,
"anisotropymask", cookparms.
getCookTime(), 0);
1561 if (!thissop)
return getAnisotropyCurvature();
1563 OP_Utils::evalOpParm(result, thissop,
"anisotropycurvature", cookparms.
getCookTime(), 0);
1571 if (!thissop)
return getAnisotropyCurvatureWeight();
1573 OP_Utils::evalOpParm(result, thissop,
"anisotropycurvatureweight", cookparms.
getCookTime(), 0);
1581 if (!thissop)
return getAnisotropyCurvatureMask();
1583 OP_Utils::evalOpParm(result, thissop,
"anisotropycurvaturemask", cookparms.
getCookTime(), 0);
1591 if (!thissop)
return getAnisotropyGuide();
1593 OP_Utils::evalOpParm(result, thissop,
"anisotropyguide", cookparms.
getCookTime(), 0);
1601 if (!thissop)
return getAnisotropyGuideWeight();
1603 OP_Utils::evalOpParm(result, thissop,
"anisotropyguideweight", cookparms.
getCookTime(), 0);
1611 if (!thissop)
return getAnisotropyGuideMask();
1613 OP_Utils::evalOpParm(result, thissop,
"anisotropyguidemask", cookparms.
getCookTime(), 0);
1621 if (!thissop)
return getAnisotropyGuideAttrib();
1623 OP_Utils::evalOpParm(result, thissop,
"anisotropyguideattrib", cookparms.
getCookTime(), 0);
1631 if (!thissop)
return getAnisotropySizing();
1633 OP_Utils::evalOpParm(result, thissop,
"anisotropysizing", cookparms.
getCookTime(), 0);
1641 if (!thissop)
return getAnisotropySizingWeight();
1643 OP_Utils::evalOpParm(result, thissop,
"anisotropysizingweight", cookparms.
getCookTime(), 0);
1651 if (!thissop)
return getAnisotropySizingMask();
1653 OP_Utils::evalOpParm(result, thissop,
"anisotropysizingmask", cookparms.
getCookTime(), 0);
1661 if (!thissop)
return getAnisotropySizingAttrib();
1663 OP_Utils::evalOpParm(result, thissop,
"anisotropysizingattrib", cookparms.
getCookTime(), 0);
1671 if (!thissop)
return getFieldAttrib();
1673 OP_Utils::evalOpParm(result, thissop,
"fieldattrib", cookparms.
getCookTime(), 0);
1681 if (!thissop)
return getNormalizeField();
1683 OP_Utils::evalOpParm(result, thissop,
"normalizefield", cookparms.
getCookTime(), 0);
1691 if (!thissop)
return getOutputMode();
1693 OP_Utils::evalOpParm(result, thissop,
"outputmode", cookparms.
getCookTime(), 0);
1701 if (!thissop)
return getUseSingularGroup();
1703 OP_Utils::evalOpParm(result, thissop,
"usesingulargroup", cookparms.
getCookTime(), 0);
1711 if (!thissop)
return getSingularGroup();
1713 OP_Utils::evalOpParm(result, thissop,
"singulargroup", cookparms.
getCookTime(), 0);
1721 if (!thissop)
return getUsePositiveSingularGroup();
1723 OP_Utils::evalOpParm(result, thissop,
"usepositivesingulargroup", cookparms.
getCookTime(), 0);
1731 if (!thissop)
return getPositiveSingularGroup();
1733 OP_Utils::evalOpParm(result, thissop,
"positivesingulargroup", cookparms.
getCookTime(), 0);
1741 if (!thissop)
return getUseNegativeSingularGroup();
1743 OP_Utils::evalOpParm(result, thissop,
"usenegativesingulargroup", cookparms.
getCookTime(), 0);
1751 if (!thissop)
return getNegativeSingularGroup();
1753 OP_Utils::evalOpParm(result, thissop,
"negativesingulargroup", cookparms.
getCookTime(), 0);
1761 if (!thissop)
return getUseDiscontinuitiesGroup();
1763 OP_Utils::evalOpParm(result, thissop,
"usediscontinuitiesgroup", cookparms.
getCookTime(), 0);
1771 if (!thissop)
return getDiscontinuities();
1773 OP_Utils::evalOpParm(result, thissop,
"discontinuities", cookparms.
getCookTime(), 0);
1781 if (!thissop)
return getShowField();
1783 OP_Utils::evalOpParm(result, thissop,
"showfield", cookparms.
getCookTime(), 0);
1791 if (!thissop)
return getFieldscalemode();
1793 OP_Utils::evalOpParm(result, thissop,
"fieldscalemode", cookparms.
getCookTime(), 0);
1801 if (!thissop)
return getFieldscale();
1803 OP_Utils::evalOpParm(result, thissop,
"fieldscale", cookparms.
getCookTime(), 0);
1811 if (!thissop)
return getShowSingularities();
1813 OP_Utils::evalOpParm(result, thissop,
"showsingularities", cookparms.
getCookTime(), 0);
1821 if (!thissop)
return getShowGuides();
1823 OP_Utils::evalOpParm(result, thissop,
"showguides", cookparms.
getCookTime(), 0);
1831 if (!thissop)
return getGuidescalemode();
1833 OP_Utils::evalOpParm(result, thissop,
"guidescalemode", cookparms.
getCookTime(), 0);
1841 if (!thissop)
return getGuidescale();
1843 OP_Utils::evalOpParm(result, thissop,
"guidescale", cookparms.
getCookTime(), 0);
1851 if (!thissop)
return getShowAnisotropy();
1853 OP_Utils::evalOpParm(result, thissop,
"showanisotropy", cookparms.
getCookTime(), 0);
1861 if (!thissop)
return getAnisotropyscale();
1863 OP_Utils::evalOpParm(result, thissop,
"anisotropyscale", cookparms.
getCookTime(), 0);
1879 int64 myBoundaryMode;
1890 bool myAnisotropyCurvature;
1891 fpreal64 myAnisotropyCurvatureWeight;
1893 bool myAnisotropyGuide;
1897 bool myAnisotropySizing;
1902 bool myNormalizeField;
1904 bool myUseSingularGroup;
1906 bool myUsePositiveSingularGroup;
1908 bool myUseNegativeSingularGroup;
1910 bool myUseDiscontinuitiesGroup;
1913 int64 myFieldscalemode;
1915 bool myShowSingularities;
1917 int64 myGuidescalemode;
1919 bool myShowAnisotropy;
void setCurvatureMaskAttrib(const UT_StringHolder &val)
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector2D &v)
void setAnisotropySizingWeight(fpreal64 val)
void setGuideMaskAttrib(const UT_StringHolder &val)
void setAnisotropyCurvatureMask(const UT_StringHolder &val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
UT_StringHolder opCurvatureMaskAttrib(const SOP_NodeVerb::CookParms &cookparms) const
bool load(UT_IStream &is)
static void loadData(UT_IStream &is, UT_Matrix4D &v)
bool getShowAnisotropy() const
static void loadData(UT_IStream &is, fpreal64 &v)
Guidescalemode opGuidescalemode(const SOP_NodeVerb::CookParms &cookparms) const
SOP_Node * getNode() const
bool opShowField(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getFieldAttrib() const
UT_StringHolder opFieldAttrib(const SOP_NodeVerb::CookParms &cookparms) const
bool opNormalizeField(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opGuideMaskAttrib(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getAnisotropyCurvatureMask() const
const UT_StringHolder & getNegativeSingularGroup() const
fpreal64 opAnisotropyGuideWeight(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
bool opBoundary(const SOP_NodeVerb::CookParms &cookparms) const
void setLocalGuideWeight(fpreal64 val)
bool getAnisotropyGuide() const
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
bool operator==(const SOP_TangentFieldParms &src) const
bool getUsePositiveSingularGroup() const
bool opUseSingularGroup(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opAnisotropySizingMask(const SOP_NodeVerb::CookParms &cookparms) const
void setFieldscale(fpreal64 val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
const UT_StringHolder & getGuideMaskAttrib() const
static void loadData(UT_IStream &is, UT_Vector4I &v)
static void loadData(UT_IStream &is, int64 &v)
GLsizei const GLfloat * value
void setFieldAttrib(const UT_StringHolder &val)
fpreal64 getFieldscale() const
void setCurvatureRotation(fpreal64 val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
const OP_Context & context() const
const UT_StringHolder & getAnisotropyGuideMask() const
SYS_FORCE_INLINE UT_StringHolder getToken(Carrier enum_value)
constexpr SYS_FORCE_INLINE T & z() noexcept
SYS_FORCE_INLINE const char * buffer() const
fpreal64 opFieldscale(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
An output stream object that owns its own string buffer storage.
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
static void saveData(std::ostream &os, UT_Matrix3D v)
const UT_StringHolder & getGroup() const
void setShowField(bool val)
BoundaryMode opBoundaryMode(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
UT_StringHolder opGlobalMask(const SOP_NodeVerb::CookParms &cookparms) const
**But if you need a result
void setOutputMode(OutputMode val)
fpreal64 opAnisotropyCurvatureWeight(const SOP_NodeVerb::CookParms &cookparms) const
bool opShowSingularities(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opCurvatureRotation(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getCurvatureMaskAttrib() const
fpreal64 getGlobalWeight() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
UT_StringHolder opDiscontinuities(const SOP_NodeVerb::CookParms &cookparms) const
void setAnisotropyCurvatureWeight(fpreal64 val)
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
static void saveData(std::ostream &os, UT_Matrix4D v)
void setCurvature(bool val)
fpreal64 opAnisotropyscale(const SOP_NodeVerb::CookParms &cookparms) const
void setShowGuides(bool val)
ParmType getNestParmType(TempIndex fieldnum) const override
void setFieldscalemode(Fieldscalemode val)
constexpr SYS_FORCE_INLINE T & x() noexcept
void copyFrom(const OP_NodeParms *src) override
void setAnisotropyGuideWeight(fpreal64 val)
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
void setAnisotropyCurvature(bool val)
void setCarrier(Carrier val)
UT_StringHolder opNegativeSingularGroup(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector2I &v)
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
constexpr SYS_FORCE_INLINE T & x() noexcept
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
bool opAnisotropySizing(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
bool getShowSingularities() const
bool opCurvature(const SOP_NodeVerb::CookParms &cookparms) const
bool getNormalizeField() const
bool getUseSingularGroup() const
void setUseDiscontinuitiesGroup(bool val)
fpreal64 getAnisotropyscale() const
void setAnisotropyscale(fpreal64 val)
void setAnisotropyGuideAttrib(const UT_StringHolder &val)
fpreal64 opAnisotropySizingWeight(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Vector4D v)
Carrier getCarrier() const
fpreal64 getAnisotropyCurvatureWeight() const
static void saveData(std::ostream &os, bool v)
UT_StringHolder opPositiveSingularGroup(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getGuideAttrib() const
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
UT_StringHolder opAnisotropyGuideMask(const SOP_NodeVerb::CookParms &cookparms) const
void setGuideAttrib(const UT_StringHolder &val)
bool getUseDiscontinuitiesGroup() const
fpreal64 opLocalGuideWeight(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & z() noexcept
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
const UT_StringHolder & getAnisotropyMask() const
void setGuideMode(GuideMode val)
const OP_GraphProxy * graph() const
bool opAnisotropyCurvature(const SOP_NodeVerb::CookParms &cookparms) const
bool opUsePositiveSingularGroup(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opAnisotropyCurvatureMask(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getBoundaryMaskAttrib() const
bool getShowGuides() const
void setGuidescalemode(Guidescalemode val)
fpreal64 getBoundaryRotation() const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
const UT_StringHolder & getAnisotropyGuideAttrib() const
static void loadData(UT_IStream &is, UT_Vector3I &v)
static void saveData(std::ostream &os, UT_Vector2D v)
static void loadData(UT_IStream &is, UT_Matrix3D &v)
static void saveData(std::ostream &os, int64 v)
bool isParmColorRamp(exint idx) const override
void setAnisotropySizingAttrib(const UT_StringHolder &val)
void setAnisotropyGuide(bool val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
void setShowAnisotropy(bool val)
bool getAnisotropySizing() const
void setShowSingularities(bool val)
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
BoundaryMode getBoundaryMode() const
void setGuidescale(fpreal64 val)
bool opShowGuides(const SOP_NodeVerb::CookParms &cookparms) const
void setNormalizeField(bool val)
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
fpreal64 getLocalGuideWeight() const
void setRotation(fpreal64 val)
fpreal64 getAnisotropyGuideWeight() const
fpreal64 opAnisotropyWeight(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseDiscontinuitiesGroup(const SOP_NodeVerb::CookParms &cookparms) const
void saveBinary(std::ostream &os) const
Save string to binary stream.
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
fpreal64 opGlobalWeight(const SOP_NodeVerb::CookParms &cookparms) const
void loadFromOpSubclass(const LoadParms &loadparms) override
const UT_StringHolder & getPositiveSingularGroup() const
GT_API const UT_StringHolder version
static void saveData(std::ostream &os, UT_Vector3D v)
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
OutputMode opOutputMode(const SOP_NodeVerb::CookParms &cookparms) const
bool getUseNegativeSingularGroup() const
fpreal64 opBoundaryRotation(const SOP_NodeVerb::CookParms &cookparms) const
bool opAnisotropyGuide(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getRotation() const
fpreal64 opGuidescale(const SOP_NodeVerb::CookParms &cookparms) const
bool getAnisotropyCurvature() const
GuideMode getGuideMode() const
fpreal64 getGuidescale() const
UT_StringHolder opAnisotropySizingAttrib(const SOP_NodeVerb::CookParms &cookparms) const
Fieldscalemode getFieldscalemode() const
UT_StringHolder opGuideAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setPositiveSingularGroup(const UT_StringHolder &val)
int64 getDirections() const
bool opShowAnisotropy(const SOP_NodeVerb::CookParms &cookparms) const
void setAnisotropySizingMask(const UT_StringHolder &val)
DEP_MicroNode * depnode() const
bool operator!=(const SOP_TangentFieldParms &src) const
fpreal64 opRotation(const SOP_NodeVerb::CookParms &cookparms) const
bool getShowField() const
LeafData & operator=(const LeafData &)=delete
void setAnisotropyWeight(fpreal64 val)
Utility class for containing a color ramp.
void setGlobalWeight(fpreal64 val)
fpreal64 opLocalCurvatureWeight(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & w() noexcept
fpreal64 getLocalBoundaryWeight() const
Guidescalemode getGuidescalemode() const
UT_StringHolder opSingularGroup(const SOP_NodeVerb::CookParms &cookparms) const
virtual UT_StringHolder baseGetSignature() const
void setBoundaryMaskAttrib(const UT_StringHolder &val)
void setLocalCurvatureWeight(fpreal64 val)
void setUsePositiveSingularGroup(bool val)
fpreal64 getLocalCurvatureWeight() const
void setLocalBoundaryWeight(fpreal64 val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
bool opUseNegativeSingularGroup(const SOP_NodeVerb::CookParms &cookparms) const
void setUseSingularGroup(bool val)
void setSingularGroup(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_Vector3D &v)
fpreal getCookTime() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
void setNegativeSingularGroup(const UT_StringHolder &val)
Fieldscalemode opFieldscalemode(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, fpreal64 v)
const char * getNestParmName(TempIndex fieldnum) const override
Carrier opCarrier(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getAnisotropyWeight() const
const char * findChar(int c) const
void setAnisotropySizing(bool val)
static void loadData(UT_IStream &is, bool &v)
void setDiscontinuities(const UT_StringHolder &val)
void setUseNegativeSingularGroup(bool val)
fpreal64 getCurvatureRotation() const
bool getCurvature() const
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
void setAnisotropyMask(const UT_StringHolder &val)
UT_StringHolder opAnisotropyGuideAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void save(std::ostream &os) const
exint getNestNumParms(TempIndex idx) const override
int64 opDirections(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opAnisotropyMask(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_StringHolder &v)
constexpr SYS_FORCE_INLINE T & y() noexcept
OutputMode getOutputMode() const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
const UT_StringHolder & getGlobalMask() const
UT_StringHolder opBoundaryMaskAttrib(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opLocalBoundaryWeight(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector4D &v)
const UT_StringHolder & getSingularGroup() const
bool opGuide(const SOP_NodeVerb::CookParms &cookparms) const
void setGlobalMask(const UT_StringHolder &val)
const UT_StringHolder & getAnisotropySizingMask() const
virtual bool isDirect() const =0
Direct proxies mirror actual nodes:
static void saveData(std::ostream &os, UT_StringHolder s)
void setBoundaryRotation(fpreal64 val)
void setBoundaryMode(BoundaryMode val)
static void loadData(UT_IStream &is, UT_Matrix2D &v)
void setBoundary(bool val)
constexpr SYS_FORCE_INLINE T & y() noexcept
fpreal64 getAnisotropySizingWeight() const
void setGroup(const UT_StringHolder &val)
SYS_FORCE_INLINE bool isstring() const
void setDirections(int64 val)
GuideMode opGuideMode(const SOP_NodeVerb::CookParms &cookparms) const
void setAnisotropyGuideMask(const UT_StringHolder &val)
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
const UT_StringHolder & getAnisotropySizingAttrib() const
static void saveData(std::ostream &os, UT_Matrix2D v)
const UT_StringHolder & getDiscontinuities() const
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
constexpr SYS_FORCE_INLINE T & x() noexcept