23 namespace SOP_MLRegressionKernelCoreEnums
34 using namespace UT::Literal;
52 using namespace UT::Literal;
70 using namespace UT::Literal;
87 using namespace UT::Literal;
104 using namespace UT::Literal;
105 switch (enum_value) {
129 inputpointattribute =
"value"_UTsh;
130 inputvolumename =
"density"_UTsh;
136 if (inputtype != src.
inputtype)
return false;
154 for (
int i = 0; i < list.
entries(); i++)
185 outputpointattribute =
"value"_UTsh;
186 outputvolumename =
"density"_UTsh;
194 if (outputtype != src.
outputtype)
return false;
214 for (
int i = 0; i < list.
entries(); i++)
241 myWeightDecay = 0.000001;
242 myErrorThreshold = 0.00000001;
245 mySigmoidScale = 1.0;
246 myPolynomialOffset = 1.0;
247 myPolynomialDegree = 1;
248 mySigmoidOffset = 1.0;
251 myOutputs.setSize(1);
264 if (myBatch != src.myBatch)
return false;
265 if (myWeightDecay != src.myWeightDecay)
return false;
266 if (myErrorThreshold != src.myErrorThreshold)
return false;
267 if (myKernelType != src.myKernelType)
return false;
268 if (myWidth != src.myWidth)
return false;
269 if (mySigmoidScale != src.mySigmoidScale)
return false;
270 if (myPolynomialOffset != src.myPolynomialOffset)
return false;
271 if (myPolynomialDegree != src.myPolynomialDegree)
return false;
272 if (mySigmoidOffset != src.mySigmoidOffset)
return false;
273 if (myModelMode != src.myModelMode)
return false;
274 if (myInputs != src.myInputs)
return false;
275 if (myOutputs != src.myOutputs)
return false;
298 graph->
evalOpParm(myBatch, nodeidx,
"batch", time, graph->
isDirect()?
nullptr:depnode);
299 myWeightDecay = 0.000001;
301 graph->
evalOpParm(myWeightDecay, nodeidx,
"weightdecay", time, graph->
isDirect()?
nullptr:depnode);
302 myErrorThreshold = 0.00000001;
304 graph->
evalOpParm(myErrorThreshold, nodeidx,
"errorthreshold", time, graph->
isDirect()?
nullptr:depnode);
307 graph->
evalOpParm(myKernelType, nodeidx,
"kerneltype", time, graph->
isDirect()?
nullptr:depnode);
309 if (
true && ( (
true&&!(((
int64(getKernelType())!=0)))) ) )
310 graph->
evalOpParm(myWidth, nodeidx,
"width", time, graph->
isDirect()?
nullptr:depnode);
311 mySigmoidScale = 1.0;
312 if (
true && ( (
true&&!(((
int64(getKernelType())!=2)))) ) )
313 graph->
evalOpParm(mySigmoidScale, nodeidx,
"sigmoidscale", time, graph->
isDirect()?
nullptr:depnode);
314 myPolynomialOffset = 1.0;
315 if (
true && ( (
true&&!(((
int64(getKernelType())!=1)))) ) )
316 graph->
evalOpParm(myPolynomialOffset, nodeidx,
"polynomialoffset", time, graph->
isDirect()?
nullptr:depnode);
317 myPolynomialDegree = 1;
318 if (
true && ( (
true&&!(((
int64(getKernelType())!=1)))) ) )
319 graph->
evalOpParm(myPolynomialDegree, nodeidx,
"polynomialdegree", time, graph->
isDirect()?
nullptr:depnode);
320 mySigmoidOffset = 1.0;
321 if (
true && ( (
true&&!(((
int64(getKernelType())!=2)))) ) )
322 graph->
evalOpParm(mySigmoidOffset, nodeidx,
"sigmoidoffset", time, graph->
isDirect()?
nullptr:depnode);
325 graph->
evalOpParm(myModelMode, nodeidx,
"modelmode", time, graph->
isDirect()?
nullptr:depnode);
329 graph->
evalOpParm(length, nodeidx,
"inputs", time, graph->
isDirect()?
nullptr:depnode);
330 if (length < 0) length = 0;
331 myInputs.setSize(length);
338 auto && _curentry = myInputs(i);
340 _curentry.inputtype = 0;
342 graph->
evalOpParmInst(_curentry.inputtype, nodeidx,
"inputtype#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
343 _curentry.inputpointattribute =
"value"_UTsh;
344 if (
true && ( (
true&&!(((_curentry.inputtype!=0)))) ) )
345 graph->
evalOpParmInst(_curentry.inputpointattribute, nodeidx,
"inputpointattribute#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
346 _curentry.inputvolumename =
"density"_UTsh;
347 if (
true && ( (
true&&!(((_curentry.inputtype!=1)))) ) )
348 graph->
evalOpParmInst(_curentry.inputvolumename, nodeidx,
"inputvolumename#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
357 graph->
evalOpParm(length, nodeidx,
"outputs", time, graph->
isDirect()?
nullptr:depnode);
358 if (length < 0) length = 0;
359 myOutputs.setSize(length);
366 auto && _curentry = myOutputs(i);
368 _curentry.outputtype = 0;
370 graph->
evalOpParmInst(_curentry.outputtype, nodeidx,
"outputtype#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
371 _curentry.outputpointattribute =
"value"_UTsh;
372 if (
true && ( (
true&&!(((_curentry.outputtype!=0)))) ) )
373 graph->
evalOpParmInst(_curentry.outputpointattribute, nodeidx,
"outputpointattribute#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
374 _curentry.outputvolumename =
"density"_UTsh;
375 if (
true && ( (
true&&!(((_curentry.outputtype!=1)))) ) )
376 graph->
evalOpParmInst(_curentry.outputvolumename, nodeidx,
"outputvolumename#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
377 _curentry.outputvolumeresolution =
UT_Vector3I(10,10,10);
378 if (
true && ( (
true&&!(((_curentry.outputtype!=1)))) ) )
379 graph->
evalOpParmInst(_curentry.outputvolumeresolution, nodeidx,
"outputvolumeresolution#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
380 _curentry.outputtuplesize = 1;
382 graph->
evalOpParmInst(_curentry.outputtuplesize, nodeidx,
"outputtuplesize#", parmidx, offsets, time, graph->
isDirect()?
nullptr:depnode, 2-1);
403 template <
typename T>
410 if (idx.
size() != instance.
size()+1)
415 coerceValue(value, myBatch);
418 coerceValue(value, myWeightDecay);
421 coerceValue(value, myErrorThreshold);
424 coerceValue(value, myKernelType);
427 coerceValue(value, myWidth);
430 coerceValue(value, mySigmoidScale);
433 coerceValue(value, myPolynomialOffset);
436 coerceValue(value, myPolynomialDegree);
439 coerceValue(value, mySigmoidOffset);
442 coerceValue(value, myModelMode);
446 coerceValue(value, myInputs.entries());
447 else if (instance[0] < myInputs.entries())
449 auto && _data = myInputs(instance[0]);
453 coerceValue(value, _data.inputtype);
456 coerceValue(value, _data.inputpointattribute);
459 coerceValue(value, _data.inputvolumename);
467 coerceValue(value, myOutputs.entries());
468 else if (instance[0] < myOutputs.entries())
470 auto && _data = myOutputs(instance[0]);
474 coerceValue(value, _data.outputtype);
477 coerceValue(value, _data.outputpointattribute);
480 coerceValue(value, _data.outputvolumename);
483 coerceValue(value, _data.outputvolumeresolution);
486 coerceValue(value, _data.outputtuplesize);
506 { doGetParmValue(idx, instance, value); }
508 { doGetParmValue(idx, instance, value); }
510 { doGetParmValue(idx, instance, value); }
512 { doGetParmValue(idx, instance, value); }
514 { doGetParmValue(idx, instance, value); }
516 { doGetParmValue(idx, instance, value); }
518 { doGetParmValue(idx, instance, value); }
520 { doGetParmValue(idx, instance, value); }
522 { doGetParmValue(idx, instance, value); }
524 { doGetParmValue(idx, instance, value); }
526 { doGetParmValue(idx, instance, value); }
528 template <
typename T>
535 if (idx.
size() != instance.
size()+1)
540 coerceValue(myBatch, clampMinValue(0, clampMaxValue(1, value ) ));
543 coerceValue(myWeightDecay, ( ( value ) ));
546 coerceValue(myErrorThreshold, ( ( value ) ));
549 coerceValue(myKernelType, clampMinValue(0, clampMaxValue(2, value ) ));
552 coerceValue(myWidth, ( ( value ) ));
555 coerceValue(mySigmoidScale, ( ( value ) ));
558 coerceValue(myPolynomialOffset, ( ( value ) ));
561 coerceValue(myPolynomialDegree, ( ( value ) ));
564 coerceValue(mySigmoidOffset, ( ( value ) ));
567 coerceValue(myModelMode, clampMinValue(0, clampMaxValue(1, value ) ));
573 coerceValue(newsize, value);
574 if (newsize < 0) newsize = 0;
575 myInputs.setSize(newsize);
581 myInputs.setSizeIfNeeded(instance[0]+1);
582 auto && _data = myInputs(instance[0]);
586 coerceValue(_data.inputtype, value);
589 coerceValue(_data.inputpointattribute, value);
592 coerceValue(_data.inputvolumename, value);
602 coerceValue(newsize, value);
603 if (newsize < 0) newsize = 0;
604 myOutputs.setSize(newsize);
610 myOutputs.setSizeIfNeeded(instance[0]+1);
611 auto && _data = myOutputs(instance[0]);
615 coerceValue(_data.outputtype, value);
618 coerceValue(_data.outputpointattribute, value);
621 coerceValue(_data.outputvolumename, value);
624 coerceValue(_data.outputvolumeresolution, value);
627 coerceValue(_data.outputtuplesize, value);
638 { doSetParmValue(idx, instance, value); }
640 { doSetParmValue(idx, instance, value); }
642 { doSetParmValue(idx, instance, value); }
644 { doSetParmValue(idx, instance, value); }
646 { doSetParmValue(idx, instance, value); }
648 { doSetParmValue(idx, instance, value); }
650 { doSetParmValue(idx, instance, value); }
652 { doSetParmValue(idx, instance, value); }
654 { doSetParmValue(idx, instance, value); }
656 { doSetParmValue(idx, instance, value); }
658 { doSetParmValue(idx, instance, value); }
678 if (fieldnum.
size() < 1)
685 return "weightdecay";
687 return "errorthreshold";
693 return "sigmoidscale";
695 return "polynomialoffset";
697 return "polynomialdegree";
699 return "sigmoidoffset";
703 if (fieldnum.
size() == 1)
710 return "inputpointattribute#";
712 return "inputvolumename#";
717 if (fieldnum.
size() == 1)
722 return "outputtype#";
724 return "outputpointattribute#";
726 return "outputvolumename#";
728 return "outputvolumeresolution#";
730 return "outputtuplesize#";
741 if (fieldnum.
size() < 1)
742 return PARM_UNSUPPORTED;
766 if (fieldnum.
size() == 1)
767 return PARM_MULTIPARM;
778 return PARM_UNSUPPORTED;
780 if (fieldnum.
size() == 1)
781 return PARM_MULTIPARM;
796 return PARM_UNSUPPORTED;
799 return PARM_UNSUPPORTED;
835 loadData(is, rampdata);
853 int typelen = colon - data.
buffer();
867 {
int64 iv =
v; UTwrite(os, &iv); }
869 { UTwrite<fpreal64>(os, &
v); }
871 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
873 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
874 UTwrite<fpreal64>(os, &v.
z()); }
876 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
877 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
889 if (s) s->save(ostr);
891 saveData(os, result);
898 ostr << s->getDataTypeToken();
903 saveData(os, result);
907 void save(std::ostream &os)
const
911 saveData(os, myBatch);
912 saveData(os, myWeightDecay);
913 saveData(os, myErrorThreshold);
914 saveData(os, myKernelType);
915 saveData(os, myWidth);
916 saveData(os, mySigmoidScale);
917 saveData(os, myPolynomialOffset);
918 saveData(os, myPolynomialDegree);
919 saveData(os, mySigmoidOffset);
920 saveData(os, myModelMode);
923 UTwrite(os, &length);
926 auto && _curentry = myInputs(i);
928 saveData(os, _curentry.inputtype);
929 saveData(os, _curentry.inputpointattribute);
930 saveData(os, _curentry.inputvolumename);
936 UTwrite(os, &length);
939 auto && _curentry = myOutputs(i);
941 saveData(os, _curentry.outputtype);
942 saveData(os, _curentry.outputpointattribute);
943 saveData(os, _curentry.outputvolumename);
944 saveData(os, _curentry.outputvolumeresolution);
945 saveData(os, _curentry.outputtuplesize);
961 loadData(is, myBatch);
962 loadData(is, myWeightDecay);
963 loadData(is, myErrorThreshold);
964 loadData(is, myKernelType);
965 loadData(is, myWidth);
966 loadData(is, mySigmoidScale);
967 loadData(is, myPolynomialOffset);
968 loadData(is, myPolynomialDegree);
969 loadData(is, mySigmoidOffset);
970 loadData(is, myModelMode);
974 myInputs.setSize(length);
977 auto && _curentry = myInputs(i);
979 loadData(is, _curentry.inputtype);
980 loadData(is, _curentry.inputpointattribute);
981 loadData(is, _curentry.inputvolumename);
988 myOutputs.setSize(length);
991 auto && _curentry = myOutputs(i);
993 loadData(is, _curentry.outputtype);
994 loadData(is, _curentry.outputpointattribute);
995 loadData(is, _curentry.outputvolumename);
996 loadData(is, _curentry.outputvolumeresolution);
997 loadData(is, _curentry.outputtuplesize);
1010 if (!thissop)
return getBatch();
1012 OP_Utils::evalOpParm(result, thissop,
"batch", cookparms.
getCookTime(), 0);
1013 return Batch(result);
1020 if (!thissop)
return getWeightDecay();
1022 OP_Utils::evalOpParm(result, thissop,
"weightdecay", cookparms.
getCookTime(), 0);
1030 if (!thissop)
return getErrorThreshold();
1032 OP_Utils::evalOpParm(result, thissop,
"errorthreshold", cookparms.
getCookTime(), 0);
1040 if (!thissop)
return getKernelType();
1042 OP_Utils::evalOpParm(result, thissop,
"kerneltype", cookparms.
getCookTime(), 0);
1050 if (!thissop)
return getWidth();
1052 OP_Utils::evalOpParm(result, thissop,
"width", cookparms.
getCookTime(), 0);
1060 if (!thissop)
return getSigmoidScale();
1062 OP_Utils::evalOpParm(result, thissop,
"sigmoidscale", cookparms.
getCookTime(), 0);
1070 if (!thissop)
return getPolynomialOffset();
1072 OP_Utils::evalOpParm(result, thissop,
"polynomialoffset", cookparms.
getCookTime(), 0);
1080 if (!thissop)
return getPolynomialDegree();
1082 OP_Utils::evalOpParm(result, thissop,
"polynomialdegree", cookparms.
getCookTime(), 0);
1090 if (!thissop)
return getSigmoidOffset();
1092 OP_Utils::evalOpParm(result, thissop,
"sigmoidoffset", cookparms.
getCookTime(), 0);
1100 if (!thissop)
return getModelMode();
1102 OP_Utils::evalOpParm(result, thissop,
"modelmode", cookparms.
getCookTime(), 0);
1110 if (!thissop)
return getInputs().entries();
1112 OP_Utils::evalOpParm(result, thissop,
"inputs", cookparms.
getCookTime(), 0);
1116 {
return opinstInputs_inputtype(cookparms, &_idx); }
1120 if (!thissop)
return (myInputs(_idx[0]).inputtype);
1122 _parmidx[1-1] = _idx[1-1] + 1;
1125 OP_Utils::evalOpParmInst(result, thissop,
"inputtype#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1129 {
return opinstInputs_inputpointattribute(cookparms, &_idx); }
1133 if (!thissop)
return (myInputs(_idx[0]).inputpointattribute);
1135 _parmidx[1-1] = _idx[1-1] + 1;
1138 OP_Utils::evalOpParmInst(result, thissop,
"inputpointattribute#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1142 {
return opinstInputs_inputvolumename(cookparms, &_idx); }
1146 if (!thissop)
return (myInputs(_idx[0]).inputvolumename);
1148 _parmidx[1-1] = _idx[1-1] + 1;
1151 OP_Utils::evalOpParmInst(result, thissop,
"inputvolumename#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1160 if (!thissop)
return getOutputs().entries();
1162 OP_Utils::evalOpParm(result, thissop,
"outputs", cookparms.
getCookTime(), 0);
1166 {
return opinstOutputs_outputtype(cookparms, &_idx); }
1170 if (!thissop)
return (myOutputs(_idx[0]).outputtype);
1172 _parmidx[1-1] = _idx[1-1] + 1;
1175 OP_Utils::evalOpParmInst(result, thissop,
"outputtype#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1179 {
return opinstOutputs_outputpointattribute(cookparms, &_idx); }
1183 if (!thissop)
return (myOutputs(_idx[0]).outputpointattribute);
1185 _parmidx[1-1] = _idx[1-1] + 1;
1188 OP_Utils::evalOpParmInst(result, thissop,
"outputpointattribute#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1192 {
return opinstOutputs_outputvolumename(cookparms, &_idx); }
1196 if (!thissop)
return (myOutputs(_idx[0]).outputvolumename);
1198 _parmidx[1-1] = _idx[1-1] + 1;
1201 OP_Utils::evalOpParmInst(result, thissop,
"outputvolumename#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1205 {
return opinstOutputs_outputvolumeresolution(cookparms, &_idx); }
1209 if (!thissop)
return (myOutputs(_idx[0]).outputvolumeresolution);
1211 _parmidx[1-1] = _idx[1-1] + 1;
1214 OP_Utils::evalOpParmInst(result, thissop,
"outputvolumeresolution#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1218 {
return opinstOutputs_outputtuplesize(cookparms, &_idx); }
1222 if (!thissop)
return (myOutputs(_idx[0]).outputtuplesize);
1224 _parmidx[1-1] = _idx[1-1] + 1;
1227 OP_Utils::evalOpParmInst(result, thissop,
"outputtuplesize#", _parmidx, cookparms.
getCookTime(), 0, 2-1);
1240 int64 myPolynomialDegree;
static void saveData(std::ostream &os, UT_Matrix3D v)
GLenum GLuint GLenum GLsizei const GLchar * buf
static void saveData(std::ostream &os, UT_Vector2D v)
static void loadData(UT_IStream &is, UT_StringHolder &v)
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
fpreal64 getWidth() const
SOP_Node * getNode() const
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
UT_StringHolder opinstInputs_inputpointattribute(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
void save(std::ostream &os) const
ParmType getNestParmType(TempIndex fieldnum) const override
exint bread(int32 *buffer, exint asize=1)
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
fpreal64 getPolynomialOffset() const
fpreal64 opWeightDecay(const SOP_NodeVerb::CookParms &cookparms) const
GT_API const UT_StringHolder time
static void loadData(UT_IStream &is, UT_Vector3I &v)
constexpr SYS_FORCE_INLINE T & y() noexcept
static void saveData(std::ostream &os, UT_Matrix4D v)
GLsizei const GLfloat * value
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
void setPolynomialOffset(fpreal64 val)
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
UT_StringHolder createString(const UT_Array< Outputs > &list) const
UT_String makeQuotedString(char delimiter='\'', bool escape_nonprinting=false) const
const OP_Context & context() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
constexpr SYS_FORCE_INLINE T & z() noexcept
int64 opinstOutputs_outputtuplesize(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
SYS_FORCE_INLINE const char * buffer() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
GLuint GLsizei GLsizei * length
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
An output stream object that owns its own string buffer storage.
fpreal64 opErrorThreshold(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 getWeightDecay() const
**But if you need a result
bool operator==(const Outputs &src) const
UT_StringHolder opOutputs_outputvolumename(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
UT_Vector3T< int64 > UT_Vector3I
fpreal64 getErrorThreshold() const
fpreal64 opWidth(const SOP_NodeVerb::CookParms &cookparms) const
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
UT_StringHolder createString(const UT_Array< Inputs > &list) const
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
static void saveData(std::ostream &os, UT_StringHolder s)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
void setSigmoidScale(fpreal64 val)
fpreal64 opPolynomialOffset(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
constexpr SYS_FORCE_INLINE T & x() noexcept
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
void setErrorThreshold(fpreal64 val)
GLuint GLsizei const GLuint const GLintptr * offsets
static void saveData(std::ostream &os, UT_Matrix2D v)
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
bool operator==(const SOP_MLRegressionKernelCoreParms &src) const
UT_StringHolder opInputs_inputpointattribute(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
constexpr SYS_FORCE_INLINE T & x() noexcept
const UT_Array< Outputs > & getOutputs() const
exint getNestNumParms(TempIndex idx) const override
static void loadData(UT_IStream &is, int64 &v)
int64 opPolynomialDegree(const SOP_NodeVerb::CookParms &cookparms) const
const UT_Array< Inputs > & getInputs() const
static void saveData(std::ostream &os, UT_Vector4D v)
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
fpreal64 opSigmoidOffset(const SOP_NodeVerb::CookParms &cookparms) const
void copyFrom(const OP_NodeParms *src) override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
UT_StringHolder opinstOutputs_outputvolumename(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
KernelType opKernelType(const SOP_NodeVerb::CookParms &cookparms) const
void setKernelType(KernelType val)
static void saveData(std::ostream &os, int64 v)
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
constexpr SYS_FORCE_INLINE T & z() noexcept
static void loadData(UT_IStream &is, UT_Matrix3D &v)
exint read(bool *array, exint sz=1)
const OP_GraphProxy * graph() const
ModelMode opModelMode(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector3I outputvolumeresolution
UT_StringHolder outputpointattribute
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
void setModelMode(ModelMode val)
virtual void evalOpParmInst(int64 &v, NodeIdx node, const char *parmname, const int *inst, const int *offsets, fpreal time, DEP_MicroNode *depnode, int nestlevel=1) const =0
bool operator!=(const Outputs &src) const
static void saveData(std::ostream &os, bool v)
UT_Vector3I opOutputs_outputvolumeresolution(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
void setOutputs(const UT_Array< Outputs > &val)
static void loadData(UT_IStream &is, UT_Vector2I &v)
void setWeightDecay(fpreal64 val)
SYS_FORCE_INLINE UT_StringHolder getToken(Batch enum_value)
bool load(UT_IStream &is)
Batch opBatch(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
UT_Vector3I opinstOutputs_outputvolumeresolution(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
UT_StringHolder opinstOutputs_outputpointattribute(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
static void saveData(std::ostream &os, PRM_DataItemHandle s)
UT_StringHolder opinstInputs_inputvolumename(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
SYS_FORCE_INLINE void strcat(const char *src)
static void saveData(std::ostream &os, UT_Vector3D v)
void saveBinary(std::ostream &os) const
Save string to binary stream.
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
GT_API const UT_StringHolder version
exint entries() const
Alias of size(). size() is preferred.
static void loadData(UT_IStream &is, UT_Matrix2D &v)
int64 opinstOutputs_outputtype(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
int int appendSprintf(const char *fmt,...) SYS_PRINTF_CHECK_ATTRIBUTE(2
static void loadData(UT_IStream &is, bool &v)
fpreal64 getSigmoidScale() const
UT_StringHolder outputvolumename
int64 opinstInputs_inputtype(const SOP_NodeVerb::CookParms &cookparms, const int *_idx) const
KernelType getKernelType() const
int64 opOutputs_outputtuplesize(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void loadData(UT_IStream &is, UT_Vector4D &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
DEP_MicroNode * depnode() const
UT_StringHolder opInputs_inputvolumename(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void loadData(UT_IStream &is, UT_Vector3D &v)
void setPolynomialDegree(int64 val)
int64 getPolynomialDegree() const
LeafData & operator=(const LeafData &)=delete
Utility class for containing a color ramp.
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
constexpr SYS_FORCE_INLINE T & w() noexcept
SYS_FORCE_INLINE void append(char character)
static void saveData(std::ostream &os, fpreal64 v)
virtual UT_StringHolder baseGetSignature() const
int64 opInputs_inputtype(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
static void loadData(UT_IStream &is, fpreal64 &v)
void setWidth(fpreal64 val)
fpreal getCookTime() const
void setInputs(const UT_Array< Inputs > &val)
const char * findChar(int c) const
bool isParmColorRamp(exint idx) const override
exint opOutputs(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
constexpr SYS_FORCE_INLINE T & y() noexcept
static void loadData(UT_IStream &is, UT_Vector4I &v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
static void loadData(UT_IStream &is, UT_Matrix4D &v)
virtual bool isDirect() const =0
Direct proxies mirror actual nodes:
const char * getNestParmName(TempIndex fieldnum) const override
fpreal64 opSigmoidScale(const SOP_NodeVerb::CookParms &cookparms) const
int64 opOutputs_outputtype(const SOP_NodeVerb::CookParms &cookparms, int _idx) const
exint opInputs(const SOP_NodeVerb::CookParms &cookparms) const
void loadFromOpSubclass(const LoadParms &loadparms) override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
void setSigmoidOffset(fpreal64 val)
ModelMode getModelMode() const
static void loadData(UT_IStream &is, UT_Vector2D &v)
constexpr SYS_FORCE_INLINE T & y() noexcept
SYS_FORCE_INLINE bool isstring() const
SOP_MLRegressionKernelCoreParms()
bool operator!=(const SOP_MLRegressionKernelCoreParms &src) const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
fpreal64 getSigmoidOffset() const
constexpr SYS_FORCE_INLINE T & x() noexcept
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
UT_StringHolder opOutputs_outputpointattribute(const SOP_NodeVerb::CookParms &cookparms, int _idx) const