20 using namespace UT::Literal;
23 namespace SOP_PolyBevel_3_0Enums
81 myIgnoreBridges =
true;
82 myIgnoreShared =
false;
83 myIgnoreFlatEdges =
false;
84 myIgnoreFlatPoints =
false;
85 myIgnoreInlinePoints =
false;
89 myPointScaleAttr =
"pscale"_sh;
93 myDetectCollisions =
true;
94 myRestrictSlides =
true;
96 myStopAtSlideEnd =
true;
97 myStopAtPinches =
true;
99 myStopAtCollisions =
true;
104 myReverseProfile =
false;
105 mySymmetrizeProfile =
true;
106 myProfileDirection =
""_sh;
109 myUsePointFilletPolys =
false;
110 myPointFilletPolys =
"pointfilletpolys"_sh;
111 myUsePointFilletEdges =
false;
112 myPointFilletEdges =
"pointfilletedges"_sh;
113 myUseEdgeFilletGroup =
false;
114 myEdgeFilletGroup =
"edgefilletpolys"_sh;
115 myUseOffsetEdges =
false;
116 myOffsetEdges =
"offsetedges"_sh;
117 myUseOffsetPoints =
false;
118 myOffsetPoints =
"offsetpoints"_sh;
119 myUseMergedPoints =
false;
120 myMergedPoints =
"mergedpoints"_sh;
121 myProfileSampling = 0;
132 if (myGroup != src.myGroup)
return false;
133 if (myGroupType != src.myGroupType)
return false;
134 if (myIgnoreBridges != src.myIgnoreBridges)
return false;
135 if (myIgnoreShared != src.myIgnoreShared)
return false;
136 if (myIgnoreFlatEdges != src.myIgnoreFlatEdges)
return false;
137 if (myIgnoreFlatPoints != src.myIgnoreFlatPoints)
return false;
138 if (myIgnoreInlinePoints != src.myIgnoreInlinePoints)
return false;
139 if (myFlatAngle != src.myFlatAngle)
return false;
140 if (myOffset != src.myOffset)
return false;
141 if (myUseOffsetScale != src.myUseOffsetScale)
return false;
142 if (myPointScaleAttr != src.myPointScaleAttr)
return false;
143 if (mySliding != src.mySliding)
return false;
144 if (myAsymTol != src.myAsymTol)
return false;
145 if (mySlideEdges != src.mySlideEdges)
return false;
146 if (myDetectCollisions != src.myDetectCollisions)
return false;
147 if (myRestrictSlides != src.myRestrictSlides)
return false;
148 if (myLimit != src.myLimit)
return false;
149 if (myStopAtSlideEnd != src.myStopAtSlideEnd)
return false;
150 if (myStopAtPinches != src.myStopAtPinches)
return false;
151 if (myPinchAngle != src.myPinchAngle)
return false;
152 if (myStopAtCollisions != src.myStopAtCollisions)
return false;
153 if (myFilletShape != src.myFilletShape)
return false;
154 if (myConvexity != src.myConvexity)
return false;
155 if (myProfileSource != src.myProfileSource)
return false;
156 if (myProfileScale != src.myProfileScale)
return false;
157 if (myReverseProfile != src.myReverseProfile)
return false;
158 if (mySymmetrizeProfile != src.mySymmetrizeProfile)
return false;
159 if (myProfileDirection != src.myProfileDirection)
return false;
160 if (myProfileRamp != src.myProfileRamp)
return false;
161 if (myFlatBoost != src.myFlatBoost)
return false;
162 if (myUsePointFilletPolys != src.myUsePointFilletPolys)
return false;
163 if (myPointFilletPolys != src.myPointFilletPolys)
return false;
164 if (myUsePointFilletEdges != src.myUsePointFilletEdges)
return false;
165 if (myPointFilletEdges != src.myPointFilletEdges)
return false;
166 if (myUseEdgeFilletGroup != src.myUseEdgeFilletGroup)
return false;
167 if (myEdgeFilletGroup != src.myEdgeFilletGroup)
return false;
168 if (myUseOffsetEdges != src.myUseOffsetEdges)
return false;
169 if (myOffsetEdges != src.myOffsetEdges)
return false;
170 if (myUseOffsetPoints != src.myUseOffsetPoints)
return false;
171 if (myOffsetPoints != src.myOffsetPoints)
return false;
172 if (myUseMergedPoints != src.myUseMergedPoints)
return false;
173 if (myMergedPoints != src.myMergedPoints)
return false;
174 if (myProfileSampling != src.myProfileSampling)
return false;
175 if (myDivisions != src.myDivisions)
return false;
197 graph->
evalOpParm(myGroup, nodeidx,
"group", time, 0);
200 graph->
evalOpParm(myGroupType, nodeidx,
"grouptype", time, 0);
201 myIgnoreBridges =
true;
202 if (
true && ( (!(((
int64(getGroupType())!=0)))) ) )
203 graph->
evalOpParm(myIgnoreBridges, nodeidx,
"ignorebridgededges", time, 0);
204 myIgnoreShared =
false;
205 if (
true && ( (!(((
int64(getGroupType())!=0)))) ) )
206 graph->
evalOpParm(myIgnoreShared, nodeidx,
"ignoresharededges", time, 0);
207 myIgnoreFlatEdges =
false;
208 if (
true && ( (!(((
int64(getGroupType())==1)))) ) )
209 graph->
evalOpParm(myIgnoreFlatEdges, nodeidx,
"ignoreflatedges", time, 0);
210 myIgnoreFlatPoints =
false;
211 if (
true && ( (!(((
int64(getGroupType())!=1)))) ) )
212 graph->
evalOpParm(myIgnoreFlatPoints, nodeidx,
"ignoreflatpoints", time, 0);
213 myIgnoreInlinePoints =
false;
214 if (
true && ( (!(((
int64(getGroupType())!=1)))) ) )
215 graph->
evalOpParm(myIgnoreInlinePoints, nodeidx,
"ignoreinlinepoints", time, 0);
217 if (
true && ( (!(((getIgnoreFlatEdges()==0)&&(getIgnoreFlatPoints()==0)&&(getIgnoreInlinePoints()==0)))) ) )
218 graph->
evalOpParm(myFlatAngle, nodeidx,
"flatangle", time, 0);
221 graph->
evalOpParm(myOffset, nodeidx,
"offset", time, 0);
222 myUseOffsetScale = 0;
224 graph->
evalOpParm(myUseOffsetScale, nodeidx,
"useoffsetscale", time, 0);
225 myPointScaleAttr =
"pscale"_sh;
226 if (
true && ( (!(((
int64(getUseOffsetScale())==0)))) ) )
227 graph->
evalOpParm(myPointScaleAttr, nodeidx,
"pointscaleattr", time, 0);
230 graph->
evalOpParm(mySliding, nodeidx,
"sliding", time, 0);
232 if (
true && ( (!(((
int64(getSliding())!=0))||((
int64(getGroupType())==1)))) ) )
233 graph->
evalOpParm(myAsymTol, nodeidx,
"asymtol", time, 0);
234 mySlideEdges =
""_sh;
235 if (
true && ( (!(((
int64(getSliding())==1)))) ) )
236 graph->
evalOpParm(mySlideEdges, nodeidx,
"slideedges", time, 0);
237 myDetectCollisions =
true;
239 graph->
evalOpParm(myDetectCollisions, nodeidx,
"detectcollisions", time, 0);
240 myRestrictSlides =
true;
242 graph->
evalOpParm(myRestrictSlides, nodeidx,
"restrictslides", time, 0);
245 graph->
evalOpParm(myLimit, nodeidx,
"limit", time, 0);
246 myStopAtSlideEnd =
true;
247 if (
true && ( (!(((
int64(getLimit())==0))||((getRestrictSlides()==0)))) ) )
248 graph->
evalOpParm(myStopAtSlideEnd, nodeidx,
"stopatslideend", time, 0);
249 myStopAtPinches =
true;
250 if (
true && ( (!(((
int64(getLimit())==0))||((getDetectCollisions()==0)))) ) )
251 graph->
evalOpParm(myStopAtPinches, nodeidx,
"stopatpinches", time, 0);
253 if (
true && ( (!(((getStopAtPinches()==0)))) ) )
254 graph->
evalOpParm(myPinchAngle, nodeidx,
"pinchangle", time, 0);
255 myStopAtCollisions =
true;
256 if (
true && ( (!(((getStopAtPinches()==0)))) ) )
257 graph->
evalOpParm(myStopAtCollisions, nodeidx,
"stopatcollisions", time, 0);
260 graph->
evalOpParm(myFilletShape, nodeidx,
"filletshape", time, 0);
262 if (
true && ( (!(((
int64(getFilletShape())!=4))||((
int64(getGroupType())==1)))) ) )
263 graph->
evalOpParm(myConvexity, nodeidx,
"convexity", time, 0);
265 if (
true && ( (!(((
int64(getGroupType())==1))||((
int64(getFilletShape())!=4)))) ) )
266 graph->
evalOpParm(myProfileSource, nodeidx,
"profilesource", time, 0);
268 if (
true && ( (!(((
int64(getGroupType())==1))||((
int64(getFilletShape())!=4))||((
int64(getProfileSource())==0))||((
int64(getGroupType())==1))||((
int64(getFilletShape())!=4))||((
int64(getProfileSource())==0)))) ) )
269 graph->
evalOpParm(myProfileScale, nodeidx,
"profilescale", time, 0);
270 myReverseProfile =
false;
271 if (
true && ( (!(((
int64(getGroupType())==1))||((
int64(getFilletShape())!=4))||((
int64(getProfileSource())==0))||((
int64(getGroupType())==1))||((
int64(getFilletShape())!=4))||((
int64(getProfileSource())==0)))) ) )
272 graph->
evalOpParm(myReverseProfile, nodeidx,
"reverseprofile", time, 0);
273 mySymmetrizeProfile =
true;
274 if (
true && ( (!(((
int64(getGroupType())==1))||((
int64(getFilletShape())!=4))||((
int64(getProfileSource())==0))||((
int64(getGroupType())==1))||((
int64(getFilletShape())!=4))||((
int64(getProfileSource())==0)))) ) )
275 graph->
evalOpParm(mySymmetrizeProfile, nodeidx,
"symmetrizeprofile", time, 0);
276 myProfileDirection =
""_sh;
277 if (
true && ( (!(((
int64(getGroupType())==1))||((
int64(getFilletShape())!=4))||((
int64(getProfileSource())==0))||((getSymmetrizeProfile()==1)))) ) )
278 graph->
evalOpParm(myProfileDirection, nodeidx,
"profiledirection", time, 0);
280 if (
true && ( (!(((
int64(getGroupType())==1))||((
int64(getFilletShape())!=4))||((
int64(getProfileSource())==0))||((
int64(getGroupType())==1))||((
int64(getFilletShape())!=4))||((
int64(getProfileSource())!=1)))) ) )
281 graph->
evalOpParm(myProfileRamp, nodeidx,
"profileramp", time, 0);
283 if (
true && ( (!(((
int64(getGroupType())==1))||((
int64(getFilletShape())!=4))||((
int64(getProfileSource())==0)))) ) )
284 graph->
evalOpParm(myFlatBoost, nodeidx,
"flatboost", time, 0);
285 myUsePointFilletPolys =
false;
287 graph->
evalOpParm(myUsePointFilletPolys, nodeidx,
"useptfilletgroup", time, 0);
288 myPointFilletPolys =
"pointfilletpolys"_sh;
289 if (
true && ( (!(((getUsePointFilletPolys()==0)))) ) )
290 graph->
evalOpParm(myPointFilletPolys, nodeidx,
"ptfilletgroup", time, 0);
291 myUsePointFilletEdges =
false;
293 graph->
evalOpParm(myUsePointFilletEdges, nodeidx,
"useptfilletedges", time, 0);
294 myPointFilletEdges =
"pointfilletedges"_sh;
295 if (
true && ( (!(((getUsePointFilletEdges()==0)))) ) )
296 graph->
evalOpParm(myPointFilletEdges, nodeidx,
"ptfilletedges", time, 0);
297 myUseEdgeFilletGroup =
false;
298 if (
true && ( (!(((
int64(getGroupType())==1)))) ) )
299 graph->
evalOpParm(myUseEdgeFilletGroup, nodeidx,
"useedgefilletgroup", time, 0);
300 myEdgeFilletGroup =
"edgefilletpolys"_sh;
301 if (
true && ( (!(((getUseEdgeFilletGroup()==0))||((
int64(getGroupType())==1)))) ) )
302 graph->
evalOpParm(myEdgeFilletGroup, nodeidx,
"edgeprims", time, 0);
303 myUseOffsetEdges =
false;
305 graph->
evalOpParm(myUseOffsetEdges, nodeidx,
"useoffsetedges", time, 0);
306 myOffsetEdges =
"offsetedges"_sh;
307 if (
true && ( (!(((getUseOffsetEdges()==0)))) ) )
308 graph->
evalOpParm(myOffsetEdges, nodeidx,
"offsetedges", time, 0);
309 myUseOffsetPoints =
false;
311 graph->
evalOpParm(myUseOffsetPoints, nodeidx,
"useoffsetpoints", time, 0);
312 myOffsetPoints =
"offsetpoints"_sh;
313 if (
true && ( (!(((getUseOffsetPoints()==0)))) ) )
314 graph->
evalOpParm(myOffsetPoints, nodeidx,
"offsetpoints", time, 0);
315 myUseMergedPoints =
false;
317 graph->
evalOpParm(myUseMergedPoints, nodeidx,
"usemergedpoints", time, 0);
318 myMergedPoints =
"mergedpoints"_sh;
319 if (
true && ( (!(((getUseMergedPoints()==0)))) ) )
320 graph->
evalOpParm(myMergedPoints, nodeidx,
"mergedpoints", time, 0);
321 myProfileSampling = 0;
322 if (
true && ( (!(((
int64(getGroupType())==1))||((
int64(getFilletShape())!=4))||((
int64(getProfileSource())==0)))) ) )
323 graph->
evalOpParm(myProfileSampling, nodeidx,
"profilesampling", time, 0);
325 if (
true && ( (!(((
int64(getFilletShape())==0))||((
int64(getProfileSampling())==2)))) ) )
326 graph->
evalOpParm(myDivisions, nodeidx,
"divisions", time, 0);
342 template <
typename T>
349 if (idx.
size() != instance.
size()+1)
354 coerceValue(value, myGroup);
357 coerceValue(value, myGroupType);
360 coerceValue(value, myIgnoreBridges);
363 coerceValue(value, myIgnoreShared);
366 coerceValue(value, myIgnoreFlatEdges);
369 coerceValue(value, myIgnoreFlatPoints);
372 coerceValue(value, myIgnoreInlinePoints);
375 coerceValue(value, myFlatAngle);
378 coerceValue(value, myOffset);
381 coerceValue(value, myUseOffsetScale);
384 coerceValue(value, myPointScaleAttr);
387 coerceValue(value, mySliding);
390 coerceValue(value, myAsymTol);
393 coerceValue(value, mySlideEdges);
396 coerceValue(value, myDetectCollisions);
399 coerceValue(value, myRestrictSlides);
402 coerceValue(value, myLimit);
405 coerceValue(value, myStopAtSlideEnd);
408 coerceValue(value, myStopAtPinches);
411 coerceValue(value, myPinchAngle);
414 coerceValue(value, myStopAtCollisions);
417 coerceValue(value, myFilletShape);
420 coerceValue(value, myConvexity);
423 coerceValue(value, myProfileSource);
426 coerceValue(value, myProfileScale);
429 coerceValue(value, myReverseProfile);
432 coerceValue(value, mySymmetrizeProfile);
435 coerceValue(value, myProfileDirection);
438 coerceValue(value, myProfileRamp);
441 coerceValue(value, myFlatBoost);
444 coerceValue(value, myUsePointFilletPolys);
447 coerceValue(value, myPointFilletPolys);
450 coerceValue(value, myUsePointFilletEdges);
453 coerceValue(value, myPointFilletEdges);
456 coerceValue(value, myUseEdgeFilletGroup);
459 coerceValue(value, myEdgeFilletGroup);
462 coerceValue(value, myUseOffsetEdges);
465 coerceValue(value, myOffsetEdges);
468 coerceValue(value, myUseOffsetPoints);
471 coerceValue(value, myOffsetPoints);
474 coerceValue(value, myUseMergedPoints);
477 coerceValue(value, myMergedPoints);
480 coerceValue(value, myProfileSampling);
483 coerceValue(value, myDivisions);
490 { doGetParmValue(idx, instance, value); }
492 { doGetParmValue(idx, instance, value); }
494 { doGetParmValue(idx, instance, value); }
496 { doGetParmValue(idx, instance, value); }
498 { doGetParmValue(idx, instance, value); }
500 { doGetParmValue(idx, instance, value); }
502 { doGetParmValue(idx, instance, value); }
504 { doGetParmValue(idx, instance, value); }
506 { doGetParmValue(idx, instance, value); }
508 { doGetParmValue(idx, instance, value); }
510 { doGetParmValue(idx, instance, value); }
512 template <
typename T>
519 if (idx.
size() != instance.
size()+1)
524 coerceValue(myGroup, value);
527 coerceValue(myGroupType, value);
530 coerceValue(myIgnoreBridges, value);
533 coerceValue(myIgnoreShared, value);
536 coerceValue(myIgnoreFlatEdges, value);
539 coerceValue(myIgnoreFlatPoints, value);
542 coerceValue(myIgnoreInlinePoints, value);
545 coerceValue(myFlatAngle, value);
548 coerceValue(myOffset, value);
551 coerceValue(myUseOffsetScale, value);
554 coerceValue(myPointScaleAttr, value);
557 coerceValue(mySliding, value);
560 coerceValue(myAsymTol, value);
563 coerceValue(mySlideEdges, value);
566 coerceValue(myDetectCollisions, value);
569 coerceValue(myRestrictSlides, value);
572 coerceValue(myLimit, value);
575 coerceValue(myStopAtSlideEnd, value);
578 coerceValue(myStopAtPinches, value);
581 coerceValue(myPinchAngle, value);
584 coerceValue(myStopAtCollisions, value);
587 coerceValue(myFilletShape, value);
590 coerceValue(myConvexity, value);
593 coerceValue(myProfileSource, value);
596 coerceValue(myProfileScale, value);
599 coerceValue(myReverseProfile, value);
602 coerceValue(mySymmetrizeProfile, value);
605 coerceValue(myProfileDirection, value);
608 coerceValue(myProfileRamp, value);
611 coerceValue(myFlatBoost, value);
614 coerceValue(myUsePointFilletPolys, value);
617 coerceValue(myPointFilletPolys, value);
620 coerceValue(myUsePointFilletEdges, value);
623 coerceValue(myPointFilletEdges, value);
626 coerceValue(myUseEdgeFilletGroup, value);
629 coerceValue(myEdgeFilletGroup, value);
632 coerceValue(myUseOffsetEdges, value);
635 coerceValue(myOffsetEdges, value);
638 coerceValue(myUseOffsetPoints, value);
641 coerceValue(myOffsetPoints, value);
644 coerceValue(myUseMergedPoints, value);
647 coerceValue(myMergedPoints, value);
650 coerceValue(myProfileSampling, value);
653 coerceValue(myDivisions, value);
660 { doSetParmValue(idx, instance, value); }
662 { doSetParmValue(idx, instance, value); }
664 { doSetParmValue(idx, instance, value); }
666 { doSetParmValue(idx, instance, value); }
668 { doSetParmValue(idx, instance, value); }
670 { doSetParmValue(idx, instance, value); }
672 { doSetParmValue(idx, instance, value); }
674 { doSetParmValue(idx, instance, value); }
676 { doSetParmValue(idx, instance, value); }
678 { doSetParmValue(idx, instance, value); }
680 { doSetParmValue(idx, instance, value); }
696 if (fieldnum.
size() < 1)
705 return "ignorebridgededges";
707 return "ignoresharededges";
709 return "ignoreflatedges";
711 return "ignoreflatpoints";
713 return "ignoreinlinepoints";
719 return "useoffsetscale";
721 return "pointscaleattr";
729 return "detectcollisions";
731 return "restrictslides";
735 return "stopatslideend";
737 return "stopatpinches";
741 return "stopatcollisions";
743 return "filletshape";
747 return "profilesource";
749 return "profilescale";
751 return "reverseprofile";
753 return "symmetrizeprofile";
755 return "profiledirection";
757 return "profileramp";
761 return "useptfilletgroup";
763 return "ptfilletgroup";
765 return "useptfilletedges";
767 return "ptfilletedges";
769 return "useedgefilletgroup";
773 return "useoffsetedges";
775 return "offsetedges";
777 return "useoffsetpoints";
779 return "offsetpoints";
781 return "usemergedpoints";
783 return "mergedpoints";
785 return "profilesampling";
795 if (fieldnum.
size() < 1)
796 return PARM_UNSUPPORTED;
889 return PARM_UNSUPPORTED;
925 loadData(is, rampdata);
943 int typelen = colon - data.
buffer();
957 {
int64 iv =
v; UTwrite(os, &iv); }
959 { UTwrite<fpreal64>(os, &
v); }
961 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
963 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
964 UTwrite<fpreal64>(os, &v.
z()); }
966 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
967 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
979 if (s) s->save(ostr);
981 saveData(os, result);
988 ostr << s->getDataTypeToken();
993 saveData(os, result);
997 void save(std::ostream &os)
const
1001 saveData(os, myGroup);
1002 saveData(os, myGroupType);
1003 saveData(os, myIgnoreBridges);
1004 saveData(os, myIgnoreShared);
1005 saveData(os, myIgnoreFlatEdges);
1006 saveData(os, myIgnoreFlatPoints);
1007 saveData(os, myIgnoreInlinePoints);
1008 saveData(os, myFlatAngle);
1009 saveData(os, myOffset);
1010 saveData(os, myUseOffsetScale);
1011 saveData(os, myPointScaleAttr);
1012 saveData(os, mySliding);
1013 saveData(os, myAsymTol);
1014 saveData(os, mySlideEdges);
1015 saveData(os, myDetectCollisions);
1016 saveData(os, myRestrictSlides);
1017 saveData(os, myLimit);
1018 saveData(os, myStopAtSlideEnd);
1019 saveData(os, myStopAtPinches);
1020 saveData(os, myPinchAngle);
1021 saveData(os, myStopAtCollisions);
1022 saveData(os, myFilletShape);
1023 saveData(os, myConvexity);
1024 saveData(os, myProfileSource);
1025 saveData(os, myProfileScale);
1026 saveData(os, myReverseProfile);
1027 saveData(os, mySymmetrizeProfile);
1028 saveData(os, myProfileDirection);
1029 saveData(os, myProfileRamp);
1030 saveData(os, myFlatBoost);
1031 saveData(os, myUsePointFilletPolys);
1032 saveData(os, myPointFilletPolys);
1033 saveData(os, myUsePointFilletEdges);
1034 saveData(os, myPointFilletEdges);
1035 saveData(os, myUseEdgeFilletGroup);
1036 saveData(os, myEdgeFilletGroup);
1037 saveData(os, myUseOffsetEdges);
1038 saveData(os, myOffsetEdges);
1039 saveData(os, myUseOffsetPoints);
1040 saveData(os, myOffsetPoints);
1041 saveData(os, myUseMergedPoints);
1042 saveData(os, myMergedPoints);
1043 saveData(os, myProfileSampling);
1044 saveData(os, myDivisions);
1057 loadData(is, myGroup);
1058 loadData(is, myGroupType);
1059 loadData(is, myIgnoreBridges);
1060 loadData(is, myIgnoreShared);
1061 loadData(is, myIgnoreFlatEdges);
1062 loadData(is, myIgnoreFlatPoints);
1063 loadData(is, myIgnoreInlinePoints);
1064 loadData(is, myFlatAngle);
1065 loadData(is, myOffset);
1066 loadData(is, myUseOffsetScale);
1067 loadData(is, myPointScaleAttr);
1068 loadData(is, mySliding);
1069 loadData(is, myAsymTol);
1070 loadData(is, mySlideEdges);
1071 loadData(is, myDetectCollisions);
1072 loadData(is, myRestrictSlides);
1073 loadData(is, myLimit);
1074 loadData(is, myStopAtSlideEnd);
1075 loadData(is, myStopAtPinches);
1076 loadData(is, myPinchAngle);
1077 loadData(is, myStopAtCollisions);
1078 loadData(is, myFilletShape);
1079 loadData(is, myConvexity);
1080 loadData(is, myProfileSource);
1081 loadData(is, myProfileScale);
1082 loadData(is, myReverseProfile);
1083 loadData(is, mySymmetrizeProfile);
1084 loadData(is, myProfileDirection);
1085 loadData(is, myProfileRamp);
1086 loadData(is, myFlatBoost);
1087 loadData(is, myUsePointFilletPolys);
1088 loadData(is, myPointFilletPolys);
1089 loadData(is, myUsePointFilletEdges);
1090 loadData(is, myPointFilletEdges);
1091 loadData(is, myUseEdgeFilletGroup);
1092 loadData(is, myEdgeFilletGroup);
1093 loadData(is, myUseOffsetEdges);
1094 loadData(is, myOffsetEdges);
1095 loadData(is, myUseOffsetPoints);
1096 loadData(is, myOffsetPoints);
1097 loadData(is, myUseMergedPoints);
1098 loadData(is, myMergedPoints);
1099 loadData(is, myProfileSampling);
1100 loadData(is, myDivisions);
1110 if (!thissop)
return getGroup();
1112 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
1120 if (!thissop)
return getGroupType();
1122 OP_Utils::evalOpParm(result, thissop,
"grouptype", cookparms.
getCookTime(), 0);
1130 if (!thissop)
return getIgnoreBridges();
1132 OP_Utils::evalOpParm(result, thissop,
"ignorebridgededges", cookparms.
getCookTime(), 0);
1140 if (!thissop)
return getIgnoreShared();
1142 OP_Utils::evalOpParm(result, thissop,
"ignoresharededges", cookparms.
getCookTime(), 0);
1150 if (!thissop)
return getIgnoreFlatEdges();
1152 OP_Utils::evalOpParm(result, thissop,
"ignoreflatedges", cookparms.
getCookTime(), 0);
1160 if (!thissop)
return getIgnoreFlatPoints();
1162 OP_Utils::evalOpParm(result, thissop,
"ignoreflatpoints", cookparms.
getCookTime(), 0);
1170 if (!thissop)
return getIgnoreInlinePoints();
1172 OP_Utils::evalOpParm(result, thissop,
"ignoreinlinepoints", cookparms.
getCookTime(), 0);
1180 if (!thissop)
return getFlatAngle();
1182 OP_Utils::evalOpParm(result, thissop,
"flatangle", cookparms.
getCookTime(), 0);
1190 if (!thissop)
return getOffset();
1192 OP_Utils::evalOpParm(result, thissop,
"offset", cookparms.
getCookTime(), 0);
1200 if (!thissop)
return getUseOffsetScale();
1202 OP_Utils::evalOpParm(result, thissop,
"useoffsetscale", cookparms.
getCookTime(), 0);
1210 if (!thissop)
return getPointScaleAttr();
1212 OP_Utils::evalOpParm(result, thissop,
"pointscaleattr", cookparms.
getCookTime(), 0);
1220 if (!thissop)
return getSliding();
1222 OP_Utils::evalOpParm(result, thissop,
"sliding", cookparms.
getCookTime(), 0);
1230 if (!thissop)
return getAsymTol();
1232 OP_Utils::evalOpParm(result, thissop,
"asymtol", cookparms.
getCookTime(), 0);
1240 if (!thissop)
return getSlideEdges();
1242 OP_Utils::evalOpParm(result, thissop,
"slideedges", cookparms.
getCookTime(), 0);
1250 if (!thissop)
return getDetectCollisions();
1252 OP_Utils::evalOpParm(result, thissop,
"detectcollisions", cookparms.
getCookTime(), 0);
1260 if (!thissop)
return getRestrictSlides();
1262 OP_Utils::evalOpParm(result, thissop,
"restrictslides", cookparms.
getCookTime(), 0);
1270 if (!thissop)
return getLimit();
1272 OP_Utils::evalOpParm(result, thissop,
"limit", cookparms.
getCookTime(), 0);
1273 return Limit(result);
1280 if (!thissop)
return getStopAtSlideEnd();
1282 OP_Utils::evalOpParm(result, thissop,
"stopatslideend", cookparms.
getCookTime(), 0);
1290 if (!thissop)
return getStopAtPinches();
1292 OP_Utils::evalOpParm(result, thissop,
"stopatpinches", cookparms.
getCookTime(), 0);
1300 if (!thissop)
return getPinchAngle();
1302 OP_Utils::evalOpParm(result, thissop,
"pinchangle", cookparms.
getCookTime(), 0);
1310 if (!thissop)
return getStopAtCollisions();
1312 OP_Utils::evalOpParm(result, thissop,
"stopatcollisions", cookparms.
getCookTime(), 0);
1320 if (!thissop)
return getFilletShape();
1322 OP_Utils::evalOpParm(result, thissop,
"filletshape", cookparms.
getCookTime(), 0);
1330 if (!thissop)
return getConvexity();
1332 OP_Utils::evalOpParm(result, thissop,
"convexity", cookparms.
getCookTime(), 0);
1340 if (!thissop)
return getProfileSource();
1342 OP_Utils::evalOpParm(result, thissop,
"profilesource", cookparms.
getCookTime(), 0);
1350 if (!thissop)
return getProfileScale();
1352 OP_Utils::evalOpParm(result, thissop,
"profilescale", cookparms.
getCookTime(), 0);
1360 if (!thissop)
return getReverseProfile();
1362 OP_Utils::evalOpParm(result, thissop,
"reverseprofile", cookparms.
getCookTime(), 0);
1370 if (!thissop)
return getSymmetrizeProfile();
1372 OP_Utils::evalOpParm(result, thissop,
"symmetrizeprofile", cookparms.
getCookTime(), 0);
1380 if (!thissop)
return getProfileDirection();
1382 OP_Utils::evalOpParm(result, thissop,
"profiledirection", cookparms.
getCookTime(), 0);
1390 if (!thissop)
return getProfileRamp();
1392 OP_Utils::evalOpParm(result, thissop,
"profileramp", cookparms.
getCookTime(), 0);
1400 if (!thissop)
return getFlatBoost();
1402 OP_Utils::evalOpParm(result, thissop,
"flatboost", cookparms.
getCookTime(), 0);
1410 if (!thissop)
return getUsePointFilletPolys();
1412 OP_Utils::evalOpParm(result, thissop,
"useptfilletgroup", cookparms.
getCookTime(), 0);
1420 if (!thissop)
return getPointFilletPolys();
1422 OP_Utils::evalOpParm(result, thissop,
"ptfilletgroup", cookparms.
getCookTime(), 0);
1430 if (!thissop)
return getUsePointFilletEdges();
1432 OP_Utils::evalOpParm(result, thissop,
"useptfilletedges", cookparms.
getCookTime(), 0);
1440 if (!thissop)
return getPointFilletEdges();
1442 OP_Utils::evalOpParm(result, thissop,
"ptfilletedges", cookparms.
getCookTime(), 0);
1450 if (!thissop)
return getUseEdgeFilletGroup();
1452 OP_Utils::evalOpParm(result, thissop,
"useedgefilletgroup", cookparms.
getCookTime(), 0);
1460 if (!thissop)
return getEdgeFilletGroup();
1462 OP_Utils::evalOpParm(result, thissop,
"edgeprims", cookparms.
getCookTime(), 0);
1470 if (!thissop)
return getUseOffsetEdges();
1472 OP_Utils::evalOpParm(result, thissop,
"useoffsetedges", cookparms.
getCookTime(), 0);
1480 if (!thissop)
return getOffsetEdges();
1482 OP_Utils::evalOpParm(result, thissop,
"offsetedges", cookparms.
getCookTime(), 0);
1490 if (!thissop)
return getUseOffsetPoints();
1492 OP_Utils::evalOpParm(result, thissop,
"useoffsetpoints", cookparms.
getCookTime(), 0);
1500 if (!thissop)
return getOffsetPoints();
1502 OP_Utils::evalOpParm(result, thissop,
"offsetpoints", cookparms.
getCookTime(), 0);
1510 if (!thissop)
return getUseMergedPoints();
1512 OP_Utils::evalOpParm(result, thissop,
"usemergedpoints", cookparms.
getCookTime(), 0);
1520 if (!thissop)
return getMergedPoints();
1522 OP_Utils::evalOpParm(result, thissop,
"mergedpoints", cookparms.
getCookTime(), 0);
1530 if (!thissop)
return getProfileSampling();
1532 OP_Utils::evalOpParm(result, thissop,
"profilesampling", cookparms.
getCookTime(), 0);
1540 if (!thissop)
return getDivisions();
1542 OP_Utils::evalOpParm(result, thissop,
"divisions", cookparms.
getCookTime(), 0);
1549 bool myIgnoreBridges;
1550 bool myIgnoreShared;
1551 bool myIgnoreFlatEdges;
1552 bool myIgnoreFlatPoints;
1553 bool myIgnoreInlinePoints;
1556 int64 myUseOffsetScale;
1561 bool myDetectCollisions;
1562 bool myRestrictSlides;
1564 bool myStopAtSlideEnd;
1565 bool myStopAtPinches;
1567 bool myStopAtCollisions;
1568 int64 myFilletShape;
1570 int64 myProfileSource;
1572 bool myReverseProfile;
1573 bool mySymmetrizeProfile;
1577 bool myUsePointFilletPolys;
1579 bool myUsePointFilletEdges;
1581 bool myUseEdgeFilletGroup;
1583 bool myUseOffsetEdges;
1585 bool myUseOffsetPoints;
1587 bool myUseMergedPoints;
1589 int64 myProfileSampling;
void setIgnoreFlatPoints(bool val)
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
FilletShape opFilletShape(const SOP_NodeVerb::CookParms &cookparms) const
void setSlideEdges(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_Vector2I &v)
bool getUsePointFilletEdges() const
void setSymmetrizeProfile(bool val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
static void saveData(std::ostream &os, UT_Matrix4D v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
fpreal64 opFlatAngle(const SOP_NodeVerb::CookParms &cookparms) const
SOP_Node * getNode() const
static void loadData(UT_IStream &is, bool &v)
bool operator==(const SOP_PolyBevel_3_0Parms &src) const
bool getIgnoreFlatEdges() const
int64 getDivisions() const
~SOP_PolyBevel_3_0Parms() override
void setConvexity(fpreal64 val)
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
const UT_StringHolder & getProfileDirection() const
void setSliding(Sliding val)
bool opUseEdgeFilletGroup(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector2D &v)
bool operator!=(const SOP_PolyBevel_3_0Parms &src) const
bool opRestrictSlides(const SOP_NodeVerb::CookParms &cookparms) const
ProfileSource getProfileSource() const
void setIgnoreShared(bool val)
void setOffsetPoints(const UT_StringHolder &val)
bool opDetectCollisions(const SOP_NodeVerb::CookParms &cookparms) const
void setMergedPoints(const UT_StringHolder &val)
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
bool getStopAtCollisions() const
GLuint const GLfloat * val
void setProfileDirection(const UT_StringHolder &val)
bool opUsePointFilletEdges(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getPointFilletPolys() const
void setUseMergedPoints(bool val)
FilletShape getFilletShape() const
void setProfileRamp(UT_SharedPtr< UT_Ramp > val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
void setGroup(const UT_StringHolder &val)
void setDetectCollisions(bool val)
fpreal64 opPinchAngle(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix4D &v)
SYS_FORCE_INLINE const char * buffer() const
GroupType opGroupType(const SOP_NodeVerb::CookParms &cookparms) const
const SOP_GraphProxy * graph() const
void setAsymTol(fpreal64 val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
An output stream object that owns its own string buffer storage.
bool opIgnoreShared(const SOP_NodeVerb::CookParms &cookparms) const
ParmType getNestParmType(TempIndex fieldnum) const override
bool getStopAtPinches() const
GroupType getGroupType() const
bool opUsePointFilletPolys(const SOP_NodeVerb::CookParms &cookparms) const
bool opIgnoreBridges(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector4I &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
static void loadData(UT_IStream &is, UT_Matrix2D &v)
static void saveData(std::ostream &os, fpreal64 v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
void setDivisions(int64 val)
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
bool opUseOffsetEdges(const SOP_NodeVerb::CookParms &cookparms) const
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
static void loadData(UT_IStream &is, fpreal64 &v)
void setUsePointFilletEdges(bool val)
const UT_StringHolder & getSlideEdges() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
bool opIgnoreFlatEdges(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getEdgeFilletGroup() const
UT_StringHolder opOffsetEdges(const SOP_NodeVerb::CookParms &cookparms) const
void setIgnoreBridges(bool val)
void setReverseProfile(bool val)
void save(std::ostream &os) const
void setProfileSampling(ProfileSampling val)
bool opIgnoreInlinePoints(const SOP_NodeVerb::CookParms &cookparms) const
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
void setOffsetEdges(const UT_StringHolder &val)
void setIgnoreFlatEdges(bool val)
bool opUseMergedPoints(const SOP_NodeVerb::CookParms &cookparms) const
void setProfileScale(fpreal64 val)
exint getNestNumParms(TempIndex idx) const override
static void saveData(std::ostream &os, UT_Matrix3D v)
bool getUseOffsetPoints() const
void setProfileSource(ProfileSource val)
void setStopAtPinches(bool val)
UT_StringHolder opPointScaleAttr(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
UT_StringHolder opMergedPoints(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector3D &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
GLint GLenum GLsizei GLint GLsizei const void * data
fpreal64 getPinchAngle() const
UT_StringHolder opPointFilletPolys(const SOP_NodeVerb::CookParms &cookparms) const
bool getIgnoreBridges() const
fpreal64 getFlatBoost() const
void setUseOffsetEdges(bool val)
ProfileSampling getProfileSampling() const
UseOffsetScale opUseOffsetScale(const SOP_NodeVerb::CookParms &cookparms) const
bool getIgnoreShared() const
void setPinchAngle(fpreal64 val)
bool opUseOffsetPoints(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
void setGroupType(GroupType val)
void setPointScaleAttr(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_Matrix3D &v)
bool getSymmetrizeProfile() const
void setPointFilletEdges(const UT_StringHolder &val)
const UT_StringHolder & getGroup() const
bool getStopAtSlideEnd() const
bool getIgnoreFlatPoints() const
UT_StringHolder opProfileDirection(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opConvexity(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
void setEdgeFilletGroup(const UT_StringHolder &val)
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
void copyFrom(const SOP_NodeParms *src) override
static void loadData(UT_IStream &is, int64 &v)
const UT_StringHolder & getPointScaleAttr() const
UT_SharedPtr< UT_Ramp > opProfileRamp(const SOP_NodeVerb::CookParms &cookparms) const
void setFlatAngle(fpreal64 val)
static void saveData(std::ostream &os, UT_Vector3D v)
Limit opLimit(const SOP_NodeVerb::CookParms &cookparms) const
void setFlatBoost(fpreal64 val)
bool getUsePointFilletPolys() const
fpreal64 opAsymTol(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opOffset(const SOP_NodeVerb::CookParms &cookparms) const
void setPointFilletPolys(const UT_StringHolder &val)
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
static void saveData(std::ostream &os, bool v)
static void loadData(UT_IStream &is, UT_StringHolder &v)
void saveBinary(std::ostream &os) const
Save string to binary stream.
void setOffset(fpreal64 val)
static void loadData(UT_IStream &is, UT_Vector4D &v)
UT_StringHolder opOffsetPoints(const SOP_NodeVerb::CookParms &cookparms) const
void setFilletShape(FilletShape val)
GT_API const UT_StringHolder version
DEP_MicroNode * depnode() const
fpreal64 getAsymTol() const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
void setUseOffsetPoints(bool val)
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
void setUseOffsetScale(UseOffsetScale val)
void setStopAtSlideEnd(bool val)
const UT_StringHolder & getMergedPoints() const
bool opStopAtPinches(const SOP_NodeVerb::CookParms &cookparms) const
ProfileSampling opProfileSampling(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getOffset() const
static void loadData(UT_IStream &is, UT_Vector3I &v)
bool getDetectCollisions() const
void setIgnoreInlinePoints(bool val)
void setUsePointFilletPolys(bool val)
bool opStopAtSlideEnd(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getOffsetPoints() const
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
bool opStopAtCollisions(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
fpreal64 getFlatAngle() const
bool opIgnoreFlatPoints(const SOP_NodeVerb::CookParms &cookparms) const
bool getReverseProfile() const
Utility class for containing a color ramp.
void buildFromOp(const SOP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
GLdouble GLdouble GLdouble r
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
fpreal64 opProfileScale(const SOP_NodeVerb::CookParms &cookparms) const
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
const UT_StringHolder & getOffsetEdges() const
UT_StringHolder opEdgeFilletGroup(const SOP_NodeVerb::CookParms &cookparms) const
bool opSymmetrizeProfile(const SOP_NodeVerb::CookParms &cookparms) const
void setUseEdgeFilletGroup(bool val)
fpreal getCookTime() const
void setRestrictSlides(bool val)
UT_StringHolder opSlideEdges(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opPointFilletEdges(const SOP_NodeVerb::CookParms &cookparms) const
UT_SharedPtr< UT_Ramp > getProfileRamp() const
ProfileSource opProfileSource(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getConvexity() const
void setStopAtCollisions(bool val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
const char * findChar(int c) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
bool getIgnoreInlinePoints() const
bool opReverseProfile(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Vector4D v)
bool getUseEdgeFilletGroup() const
Sliding opSliding(const SOP_NodeVerb::CookParms &cookparms) const
bool load(UT_IStream &is)
fpreal64 opFlatBoost(const SOP_NodeVerb::CookParms &cookparms) const
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
static void saveData(std::ostream &os, UT_StringHolder s)
static void saveData(std::ostream &os, int64 v)
GLsizei const GLfloat * value
const UT_StringHolder & getPointFilletEdges() const
void loadFromOpSubclass(const LoadParms &loadparms) override
const OP_Context & context() const
const char * getNestParmName(TempIndex fieldnum) const override
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
bool getRestrictSlides() const
UseOffsetScale getUseOffsetScale() const
int64 opDivisions(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE bool isstring() const
bool getUseOffsetEdges() const
static void saveData(std::ostream &os, UT_Matrix2D v)
Sliding getSliding() const
static void saveData(std::ostream &os, UT_Vector2D v)
bool getUseMergedPoints() const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
fpreal64 getProfileScale() const