23 namespace SOP_Scatter_2_0Enums
35 using namespace UT::Literal;
60 myUseDensityAttrib =
false;
61 myDensityAttrib =
"density"_UTsh;
62 myUseAreaAttrib =
false;
63 myAreaAttrib =
"area"_UTsh;
64 myUseAreaForVolumes =
false;
65 myUseDensityTexture =
false;
66 myDensityTexture =
"default.pic"_UTsh;
67 myUVAttrib =
"uv"_UTsh;
68 myCountPerPrimAttrib =
"count"_UTsh;
69 myUseEmergencyLimit =
true;
70 myEmergencyLimit = 1e+06;
72 myOverridePrimSeed =
false;
73 myPrimSeedAttrib =
"primid"_UTsh;
74 myRandomizeOrder =
true;
76 myRelaxIterations = 10;
77 myUseGeometricNormals =
false;
78 myUsePrimNumAttrib =
false;
79 myPrimNumAttrib =
"sourceprim"_UTsh;
80 myUsePrimUVWAttrib =
false;
81 myPrimUVWAttrib =
"sourceprimuv"_UTsh;
82 myUseOutputDensityAttrib =
false;
83 myOutputDensityAttrib =
"density"_UTsh;
84 myUseOutputRadiusAttrib =
false;
85 myOutputRadiusAttrib =
"pscale"_UTsh;
86 myUseOutputIdAttrib =
false;
87 myOutputIdAttrib =
"id"_UTsh;
88 myRadiusInTextureSpace =
false;
89 myPointAttribs =
"*"_UTsh;
90 myVertAttribs =
"N uv*"_UTsh;
91 myPrimAttribs =
""_UTsh;
92 myDetailAttribs =
""_UTsh;
93 myDetailAttribsAsDetail =
""_UTsh;
95 myUseMaxRadius =
true;
109 if (myGroup != src.myGroup)
return false;
110 if (myGenerateBy != src.myGenerateBy)
return false;
111 if (myIndepVoxel != src.myIndepVoxel)
return false;
112 if (myForceTotal != src.myForceTotal)
return false;
113 if (myNpts != src.myNpts)
return false;
114 if (myDensityScale != src.myDensityScale)
return false;
115 if (myUseDensityAttrib != src.myUseDensityAttrib)
return false;
116 if (myDensityAttrib != src.myDensityAttrib)
return false;
117 if (myUseAreaAttrib != src.myUseAreaAttrib)
return false;
118 if (myAreaAttrib != src.myAreaAttrib)
return false;
119 if (myUseAreaForVolumes != src.myUseAreaForVolumes)
return false;
120 if (myUseDensityTexture != src.myUseDensityTexture)
return false;
121 if (myDensityTexture != src.myDensityTexture)
return false;
122 if (myUVAttrib != src.myUVAttrib)
return false;
123 if (myCountPerPrimAttrib != src.myCountPerPrimAttrib)
return false;
124 if (myUseEmergencyLimit != src.myUseEmergencyLimit)
return false;
125 if (myEmergencyLimit != src.myEmergencyLimit)
return false;
126 if (mySeed != src.mySeed)
return false;
127 if (myOverridePrimSeed != src.myOverridePrimSeed)
return false;
128 if (myPrimSeedAttrib != src.myPrimSeedAttrib)
return false;
129 if (myRandomizeOrder != src.myRandomizeOrder)
return false;
130 if (myRelaxPoints != src.myRelaxPoints)
return false;
131 if (myRelaxIterations != src.myRelaxIterations)
return false;
132 if (myUseGeometricNormals != src.myUseGeometricNormals)
return false;
133 if (myUsePrimNumAttrib != src.myUsePrimNumAttrib)
return false;
134 if (myPrimNumAttrib != src.myPrimNumAttrib)
return false;
135 if (myUsePrimUVWAttrib != src.myUsePrimUVWAttrib)
return false;
136 if (myPrimUVWAttrib != src.myPrimUVWAttrib)
return false;
137 if (myUseOutputDensityAttrib != src.myUseOutputDensityAttrib)
return false;
138 if (myOutputDensityAttrib != src.myOutputDensityAttrib)
return false;
139 if (myUseOutputRadiusAttrib != src.myUseOutputRadiusAttrib)
return false;
140 if (myOutputRadiusAttrib != src.myOutputRadiusAttrib)
return false;
141 if (myUseOutputIdAttrib != src.myUseOutputIdAttrib)
return false;
142 if (myOutputIdAttrib != src.myOutputIdAttrib)
return false;
143 if (myRadiusInTextureSpace != src.myRadiusInTextureSpace)
return false;
144 if (myPointAttribs != src.myPointAttribs)
return false;
145 if (myVertAttribs != src.myVertAttribs)
return false;
146 if (myPrimAttribs != src.myPrimAttribs)
return false;
147 if (myDetailAttribs != src.myDetailAttribs)
return false;
148 if (myDetailAttribsAsDetail != src.myDetailAttribsAsDetail)
return false;
149 if (myScaleRadiiBy != src.myScaleRadiiBy)
return false;
150 if (myUseMaxRadius != src.myUseMaxRadius)
return false;
151 if (myMaxRadius != src.myMaxRadius)
return false;
170 graph->
evalOpParm(myGroup, nodeidx,
"group", time, graph->
isDirect()?
nullptr:depnode);
173 graph->
evalOpParm(myGenerateBy, nodeidx,
"generateby", time, graph->
isDirect()?
nullptr:depnode);
174 myIndepVoxel =
false;
175 if (
true && ( (
true&&!(((
int64(getGenerateBy())!=0)))) ) )
176 graph->
evalOpParm(myIndepVoxel, nodeidx,
"indepvoxel", time, graph->
isDirect()?
nullptr:depnode);
178 if (
true && ( (
true&&!(((
int64(getGenerateBy())!=0))||((getIndepVoxel()==1)))) ) )
179 graph->
evalOpParm(myForceTotal, nodeidx,
"forcetotal", time, graph->
isDirect()?
nullptr:depnode);
181 if (
true && ( (
true&&!(((
int64(getGenerateBy())!=0))||((getForceTotal()==0))||((getIndepVoxel()==1)))) ) )
184 if (
true && ( (
true&&!(((
int64(getGenerateBy())==1))||((
int64(getGenerateBy())==0)&&(getForceTotal()==1)&&(getIndepVoxel()==0)))) ) )
185 graph->
evalOpParm(myDensityScale, nodeidx,
"densityscale", time, graph->
isDirect()?
nullptr:depnode);
186 myUseDensityAttrib =
false;
187 if (
true && ( (
true&&!(((
int64(getGenerateBy())!=0)))) ) )
188 graph->
evalOpParm(myUseDensityAttrib, nodeidx,
"usedensityattrib", time, graph->
isDirect()?
nullptr:depnode);
189 myDensityAttrib =
"density"_UTsh;
190 if (
true && ( (
true&&!(((
int64(getGenerateBy())!=0))||((getUseDensityAttrib()==0)))) ) )
191 graph->
evalOpParm(myDensityAttrib, nodeidx,
"densityattrib", time, graph->
isDirect()?
nullptr:depnode);
192 myUseAreaAttrib =
false;
193 if (
true && ( (
true&&!(((
int64(getGenerateBy())!=0)))) ) )
194 graph->
evalOpParm(myUseAreaAttrib, nodeidx,
"useareaattrib", time, graph->
isDirect()?
nullptr:depnode);
195 myAreaAttrib =
"area"_UTsh;
196 if (
true && ( (
true&&!(((
int64(getGenerateBy())!=0))||((getUseAreaAttrib()==0)))) ) )
197 graph->
evalOpParm(myAreaAttrib, nodeidx,
"areaattrib", time, graph->
isDirect()?
nullptr:depnode);
198 myUseAreaForVolumes =
false;
199 if (
true && ( (
true&&!(((
int64(getGenerateBy())!=0))||((getForceTotal()==1)&&(getIndepVoxel()==0)))) ) )
200 graph->
evalOpParm(myUseAreaForVolumes, nodeidx,
"useareaforvolumes", time, graph->
isDirect()?
nullptr:depnode);
201 myUseDensityTexture =
false;
202 if (
true && ( (
true&&!(((
int64(getGenerateBy())!=2)))) ) )
203 graph->
evalOpParm(myUseDensityTexture, nodeidx,
"usedensitytexture", time, graph->
isDirect()?
nullptr:depnode);
204 myDensityTexture =
"default.pic"_UTsh;
205 if (
true && ( (
true&&!(((
int64(getGenerateBy())!=2))||((getUseDensityTexture()==0)))) ) )
206 graph->
evalOpParm(myDensityTexture, nodeidx,
"densitytexture", time, graph->
isDirect()?
nullptr:depnode);
207 myUVAttrib =
"uv"_UTsh;
208 if (
true && ( (
true&&!(((
int64(getGenerateBy())!=2)))) ) )
209 graph->
evalOpParm(myUVAttrib, nodeidx,
"uvattrib", time, graph->
isDirect()?
nullptr:depnode);
210 myCountPerPrimAttrib =
"count"_UTsh;
211 if (
true && ( (
true&&!(((
int64(getGenerateBy())!=1)))) ) )
212 graph->
evalOpParm(myCountPerPrimAttrib, nodeidx,
"primcountattrib", time, graph->
isDirect()?
nullptr:depnode);
213 myUseEmergencyLimit =
true;
215 graph->
evalOpParm(myUseEmergencyLimit, nodeidx,
"useemergencylimit", time, graph->
isDirect()?
nullptr:depnode);
216 myEmergencyLimit = 1e+06;
217 if (
true && ( (
true&&!(((getUseEmergencyLimit()==0)))) ) )
218 graph->
evalOpParm(myEmergencyLimit, nodeidx,
"emergencylimit", time, graph->
isDirect()?
nullptr:depnode);
222 myOverridePrimSeed =
false;
223 if (
true && ( (
true&&!(((
int64(getGenerateBy())==2)))) ) )
224 graph->
evalOpParm(myOverridePrimSeed, nodeidx,
"overrideprimseed", time, graph->
isDirect()?
nullptr:depnode);
225 myPrimSeedAttrib =
"primid"_UTsh;
226 if (
true && ( (
true&&!(((
int64(getGenerateBy())==2))||((getOverridePrimSeed()==0)))) ) )
227 graph->
evalOpParm(myPrimSeedAttrib, nodeidx,
"primseedattrib", time, graph->
isDirect()?
nullptr:depnode);
228 myRandomizeOrder =
true;
230 graph->
evalOpParm(myRandomizeOrder, nodeidx,
"randomizeorder", time, graph->
isDirect()?
nullptr:depnode);
231 myRelaxPoints =
true;
233 graph->
evalOpParm(myRelaxPoints, nodeidx,
"relaxpoints", time, graph->
isDirect()?
nullptr:depnode);
234 myRelaxIterations = 10;
235 if (
true && ( (
true&&!(((getRelaxPoints()==0)))) ) )
236 graph->
evalOpParm(myRelaxIterations, nodeidx,
"relaxiterations", time, graph->
isDirect()?
nullptr:depnode);
237 myUseGeometricNormals =
false;
238 if (
true && ( (
true&&!(((getRelaxPoints()==0)))) ) )
239 graph->
evalOpParm(myUseGeometricNormals, nodeidx,
"usegeometricnormals", time, graph->
isDirect()?
nullptr:depnode);
240 myUsePrimNumAttrib =
false;
242 graph->
evalOpParm(myUsePrimNumAttrib, nodeidx,
"useprimnumattrib", time, graph->
isDirect()?
nullptr:depnode);
243 myPrimNumAttrib =
"sourceprim"_UTsh;
244 if (
true && ( (
true&&!(((getUsePrimNumAttrib()==0)))) ) )
245 graph->
evalOpParm(myPrimNumAttrib, nodeidx,
"primnumattrib", time, graph->
isDirect()?
nullptr:depnode);
246 myUsePrimUVWAttrib =
false;
248 graph->
evalOpParm(myUsePrimUVWAttrib, nodeidx,
"useprimuvwattrib", time, graph->
isDirect()?
nullptr:depnode);
249 myPrimUVWAttrib =
"sourceprimuv"_UTsh;
250 if (
true && ( (
true&&!(((getUsePrimUVWAttrib()==0)))) ) )
251 graph->
evalOpParm(myPrimUVWAttrib, nodeidx,
"primuvwattrib", time, graph->
isDirect()?
nullptr:depnode);
252 myUseOutputDensityAttrib =
false;
254 graph->
evalOpParm(myUseOutputDensityAttrib, nodeidx,
"useoutputdensityattrib", time, graph->
isDirect()?
nullptr:depnode);
255 myOutputDensityAttrib =
"density"_UTsh;
256 if (
true && ( (
true&&!(((getUseOutputDensityAttrib()==0)))) ) )
257 graph->
evalOpParm(myOutputDensityAttrib, nodeidx,
"outputdensityattrib", time, graph->
isDirect()?
nullptr:depnode);
258 myUseOutputRadiusAttrib =
false;
260 graph->
evalOpParm(myUseOutputRadiusAttrib, nodeidx,
"useoutputradiusattrib", time, graph->
isDirect()?
nullptr:depnode);
261 myOutputRadiusAttrib =
"pscale"_UTsh;
262 if (
true && ( (
true&&!(((getUseOutputRadiusAttrib()==0)))) ) )
263 graph->
evalOpParm(myOutputRadiusAttrib, nodeidx,
"outputradiusattrib", time, graph->
isDirect()?
nullptr:depnode);
264 myUseOutputIdAttrib =
false;
266 graph->
evalOpParm(myUseOutputIdAttrib, nodeidx,
"useoutputidattrib", time, graph->
isDirect()?
nullptr:depnode);
267 myOutputIdAttrib =
"id"_UTsh;
268 if (
true && ( (
true&&!(((getUseOutputIdAttrib()==0)))) ) )
269 graph->
evalOpParm(myOutputIdAttrib, nodeidx,
"outputidattrib", time, graph->
isDirect()?
nullptr:depnode);
270 myRadiusInTextureSpace =
false;
271 if (
true && ( (
true&&!(((
int64(getGenerateBy())!=2))||((getUseOutputRadiusAttrib()==0)&&(getUseOutputDensityAttrib()==0)))) ) )
272 graph->
evalOpParm(myRadiusInTextureSpace, nodeidx,
"radiusintexturespace", time, graph->
isDirect()?
nullptr:depnode);
273 myPointAttribs =
"*"_UTsh;
275 graph->
evalOpParm(myPointAttribs, nodeidx,
"pointattribs", time, graph->
isDirect()?
nullptr:depnode);
276 myVertAttribs =
"N uv*"_UTsh;
278 graph->
evalOpParm(myVertAttribs, nodeidx,
"vertattribs", time, graph->
isDirect()?
nullptr:depnode);
279 myPrimAttribs =
""_UTsh;
281 graph->
evalOpParm(myPrimAttribs, nodeidx,
"primattribs", time, graph->
isDirect()?
nullptr:depnode);
282 myDetailAttribs =
""_UTsh;
284 graph->
evalOpParm(myDetailAttribs, nodeidx,
"detailattribs", time, graph->
isDirect()?
nullptr:depnode);
285 myDetailAttribsAsDetail =
""_UTsh;
287 graph->
evalOpParm(myDetailAttribsAsDetail, nodeidx,
"detailattribsasdetail", time, graph->
isDirect()?
nullptr:depnode);
289 if (
true && ( (
true&&!(((getRelaxPoints()==0)&&(getUseOutputRadiusAttrib()==0)))) ) )
290 graph->
evalOpParm(myScaleRadiiBy, nodeidx,
"scaleradiiby", time, graph->
isDirect()?
nullptr:depnode);
291 myUseMaxRadius =
true;
292 if (
true && ( (
true&&!(((getRelaxPoints()==0)&&(getUseOutputRadiusAttrib()==0)))) ) )
293 graph->
evalOpParm(myUseMaxRadius, nodeidx,
"usemaxradius", time, graph->
isDirect()?
nullptr:depnode);
295 if (
true && ( (
true&&!(((getRelaxPoints()==0)&&(getUseOutputRadiusAttrib()==0))||((getUseMaxRadius()==0)))) ) )
296 graph->
evalOpParm(myMaxRadius, nodeidx,
"maxradius", time, graph->
isDirect()?
nullptr:depnode);
312 template <
typename T>
319 if (idx.
size() != instance.
size()+1)
324 coerceValue(value, myGroup);
327 coerceValue(value, myGenerateBy);
330 coerceValue(value, myIndepVoxel);
333 coerceValue(value, myForceTotal);
336 coerceValue(value, myNpts);
339 coerceValue(value, myDensityScale);
342 coerceValue(value, myUseDensityAttrib);
345 coerceValue(value, myDensityAttrib);
348 coerceValue(value, myUseAreaAttrib);
351 coerceValue(value, myAreaAttrib);
354 coerceValue(value, myUseAreaForVolumes);
357 coerceValue(value, myUseDensityTexture);
360 coerceValue(value, myDensityTexture);
363 coerceValue(value, myUVAttrib);
366 coerceValue(value, myCountPerPrimAttrib);
369 coerceValue(value, myUseEmergencyLimit);
372 coerceValue(value, myEmergencyLimit);
375 coerceValue(value, mySeed);
378 coerceValue(value, myOverridePrimSeed);
381 coerceValue(value, myPrimSeedAttrib);
384 coerceValue(value, myRandomizeOrder);
387 coerceValue(value, myRelaxPoints);
390 coerceValue(value, myRelaxIterations);
393 coerceValue(value, myUseGeometricNormals);
396 coerceValue(value, myUsePrimNumAttrib);
399 coerceValue(value, myPrimNumAttrib);
402 coerceValue(value, myUsePrimUVWAttrib);
405 coerceValue(value, myPrimUVWAttrib);
408 coerceValue(value, myUseOutputDensityAttrib);
411 coerceValue(value, myOutputDensityAttrib);
414 coerceValue(value, myUseOutputRadiusAttrib);
417 coerceValue(value, myOutputRadiusAttrib);
420 coerceValue(value, myUseOutputIdAttrib);
423 coerceValue(value, myOutputIdAttrib);
426 coerceValue(value, myRadiusInTextureSpace);
429 coerceValue(value, myPointAttribs);
432 coerceValue(value, myVertAttribs);
435 coerceValue(value, myPrimAttribs);
438 coerceValue(value, myDetailAttribs);
441 coerceValue(value, myDetailAttribsAsDetail);
444 coerceValue(value, myScaleRadiiBy);
447 coerceValue(value, myUseMaxRadius);
450 coerceValue(value, myMaxRadius);
466 { doGetParmValue(idx, instance, value); }
468 { doGetParmValue(idx, instance, value); }
470 { doGetParmValue(idx, instance, value); }
472 { doGetParmValue(idx, instance, value); }
474 { doGetParmValue(idx, instance, value); }
476 { doGetParmValue(idx, instance, value); }
478 { doGetParmValue(idx, instance, value); }
480 { doGetParmValue(idx, instance, value); }
482 { doGetParmValue(idx, instance, value); }
484 { doGetParmValue(idx, instance, value); }
486 { doGetParmValue(idx, instance, value); }
488 template <
typename T>
495 if (idx.
size() != instance.
size()+1)
500 coerceValue(myGroup, ( ( value ) ));
503 coerceValue(myGenerateBy, clampMinValue(0, clampMaxValue(2, value ) ));
506 coerceValue(myIndepVoxel, ( ( value ) ));
509 coerceValue(myForceTotal, ( ( value ) ));
512 coerceValue(myNpts, ( ( value ) ));
515 coerceValue(myDensityScale, ( ( value ) ));
518 coerceValue(myUseDensityAttrib, ( ( value ) ));
521 coerceValue(myDensityAttrib, ( ( value ) ));
524 coerceValue(myUseAreaAttrib, ( ( value ) ));
527 coerceValue(myAreaAttrib, ( ( value ) ));
530 coerceValue(myUseAreaForVolumes, ( ( value ) ));
533 coerceValue(myUseDensityTexture, ( ( value ) ));
536 coerceValue(myDensityTexture, ( ( value ) ));
539 coerceValue(myUVAttrib, ( ( value ) ));
542 coerceValue(myCountPerPrimAttrib, ( ( value ) ));
545 coerceValue(myUseEmergencyLimit, ( ( value ) ));
548 coerceValue(myEmergencyLimit, ( ( value ) ));
551 coerceValue(mySeed, ( ( value ) ));
554 coerceValue(myOverridePrimSeed, ( ( value ) ));
557 coerceValue(myPrimSeedAttrib, ( ( value ) ));
560 coerceValue(myRandomizeOrder, ( ( value ) ));
563 coerceValue(myRelaxPoints, ( ( value ) ));
566 coerceValue(myRelaxIterations, clampMinValue(0, ( value ) ));
569 coerceValue(myUseGeometricNormals, ( ( value ) ));
572 coerceValue(myUsePrimNumAttrib, ( ( value ) ));
575 coerceValue(myPrimNumAttrib, ( ( value ) ));
578 coerceValue(myUsePrimUVWAttrib, ( ( value ) ));
581 coerceValue(myPrimUVWAttrib, ( ( value ) ));
584 coerceValue(myUseOutputDensityAttrib, ( ( value ) ));
587 coerceValue(myOutputDensityAttrib, ( ( value ) ));
590 coerceValue(myUseOutputRadiusAttrib, ( ( value ) ));
593 coerceValue(myOutputRadiusAttrib, ( ( value ) ));
596 coerceValue(myUseOutputIdAttrib, ( ( value ) ));
599 coerceValue(myOutputIdAttrib, ( ( value ) ));
602 coerceValue(myRadiusInTextureSpace, ( ( value ) ));
605 coerceValue(myPointAttribs, ( ( value ) ));
608 coerceValue(myVertAttribs, ( ( value ) ));
611 coerceValue(myPrimAttribs, ( ( value ) ));
614 coerceValue(myDetailAttribs, ( ( value ) ));
617 coerceValue(myDetailAttribsAsDetail, ( ( value ) ));
620 coerceValue(myScaleRadiiBy, clampMinValue(0, ( value ) ));
623 coerceValue(myUseMaxRadius, ( ( value ) ));
626 coerceValue(myMaxRadius, clampMinValue(0, ( value ) ));
633 { doSetParmValue(idx, instance, value); }
635 { doSetParmValue(idx, instance, value); }
637 { doSetParmValue(idx, instance, value); }
639 { doSetParmValue(idx, instance, value); }
641 { doSetParmValue(idx, instance, value); }
643 { doSetParmValue(idx, instance, value); }
645 { doSetParmValue(idx, instance, value); }
647 { doSetParmValue(idx, instance, value); }
649 { doSetParmValue(idx, instance, value); }
651 { doSetParmValue(idx, instance, value); }
653 { doSetParmValue(idx, instance, value); }
669 if (fieldnum.
size() < 1)
684 return "densityscale";
686 return "usedensityattrib";
688 return "densityattrib";
690 return "useareaattrib";
694 return "useareaforvolumes";
696 return "usedensitytexture";
698 return "densitytexture";
702 return "primcountattrib";
704 return "useemergencylimit";
706 return "emergencylimit";
710 return "overrideprimseed";
712 return "primseedattrib";
714 return "randomizeorder";
716 return "relaxpoints";
718 return "relaxiterations";
720 return "usegeometricnormals";
722 return "useprimnumattrib";
724 return "primnumattrib";
726 return "useprimuvwattrib";
728 return "primuvwattrib";
730 return "useoutputdensityattrib";
732 return "outputdensityattrib";
734 return "useoutputradiusattrib";
736 return "outputradiusattrib";
738 return "useoutputidattrib";
740 return "outputidattrib";
742 return "radiusintexturespace";
744 return "pointattribs";
746 return "vertattribs";
748 return "primattribs";
750 return "detailattribs";
752 return "detailattribsasdetail";
754 return "scaleradiiby";
756 return "usemaxradius";
766 if (fieldnum.
size() < 1)
767 return PARM_UNSUPPORTED;
858 return PARM_UNSUPPORTED;
894 loadData(is, rampdata);
912 int typelen = colon - data.
buffer();
926 {
int64 iv =
v; UTwrite(os, &iv); }
928 { UTwrite<fpreal64>(os, &
v); }
930 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
932 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
933 UTwrite<fpreal64>(os, &v.
z()); }
935 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
936 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
948 if (s) s->save(ostr);
950 saveData(os, result);
957 ostr << s->getDataTypeToken();
962 saveData(os, result);
966 void save(std::ostream &os)
const
970 saveData(os, myGroup);
971 saveData(os, myGenerateBy);
972 saveData(os, myIndepVoxel);
973 saveData(os, myForceTotal);
974 saveData(os, myNpts);
975 saveData(os, myDensityScale);
976 saveData(os, myUseDensityAttrib);
977 saveData(os, myDensityAttrib);
978 saveData(os, myUseAreaAttrib);
979 saveData(os, myAreaAttrib);
980 saveData(os, myUseAreaForVolumes);
981 saveData(os, myUseDensityTexture);
982 saveData(os, myDensityTexture);
983 saveData(os, myUVAttrib);
984 saveData(os, myCountPerPrimAttrib);
985 saveData(os, myUseEmergencyLimit);
986 saveData(os, myEmergencyLimit);
987 saveData(os, mySeed);
988 saveData(os, myOverridePrimSeed);
989 saveData(os, myPrimSeedAttrib);
990 saveData(os, myRandomizeOrder);
991 saveData(os, myRelaxPoints);
992 saveData(os, myRelaxIterations);
993 saveData(os, myUseGeometricNormals);
994 saveData(os, myUsePrimNumAttrib);
995 saveData(os, myPrimNumAttrib);
996 saveData(os, myUsePrimUVWAttrib);
997 saveData(os, myPrimUVWAttrib);
998 saveData(os, myUseOutputDensityAttrib);
999 saveData(os, myOutputDensityAttrib);
1000 saveData(os, myUseOutputRadiusAttrib);
1001 saveData(os, myOutputRadiusAttrib);
1002 saveData(os, myUseOutputIdAttrib);
1003 saveData(os, myOutputIdAttrib);
1004 saveData(os, myRadiusInTextureSpace);
1005 saveData(os, myPointAttribs);
1006 saveData(os, myVertAttribs);
1007 saveData(os, myPrimAttribs);
1008 saveData(os, myDetailAttribs);
1009 saveData(os, myDetailAttribsAsDetail);
1010 saveData(os, myScaleRadiiBy);
1011 saveData(os, myUseMaxRadius);
1012 saveData(os, myMaxRadius);
1025 loadData(is, myGroup);
1026 loadData(is, myGenerateBy);
1027 loadData(is, myIndepVoxel);
1028 loadData(is, myForceTotal);
1029 loadData(is, myNpts);
1030 loadData(is, myDensityScale);
1031 loadData(is, myUseDensityAttrib);
1032 loadData(is, myDensityAttrib);
1033 loadData(is, myUseAreaAttrib);
1034 loadData(is, myAreaAttrib);
1035 loadData(is, myUseAreaForVolumes);
1036 loadData(is, myUseDensityTexture);
1037 loadData(is, myDensityTexture);
1038 loadData(is, myUVAttrib);
1039 loadData(is, myCountPerPrimAttrib);
1040 loadData(is, myUseEmergencyLimit);
1041 loadData(is, myEmergencyLimit);
1042 loadData(is, mySeed);
1043 loadData(is, myOverridePrimSeed);
1044 loadData(is, myPrimSeedAttrib);
1045 loadData(is, myRandomizeOrder);
1046 loadData(is, myRelaxPoints);
1047 loadData(is, myRelaxIterations);
1048 loadData(is, myUseGeometricNormals);
1049 loadData(is, myUsePrimNumAttrib);
1050 loadData(is, myPrimNumAttrib);
1051 loadData(is, myUsePrimUVWAttrib);
1052 loadData(is, myPrimUVWAttrib);
1053 loadData(is, myUseOutputDensityAttrib);
1054 loadData(is, myOutputDensityAttrib);
1055 loadData(is, myUseOutputRadiusAttrib);
1056 loadData(is, myOutputRadiusAttrib);
1057 loadData(is, myUseOutputIdAttrib);
1058 loadData(is, myOutputIdAttrib);
1059 loadData(is, myRadiusInTextureSpace);
1060 loadData(is, myPointAttribs);
1061 loadData(is, myVertAttribs);
1062 loadData(is, myPrimAttribs);
1063 loadData(is, myDetailAttribs);
1064 loadData(is, myDetailAttribsAsDetail);
1065 loadData(is, myScaleRadiiBy);
1066 loadData(is, myUseMaxRadius);
1067 loadData(is, myMaxRadius);
1077 if (!thissop)
return getGroup();
1079 OP_Utils::evalOpParm(result, thissop,
"group", cookparms.
getCookTime(), 0);
1087 if (!thissop)
return getGenerateBy();
1089 OP_Utils::evalOpParm(result, thissop,
"generateby", cookparms.
getCookTime(), 0);
1097 if (!thissop)
return getIndepVoxel();
1099 OP_Utils::evalOpParm(result, thissop,
"indepvoxel", cookparms.
getCookTime(), 0);
1107 if (!thissop)
return getForceTotal();
1109 OP_Utils::evalOpParm(result, thissop,
"forcetotal", cookparms.
getCookTime(), 0);
1117 if (!thissop)
return getNpts();
1119 OP_Utils::evalOpParm(result, thissop,
"npts", cookparms.
getCookTime(), 0);
1127 if (!thissop)
return getDensityScale();
1129 OP_Utils::evalOpParm(result, thissop,
"densityscale", cookparms.
getCookTime(), 0);
1137 if (!thissop)
return getUseDensityAttrib();
1139 OP_Utils::evalOpParm(result, thissop,
"usedensityattrib", cookparms.
getCookTime(), 0);
1147 if (!thissop)
return getDensityAttrib();
1149 OP_Utils::evalOpParm(result, thissop,
"densityattrib", cookparms.
getCookTime(), 0);
1157 if (!thissop)
return getUseAreaAttrib();
1159 OP_Utils::evalOpParm(result, thissop,
"useareaattrib", cookparms.
getCookTime(), 0);
1167 if (!thissop)
return getAreaAttrib();
1169 OP_Utils::evalOpParm(result, thissop,
"areaattrib", cookparms.
getCookTime(), 0);
1177 if (!thissop)
return getUseAreaForVolumes();
1179 OP_Utils::evalOpParm(result, thissop,
"useareaforvolumes", cookparms.
getCookTime(), 0);
1187 if (!thissop)
return getUseDensityTexture();
1189 OP_Utils::evalOpParm(result, thissop,
"usedensitytexture", cookparms.
getCookTime(), 0);
1197 if (!thissop)
return getDensityTexture();
1199 OP_Utils::evalOpParm(result, thissop,
"densitytexture", cookparms.
getCookTime(), 0);
1207 if (!thissop)
return getUVAttrib();
1209 OP_Utils::evalOpParm(result, thissop,
"uvattrib", cookparms.
getCookTime(), 0);
1217 if (!thissop)
return getCountPerPrimAttrib();
1219 OP_Utils::evalOpParm(result, thissop,
"primcountattrib", cookparms.
getCookTime(), 0);
1227 if (!thissop)
return getUseEmergencyLimit();
1229 OP_Utils::evalOpParm(result, thissop,
"useemergencylimit", cookparms.
getCookTime(), 0);
1237 if (!thissop)
return getEmergencyLimit();
1239 OP_Utils::evalOpParm(result, thissop,
"emergencylimit", cookparms.
getCookTime(), 0);
1247 if (!thissop)
return getSeed();
1249 OP_Utils::evalOpParm(result, thissop,
"seed", cookparms.
getCookTime(), 0);
1257 if (!thissop)
return getOverridePrimSeed();
1259 OP_Utils::evalOpParm(result, thissop,
"overrideprimseed", cookparms.
getCookTime(), 0);
1267 if (!thissop)
return getPrimSeedAttrib();
1269 OP_Utils::evalOpParm(result, thissop,
"primseedattrib", cookparms.
getCookTime(), 0);
1277 if (!thissop)
return getRandomizeOrder();
1279 OP_Utils::evalOpParm(result, thissop,
"randomizeorder", cookparms.
getCookTime(), 0);
1287 if (!thissop)
return getRelaxPoints();
1289 OP_Utils::evalOpParm(result, thissop,
"relaxpoints", cookparms.
getCookTime(), 0);
1297 if (!thissop)
return getRelaxIterations();
1299 OP_Utils::evalOpParm(result, thissop,
"relaxiterations", cookparms.
getCookTime(), 0);
1307 if (!thissop)
return getUseGeometricNormals();
1309 OP_Utils::evalOpParm(result, thissop,
"usegeometricnormals", cookparms.
getCookTime(), 0);
1317 if (!thissop)
return getUsePrimNumAttrib();
1319 OP_Utils::evalOpParm(result, thissop,
"useprimnumattrib", cookparms.
getCookTime(), 0);
1327 if (!thissop)
return getPrimNumAttrib();
1329 OP_Utils::evalOpParm(result, thissop,
"primnumattrib", cookparms.
getCookTime(), 0);
1337 if (!thissop)
return getUsePrimUVWAttrib();
1339 OP_Utils::evalOpParm(result, thissop,
"useprimuvwattrib", cookparms.
getCookTime(), 0);
1347 if (!thissop)
return getPrimUVWAttrib();
1349 OP_Utils::evalOpParm(result, thissop,
"primuvwattrib", cookparms.
getCookTime(), 0);
1357 if (!thissop)
return getUseOutputDensityAttrib();
1359 OP_Utils::evalOpParm(result, thissop,
"useoutputdensityattrib", cookparms.
getCookTime(), 0);
1367 if (!thissop)
return getOutputDensityAttrib();
1369 OP_Utils::evalOpParm(result, thissop,
"outputdensityattrib", cookparms.
getCookTime(), 0);
1377 if (!thissop)
return getUseOutputRadiusAttrib();
1379 OP_Utils::evalOpParm(result, thissop,
"useoutputradiusattrib", cookparms.
getCookTime(), 0);
1387 if (!thissop)
return getOutputRadiusAttrib();
1389 OP_Utils::evalOpParm(result, thissop,
"outputradiusattrib", cookparms.
getCookTime(), 0);
1397 if (!thissop)
return getUseOutputIdAttrib();
1399 OP_Utils::evalOpParm(result, thissop,
"useoutputidattrib", cookparms.
getCookTime(), 0);
1407 if (!thissop)
return getOutputIdAttrib();
1409 OP_Utils::evalOpParm(result, thissop,
"outputidattrib", cookparms.
getCookTime(), 0);
1417 if (!thissop)
return getRadiusInTextureSpace();
1419 OP_Utils::evalOpParm(result, thissop,
"radiusintexturespace", cookparms.
getCookTime(), 0);
1427 if (!thissop)
return getPointAttribs();
1429 OP_Utils::evalOpParm(result, thissop,
"pointattribs", cookparms.
getCookTime(), 0);
1437 if (!thissop)
return getVertAttribs();
1439 OP_Utils::evalOpParm(result, thissop,
"vertattribs", cookparms.
getCookTime(), 0);
1447 if (!thissop)
return getPrimAttribs();
1449 OP_Utils::evalOpParm(result, thissop,
"primattribs", cookparms.
getCookTime(), 0);
1457 if (!thissop)
return getDetailAttribs();
1459 OP_Utils::evalOpParm(result, thissop,
"detailattribs", cookparms.
getCookTime(), 0);
1467 if (!thissop)
return getDetailAttribsAsDetail();
1469 OP_Utils::evalOpParm(result, thissop,
"detailattribsasdetail", cookparms.
getCookTime(), 0);
1477 if (!thissop)
return getScaleRadiiBy();
1479 OP_Utils::evalOpParm(result, thissop,
"scaleradiiby", cookparms.
getCookTime(), 0);
1487 if (!thissop)
return getUseMaxRadius();
1489 OP_Utils::evalOpParm(result, thissop,
"usemaxradius", cookparms.
getCookTime(), 0);
1497 if (!thissop)
return getMaxRadius();
1499 OP_Utils::evalOpParm(result, thissop,
"maxradius", cookparms.
getCookTime(), 0);
1510 bool myUseDensityAttrib;
1512 bool myUseAreaAttrib;
1514 bool myUseAreaForVolumes;
1515 bool myUseDensityTexture;
1519 bool myUseEmergencyLimit;
1520 int64 myEmergencyLimit;
1522 bool myOverridePrimSeed;
1524 bool myRandomizeOrder;
1526 int64 myRelaxIterations;
1527 bool myUseGeometricNormals;
1528 bool myUsePrimNumAttrib;
1530 bool myUsePrimUVWAttrib;
1532 bool myUseOutputDensityAttrib;
1534 bool myUseOutputRadiusAttrib;
1536 bool myUseOutputIdAttrib;
1538 bool myRadiusInTextureSpace;
1545 bool myUseMaxRadius;
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
bool getUseDensityAttrib() const
UT_StringHolder opVertAttribs(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getScaleRadiiBy() const
static void saveData(std::ostream &os, UT_Vector4D v)
const UT_StringHolder & getPrimNumAttrib() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
static void loadData(UT_IStream &is, UT_Matrix4D &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
void setIndepVoxel(bool val)
void setGroup(const UT_StringHolder &val)
bool getUsePrimNumAttrib() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
SOP_Node * getNode() const
bool getForceTotal() const
void setSeed(fpreal64 val)
void setScaleRadiiBy(fpreal64 val)
static void loadData(UT_IStream &is, UT_Vector2D &v)
static void saveData(std::ostream &os, UT_StringHolder s)
void setDetailAttribsAsDetail(const UT_StringHolder &val)
UT_StringHolder opPrimAttribs(const SOP_NodeVerb::CookParms &cookparms) const
void setUseDensityTexture(bool val)
bool getUseOutputIdAttrib() const
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
void setVertAttribs(const UT_StringHolder &val)
void setGenerateBy(GenerateBy val)
void setOutputIdAttrib(const UT_StringHolder &val)
exint bread(int32 *buffer, exint asize=1)
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
GT_API const UT_StringHolder time
void loadFromOpSubclass(const LoadParms &loadparms) override
constexpr SYS_FORCE_INLINE T & y() noexcept
bool opUseDensityAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
UT_StringHolder opPrimSeedAttrib(const SOP_NodeVerb::CookParms &cookparms) const
GLsizei const GLfloat * value
void setDensityScale(fpreal64 val)
static void saveData(std::ostream &os, UT_Matrix3D v)
const UT_StringHolder & getOutputIdAttrib() const
bool opUseOutputRadiusAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setUseOutputRadiusAttrib(bool val)
const OP_Context & context() const
void setUseOutputDensityAttrib(bool val)
UT_StringHolder opOutputDensityAttrib(const SOP_NodeVerb::CookParms &cookparms) const
int64 getRelaxIterations() const
constexpr SYS_FORCE_INLINE T & z() noexcept
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
SYS_FORCE_INLINE const char * buffer() const
void setPrimUVWAttrib(const UT_StringHolder &val)
void setForceTotal(bool val)
static void loadData(UT_IStream &is, UT_Vector3I &v)
An output stream object that owns its own string buffer storage.
static void loadData(UT_IStream &is, bool &v)
UT_StringHolder opDetailAttribs(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opDensityTexture(const SOP_NodeVerb::CookParms &cookparms) const
void setPrimAttribs(const UT_StringHolder &val)
static void saveData(std::ostream &os, UT_Vector3D v)
const UT_StringHolder & getPrimSeedAttrib() const
**But if you need a result
static void saveData(std::ostream &os, UT_Vector2D v)
bool opRandomizeOrder(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opOutputRadiusAttrib(const SOP_NodeVerb::CookParms &cookparms) const
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
UT_StringHolder opUVAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setPointAttribs(const UT_StringHolder &val)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
const char * getNestParmName(TempIndex fieldnum) const override
const UT_StringHolder & getVertAttribs() const
void setDensityAttrib(const UT_StringHolder &val)
const UT_StringHolder & getOutputDensityAttrib() const
constexpr SYS_FORCE_INLINE T & x() noexcept
bool opUseMaxRadius(const SOP_NodeVerb::CookParms &cookparms) const
bool opOverridePrimSeed(const SOP_NodeVerb::CookParms &cookparms) const
void setMaxRadius(fpreal64 val)
void setUseAreaForVolumes(bool val)
UT_StringHolder opAreaAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
void setDensityTexture(const UT_StringHolder &val)
void setOutputDensityAttrib(const UT_StringHolder &val)
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
constexpr SYS_FORCE_INLINE T & x() noexcept
void setUseOutputIdAttrib(bool val)
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
void setRelaxPoints(bool val)
ParmType getNestParmType(TempIndex fieldnum) const override
UT_StringHolder opDensityAttrib(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getDetailAttribsAsDetail() const
const UT_StringHolder & getAreaAttrib() const
bool getIndepVoxel() const
SYS_FORCE_INLINE UT_StringHolder getToken(GenerateBy enum_value)
bool opUsePrimNumAttrib(const SOP_NodeVerb::CookParms &cookparms) const
bool getUseAreaForVolumes() const
bool opRadiusInTextureSpace(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opSeed(const SOP_NodeVerb::CookParms &cookparms) const
GenerateBy opGenerateBy(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getCountPerPrimAttrib() const
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
SYS_FORCE_INLINE const char * buffer() const
const UT_StringHolder & getDensityTexture() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
void copyFrom(const OP_NodeParms *src) override
constexpr SYS_FORCE_INLINE T & z() noexcept
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
void setRandomizeOrder(bool val)
bool opIndepVoxel(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getDetailAttribs() const
const OP_GraphProxy * graph() const
const UT_StringHolder & getPrimAttribs() const
const UT_StringHolder & getGroup() const
bool getUsePrimUVWAttrib() const
void setAreaAttrib(const UT_StringHolder &val)
const UT_StringHolder & getOutputRadiusAttrib() const
int64 opNpts(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseAreaForVolumes(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
bool operator==(const SOP_Scatter_2_0Parms &src) const
exint getNestNumParms(TempIndex idx) const override
void setUseGeometricNormals(bool val)
bool getRandomizeOrder() const
bool getUseDensityTexture() const
static void saveData(std::ostream &os, int64 v)
bool opUseAreaAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setCountPerPrimAttrib(const UT_StringHolder &val)
bool getUseOutputRadiusAttrib() const
bool getRelaxPoints() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
static void loadData(UT_IStream &is, UT_Matrix3D &v)
void save(std::ostream &os) const
bool isParmColorRamp(exint idx) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
const UT_StringHolder & getPointAttribs() const
UT_StringHolder opPrimUVWAttrib(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opMaxRadius(const SOP_NodeVerb::CookParms &cookparms) const
GenerateBy getGenerateBy() const
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
const UT_StringHolder & getDensityAttrib() const
bool opForceTotal(const SOP_NodeVerb::CookParms &cookparms) const
bool opUsePrimUVWAttrib(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector2I &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
void saveBinary(std::ostream &os) const
Save string to binary stream.
UT_StringHolder opPrimNumAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
GT_API const UT_StringHolder version
UT_StringHolder opOutputIdAttrib(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, int64 &v)
bool opUseDensityTexture(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
bool getUseGeometricNormals() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
void setUsePrimUVWAttrib(bool val)
bool opRelaxPoints(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix4D v)
static void saveData(std::ostream &os, fpreal64 v)
void setUVAttrib(const UT_StringHolder &val)
bool operator!=(const SOP_Scatter_2_0Parms &src) const
static void loadData(UT_IStream &is, UT_StringHolder &v)
const UT_StringHolder & getPrimUVWAttrib() const
bool opUseOutputDensityAttrib(const SOP_NodeVerb::CookParms &cookparms) const
void setUseMaxRadius(bool val)
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
fpreal64 opScaleRadiiBy(const SOP_NodeVerb::CookParms &cookparms) const
DEP_MicroNode * depnode() const
UT_StringHolder opDetailAttribsAsDetail(const SOP_NodeVerb::CookParms &cookparms) const
LeafData & operator=(const LeafData &)=delete
static void loadData(UT_IStream &is, fpreal64 &v)
Utility class for containing a color ramp.
UT_StringHolder opPointAttribs(const SOP_NodeVerb::CookParms &cookparms) const
bool getUseAreaAttrib() const
void setDetailAttribs(const UT_StringHolder &val)
fpreal64 getDensityScale() const
constexpr SYS_FORCE_INLINE T & w() noexcept
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
void setUseDensityAttrib(bool val)
virtual UT_StringHolder baseGetSignature() const
bool getRadiusInTextureSpace() const
fpreal64 getMaxRadius() const
bool opUseEmergencyLimit(const SOP_NodeVerb::CookParms &cookparms) const
UT_StringHolder opCountPerPrimAttrib(const SOP_NodeVerb::CookParms &cookparms) const
bool opUseGeometricNormals(const SOP_NodeVerb::CookParms &cookparms) const
void setRadiusInTextureSpace(bool val)
int64 opEmergencyLimit(const SOP_NodeVerb::CookParms &cookparms) const
fpreal getCookTime() const
bool load(UT_IStream &is)
void setEmergencyLimit(int64 val)
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
const char * findChar(int c) const
bool getUseEmergencyLimit() const
void setOutputRadiusAttrib(const UT_StringHolder &val)
void setPrimNumAttrib(const UT_StringHolder &val)
const UT_StringHolder & getUVAttrib() const
bool getUseMaxRadius() const
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
static void saveData(std::ostream &os, UT_Matrix2D v)
void setRelaxIterations(int64 val)
void setUseAreaAttrib(bool val)
static void saveData(std::ostream &os, bool v)
void setPrimSeedAttrib(const UT_StringHolder &val)
int64 getEmergencyLimit() const
constexpr SYS_FORCE_INLINE T & y() noexcept
int64 opRelaxIterations(const SOP_NodeVerb::CookParms &cookparms) const
bool getUseOutputDensityAttrib() const
static void loadData(UT_IStream &is, UT_Vector4D &v)
void setUsePrimNumAttrib(bool val)
virtual bool isDirect() const =0
Direct proxies mirror actual nodes:
void setOverridePrimSeed(bool val)
void setUseEmergencyLimit(bool val)
constexpr SYS_FORCE_INLINE T & y() noexcept
SYS_FORCE_INLINE bool isstring() const
static void loadData(UT_IStream &is, UT_Matrix2D &v)
static void loadData(UT_IStream &is, UT_Vector3D &v)
bool opUseOutputIdAttrib(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector4I &v)
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
bool getOverridePrimSeed() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
constexpr SYS_FORCE_INLINE T & x() noexcept
fpreal64 opDensityScale(const SOP_NodeVerb::CookParms &cookparms) const