23 namespace SOP_LinearSolverEnums
36 using namespace UT::Literal;
56 using namespace UT::Literal;
84 using namespace UT::Literal;
113 using namespace UT::Literal;
114 switch (enum_value) {
132 using namespace UT::Literal;
133 switch (enum_value) {
154 using namespace UT::Literal;
155 switch (enum_value) {
176 using namespace UT::Literal;
177 switch (enum_value) {
195 using namespace UT::Literal;
196 switch (enum_value) {
216 using namespace UT::Literal;
217 switch (enum_value) {
237 using namespace UT::Literal;
238 switch (enum_value) {
256 using namespace UT::Literal;
257 switch (enum_value) {
276 using namespace UT::Literal;
277 switch (enum_value) {
297 using namespace UT::Literal;
298 switch (enum_value) {
316 using namespace UT::Literal;
317 switch (enum_value) {
335 using namespace UT::Literal;
336 switch (enum_value) {
355 myCookInplace =
false;
357 myUseIterativeSolver =
false;
358 myIterativeSolver = 5;
359 mySolveWithGuess =
false;
360 myUseEigensolver =
false;
361 mySpectraEigensolver = 0;
364 mySolverTolerance = 1e-4;
366 myVolumeEncoding = 0;
367 myPointsPrimsEncoding = 0;
368 myDetailEncoding = 0;
369 mySquareMatrix =
false;
372 myRowAttribute =
"row"_UTsh;
373 myColAttribute =
"col"_UTsh;
374 myMatrixValueAttribute =
"value"_UTsh;
375 myVectorSrcStorage = 0;
376 myVectorSrcAttribute =
"known"_UTsh;
377 myVectorDstStorage = 0;
378 myVectorDstAttribute =
"unknown"_UTsh;
379 myPinnedGroup =
""_UTsh;
382 myAccumulateResult =
false;
383 myDenseDirectSolver = 0;
384 mySparseDirectSolver = 1;
385 mySparseDirectSolverBackend = 0;
386 myDensePreconditioner = 1;
387 mySparsePreconditioner = 1;
400 if (myMode != src.myMode)
return false;
401 if (myCookInplace != src.myCookInplace)
return false;
402 if (myPrecision != src.myPrecision)
return false;
403 if (myUseIterativeSolver != src.myUseIterativeSolver)
return false;
404 if (myIterativeSolver != src.myIterativeSolver)
return false;
405 if (mySolveWithGuess != src.mySolveWithGuess)
return false;
406 if (myUseEigensolver != src.myUseEigensolver)
return false;
407 if (mySpectraEigensolver != src.mySpectraEigensolver)
return false;
408 if (myNumEigenpairs != src.myNumEigenpairs)
return false;
409 if (myShift != src.myShift)
return false;
410 if (mySolverTolerance != src.mySolverTolerance)
return false;
411 if (myMatrixStorage != src.myMatrixStorage)
return false;
412 if (myVolumeEncoding != src.myVolumeEncoding)
return false;
413 if (myPointsPrimsEncoding != src.myPointsPrimsEncoding)
return false;
414 if (myDetailEncoding != src.myDetailEncoding)
return false;
415 if (mySquareMatrix != src.mySquareMatrix)
return false;
416 if (myRows != src.myRows)
return false;
417 if (myCols != src.myCols)
return false;
418 if (myRowAttribute != src.myRowAttribute)
return false;
419 if (myColAttribute != src.myColAttribute)
return false;
420 if (myMatrixValueAttribute != src.myMatrixValueAttribute)
return false;
421 if (myVectorSrcStorage != src.myVectorSrcStorage)
return false;
422 if (myVectorSrcAttribute != src.myVectorSrcAttribute)
return false;
423 if (myVectorDstStorage != src.myVectorDstStorage)
return false;
424 if (myVectorDstAttribute != src.myVectorDstAttribute)
return false;
425 if (myPinnedGroup != src.myPinnedGroup)
return false;
426 if (myReduceRows != src.myReduceRows)
return false;
427 if (myScale != src.myScale)
return false;
428 if (myAccumulateResult != src.myAccumulateResult)
return false;
429 if (myDenseDirectSolver != src.myDenseDirectSolver)
return false;
430 if (mySparseDirectSolver != src.mySparseDirectSolver)
return false;
431 if (mySparseDirectSolverBackend != src.mySparseDirectSolverBackend)
return false;
432 if (myDensePreconditioner != src.myDensePreconditioner)
return false;
433 if (mySparsePreconditioner != src.mySparsePreconditioner)
return false;
463 graph->
evalOpParm(myMode, nodeidx,
"mode", time, 0);
464 myCookInplace =
false;
466 graph->
evalOpParm(myCookInplace, nodeidx,
"cookinplace", time, 0);
469 graph->
evalOpParm(myPrecision, nodeidx,
"precision", time, 0);
470 myUseIterativeSolver =
false;
471 if (
true && ( (
true&&!(((
int64(getMode())==3))||((
int64(getMode())==2))||((
int64(getMode())==1)))) ) )
472 graph->
evalOpParm(myUseIterativeSolver, nodeidx,
"useiterativesolver", time, 0);
473 myIterativeSolver = 5;
474 if (
true && ( (
true&&!(((
int64(getMode())==3))||((
int64(getMode())==2))||((getUseIterativeSolver()==0))||((
int64(getMode())!=0)))) ) )
475 graph->
evalOpParm(myIterativeSolver, nodeidx,
"iterativesolver", time, 0);
476 mySolveWithGuess =
false;
477 if (
true && ( (
true&&!(((
int64(getMode())==3))||((
int64(getMode())==2))||((getUseIterativeSolver()==0))||((
int64(getMode())!=0)))) ) )
478 graph->
evalOpParm(mySolveWithGuess, nodeidx,
"solvewithguess", time, 0);
479 myUseEigensolver =
false;
480 if (
true && ( (
true&&!(((
int64(getMode())==3))||((
int64(getMode())==2))||((
int64(getMode())!=1)))) ) )
481 graph->
evalOpParm(myUseEigensolver, nodeidx,
"useeigensolver", time, 0);
482 mySpectraEigensolver = 0;
483 if (
true && ( (
true&&!(((
int64(getMode())==3))||((
int64(getMode())==2))||((getUseEigensolver()==0))||((
int64(getMode())!=1)))) ) )
484 graph->
evalOpParm(mySpectraEigensolver, nodeidx,
"spectraeigensolver", time, 0);
486 if (
true && ( (
true&&!(((
int64(getMode())==3))||((
int64(getMode())==2))||((getUseEigensolver()==0))||((
int64(getMode())!=1)))) ) )
487 graph->
evalOpParm(myNumEigenpairs, nodeidx,
"numeigenpairs", time, 0);
489 if (
true && ( (
true&&!(((
int64(getMode())==3))||((
int64(getMode())==2))||((getUseEigensolver()==0))||((
int64(getSpectraEigensolver())!=2)&&(
int64(getSpectraEigensolver())!=3))||((
int64(getMode())!=1)))) ) )
490 graph->
evalOpParm(myShift, nodeidx,
"shift", time, 0);
491 mySolverTolerance = 1e-4;
492 if (
true && ( (
true&&!(((
int64(getMode())==3))||((
int64(getMode())==2))||((getUseIterativeSolver()==0)&&(getUseEigensolver()==0)))) ) )
493 graph->
evalOpParm(mySolverTolerance, nodeidx,
"solvertolerance", time, 0);
495 if (
true && ( (
true&&!(((
int64(getMode())==2)))) ) )
496 graph->
evalOpParm(myMatrixStorage, nodeidx,
"matrixstorage", time, 0);
497 myVolumeEncoding = 0;
498 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMatrixStorage())!=0)))) ) )
499 graph->
evalOpParm(myVolumeEncoding, nodeidx,
"volumeencoding", time, 0);
500 myPointsPrimsEncoding = 0;
501 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMatrixStorage())!=1)&&(
int64(getMatrixStorage())!=2)))) ) )
502 graph->
evalOpParm(myPointsPrimsEncoding, nodeidx,
"pointsprimsencoding", time, 0);
503 myDetailEncoding = 0;
504 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMatrixStorage())!=3)))) ) )
505 graph->
evalOpParm(myDetailEncoding, nodeidx,
"detailencoding", time, 0);
506 mySquareMatrix =
false;
507 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMatrixStorage())==0))||((
int64(getMatrixStorage())==1)&&(
int64(getPointsPrimsEncoding())==0))||((
int64(getMatrixStorage())==2)&&(
int64(getPointsPrimsEncoding())==0))||((
int64(getMatrixStorage())==1)&&(
int64(getPointsPrimsEncoding())==1))||((
int64(getMatrixStorage())==2)&&(
int64(getPointsPrimsEncoding())==1)))) ) )
508 graph->
evalOpParm(mySquareMatrix, nodeidx,
"squarematrix", time, 0);
510 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMatrixStorage())==0))||((
int64(getMatrixStorage())==1)&&(
int64(getPointsPrimsEncoding())!=3)&&(
int64(getPointsPrimsEncoding())!=2))||((
int64(getMatrixStorage())==2)&&(
int64(getPointsPrimsEncoding())!=3)&&(
int64(getPointsPrimsEncoding())!=2))||((getSquareMatrix()==1)&&(
int64(getMatrixStorage())==1)&&(
int64(getPointsPrimsEncoding())!=2))||((getSquareMatrix()==1)&&(
int64(getMatrixStorage())==2)&&(
int64(getPointsPrimsEncoding())!=2))||((getSquareMatrix()==1)&&(
int64(getMatrixStorage())==3)&&(
int64(getDetailEncoding())!=2)))) ) )
511 graph->
evalOpParm(myRows, nodeidx,
"rows", time, 0);
513 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMatrixStorage())==0))||((
int64(getMatrixStorage())==1)&&(
int64(getPointsPrimsEncoding())!=4)&&(
int64(getPointsPrimsEncoding())!=2))||((
int64(getMatrixStorage())==2)&&(
int64(getPointsPrimsEncoding())!=4)&&(
int64(getPointsPrimsEncoding())!=2))||((getSquareMatrix()==1)&&(
int64(getMatrixStorage())==1))||((getSquareMatrix()==1)&&(
int64(getMatrixStorage())==2))||((getSquareMatrix()==1)&&(
int64(getMatrixStorage())==3)))) ) )
514 graph->
evalOpParm(myCols, nodeidx,
"cols", time, 0);
515 myRowAttribute =
"row"_UTsh;
516 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMatrixStorage())==0))||((
int64(getMatrixStorage())==1)&&(
int64(getPointsPrimsEncoding())==4))||((
int64(getMatrixStorage())==2)&&(
int64(getPointsPrimsEncoding())==4))||((
int64(getMatrixStorage())==3))||((
int64(getMatrixStorage())==1)&&(
int64(getPointsPrimsEncoding())==1))||((
int64(getMatrixStorage())==2)&&(
int64(getPointsPrimsEncoding())==1))||((
int64(getMatrixStorage())==1)&&(
int64(getPointsPrimsEncoding())==0))||((
int64(getMatrixStorage())==2)&&(
int64(getPointsPrimsEncoding())==0)))) ) )
517 graph->
evalOpParm(myRowAttribute, nodeidx,
"rowattr", time, 0);
518 myColAttribute =
"col"_UTsh;
519 if (
true && ( (
true&&!(((
int64(getMode())==2))||((
int64(getMatrixStorage())==0))||((
int64(getMatrixStorage())==1)&&(
int64(getPointsPrimsEncoding())==3))||((
int64(getMatrixStorage())==2)&&(
int64(getPointsPrimsEncoding())==3))||((
int64(getMatrixStorage())==3))||((
int64(getMatrixStorage())==1)&&(
int64(getPointsPrimsEncoding())==1))||((
int64(getMatrixStorage())==2)&&(
int64(getPointsPrimsEncoding())==1))||((
int64(getMatrixStorage())==1)&&(
int64(getPointsPrimsEncoding())==0))||((
int64(getMatrixStorage())==2)&&(
int64(getPointsPrimsEncoding())==0)))) ) )
520 graph->
evalOpParm(myColAttribute, nodeidx,
"colattr", time, 0);
521 myMatrixValueAttribute =
"value"_UTsh;
522 if (
true && ( (
true&&!(((
int64(getMode())==2)))) ) )
523 graph->
evalOpParm(myMatrixValueAttribute, nodeidx,
"matrixvalueattr", time, 0);
524 myVectorSrcStorage = 0;
525 if (
true && ( (
true&&!(((
int64(getMode())==1)))) ) )
526 graph->
evalOpParm(myVectorSrcStorage, nodeidx,
"vectorsrcstorage", time, 0);
527 myVectorSrcAttribute =
"known"_UTsh;
528 if (
true && ( (
true&&!(((
int64(getMode())==1)))) ) )
529 graph->
evalOpParm(myVectorSrcAttribute, nodeidx,
"vectorsrcattr", time, 0);
530 myVectorDstStorage = 0;
532 graph->
evalOpParm(myVectorDstStorage, nodeidx,
"vectordststorage", time, 0);
533 myVectorDstAttribute =
"unknown"_UTsh;
534 if (
true && ( (
true&&!(((
int64(getMode())==1)))) ) )
535 graph->
evalOpParm(myVectorDstAttribute, nodeidx,
"vectordstattr", time, 0);
536 myPinnedGroup =
""_UTsh;
537 if (
true && ( (
true&&!(((
int64(getVectorDstStorage())==2))||((
int64(getMode())==3)))) ) )
538 graph->
evalOpParm(myPinnedGroup, nodeidx,
"pinnedgroup", time, 0);
540 if (
true && ( (
true&&!(((
int64(getVectorDstStorage())==2))||((
int64(getMode())==3))||((getPinnedGroup()==
"")))) ) )
541 graph->
evalOpParm(myReduceRows, nodeidx,
"reducerows", time, 0);
543 if (
true && ( (
true&&!(((
int64(getMode())==1)))) ) )
544 graph->
evalOpParm(myScale, nodeidx,
"scale", time, 0);
545 myAccumulateResult =
false;
546 if (
true && ( (
true&&!(((
int64(getMode())==1)))) ) )
547 graph->
evalOpParm(myAccumulateResult, nodeidx,
"accumulateresult", time, 0);
548 myDenseDirectSolver = 0;
549 if (
true && ( (
true&&!(((
int64(getMode())==3))||((
int64(getMode())==2))||((
int64(getMode())==0)&&(getUseIterativeSolver()==1))||((
int64(getMode())==1)&&(getUseEigensolver()==1))||((
int64(getMatrixStorage())==3)&&(
int64(getDetailEncoding())!=0)&&(
int64(getDetailEncoding())!=1))||((
int64(getMatrixStorage())==1)&&(
int64(getPointsPrimsEncoding())!=0)&&(
int64(getPointsPrimsEncoding())!=1))||((
int64(getMatrixStorage())==2)&&(
int64(getPointsPrimsEncoding())!=0)&&(
int64(getPointsPrimsEncoding())!=1)))) ) )
550 graph->
evalOpParm(myDenseDirectSolver, nodeidx,
"densedirectsolver", time, 0);
551 mySparseDirectSolver = 1;
552 if (
true && ( (
true&&!(((
int64(getMode())==3))||((
int64(getMode())==2))||((getUseIterativeSolver()==1))||((getUseEigensolver()==1))||((
int64(getMatrixStorage())==0))||((
int64(getMatrixStorage())==3)&&(
int64(getDetailEncoding())==0))||((
int64(getMatrixStorage())==3)&&(
int64(getDetailEncoding())==1))||((
int64(getMatrixStorage())==1)&&(
int64(getPointsPrimsEncoding())==1))||((
int64(getMatrixStorage())==2)&&(
int64(getPointsPrimsEncoding())==1))||((
int64(getMatrixStorage())==1)&&(
int64(getPointsPrimsEncoding())==0))||((
int64(getMatrixStorage())==2)&&(
int64(getPointsPrimsEncoding())==0)))) ) )
553 graph->
evalOpParm(mySparseDirectSolver, nodeidx,
"sparsedirectsolver", time, 0);
554 mySparseDirectSolverBackend = 0;
555 if (
true && ( (
true&&!(((
int64(getMode())==3))||((
int64(getMode())==2))||((
int64(getMode())==0)&&(getUseIterativeSolver()==1))||((
int64(getMatrixStorage())==0))||((
int64(getMatrixStorage())==3)&&(
int64(getDetailEncoding())==0))||((
int64(getMatrixStorage())==3)&&(
int64(getDetailEncoding())==1))||((
int64(getMatrixStorage())==1)&&(
int64(getPointsPrimsEncoding())==1))||((
int64(getMatrixStorage())==2)&&(
int64(getPointsPrimsEncoding())==1))||((
int64(getMatrixStorage())==1)&&(
int64(getPointsPrimsEncoding())==0))||((
int64(getMatrixStorage())==2)&&(
int64(getPointsPrimsEncoding())==0))||((
int64(getMode())==1)))) ) )
556 graph->
evalOpParm(mySparseDirectSolverBackend, nodeidx,
"sparsedirectsolverbackend", time, 0);
557 myDensePreconditioner = 1;
558 if (
true && ( (
true&&!(((
int64(getMode())==3))||((
int64(getMode())==2))||((getUseIterativeSolver()==0))||((
int64(getMode())!=0))||((
int64(getMatrixStorage())==3)&&(
int64(getDetailEncoding())!=0)&&(
int64(getDetailEncoding())!=1))||((
int64(getMatrixStorage())==1)&&(
int64(getPointsPrimsEncoding())!=0)&&(
int64(getPointsPrimsEncoding())!=1))||((
int64(getMatrixStorage())==2)&&(
int64(getPointsPrimsEncoding())!=0)&&(
int64(getPointsPrimsEncoding())!=1)))) ) )
559 graph->
evalOpParm(myDensePreconditioner, nodeidx,
"densepreconditioner", time, 0);
560 mySparsePreconditioner = 1;
561 if (
true && ( (
true&&!(((
int64(getMode())==3))||((
int64(getMode())==2))||((getUseIterativeSolver()==0))||((
int64(getMode())!=0))||((
int64(getMatrixStorage())==0))||((
int64(getMatrixStorage())==3)&&(
int64(getDetailEncoding())==0))||((
int64(getMatrixStorage())==3)&&(
int64(getDetailEncoding())==1))||((
int64(getMatrixStorage())==1)&&(
int64(getPointsPrimsEncoding())==1))||((
int64(getMatrixStorage())==2)&&(
int64(getPointsPrimsEncoding())==1))||((
int64(getMatrixStorage())==1)&&(
int64(getPointsPrimsEncoding())==0))||((
int64(getMatrixStorage())==2)&&(
int64(getPointsPrimsEncoding())==0)))) ) )
562 graph->
evalOpParm(mySparsePreconditioner, nodeidx,
"sparsepreconditioner", time, 0);
578 template <
typename T>
585 if (idx.
size() != instance.
size()+1)
590 coerceValue(value, myMode);
593 coerceValue(value, myCookInplace);
596 coerceValue(value, myPrecision);
599 coerceValue(value, myUseIterativeSolver);
602 coerceValue(value, myIterativeSolver);
605 coerceValue(value, mySolveWithGuess);
608 coerceValue(value, myUseEigensolver);
611 coerceValue(value, mySpectraEigensolver);
614 coerceValue(value, myNumEigenpairs);
617 coerceValue(value, myShift);
620 coerceValue(value, mySolverTolerance);
623 coerceValue(value, myMatrixStorage);
626 coerceValue(value, myVolumeEncoding);
629 coerceValue(value, myPointsPrimsEncoding);
632 coerceValue(value, myDetailEncoding);
635 coerceValue(value, mySquareMatrix);
638 coerceValue(value, myRows);
641 coerceValue(value, myCols);
644 coerceValue(value, myRowAttribute);
647 coerceValue(value, myColAttribute);
650 coerceValue(value, myMatrixValueAttribute);
653 coerceValue(value, myVectorSrcStorage);
656 coerceValue(value, myVectorSrcAttribute);
659 coerceValue(value, myVectorDstStorage);
662 coerceValue(value, myVectorDstAttribute);
665 coerceValue(value, myPinnedGroup);
668 coerceValue(value, myReduceRows);
671 coerceValue(value, myScale);
674 coerceValue(value, myAccumulateResult);
677 coerceValue(value, myDenseDirectSolver);
680 coerceValue(value, mySparseDirectSolver);
683 coerceValue(value, mySparseDirectSolverBackend);
686 coerceValue(value, myDensePreconditioner);
689 coerceValue(value, mySparsePreconditioner);
705 { doGetParmValue(idx, instance, value); }
707 { doGetParmValue(idx, instance, value); }
709 { doGetParmValue(idx, instance, value); }
711 { doGetParmValue(idx, instance, value); }
713 { doGetParmValue(idx, instance, value); }
715 { doGetParmValue(idx, instance, value); }
717 { doGetParmValue(idx, instance, value); }
719 { doGetParmValue(idx, instance, value); }
721 { doGetParmValue(idx, instance, value); }
723 { doGetParmValue(idx, instance, value); }
725 { doGetParmValue(idx, instance, value); }
727 template <
typename T>
734 if (idx.
size() != instance.
size()+1)
739 coerceValue(myMode, clampMinValue(0, clampMaxValue(3, value ) ));
742 coerceValue(myCookInplace, ( ( value ) ));
745 coerceValue(myPrecision, clampMinValue(0, clampMaxValue(2, value ) ));
748 coerceValue(myUseIterativeSolver, ( ( value ) ));
751 coerceValue(myIterativeSolver, clampMinValue(0, clampMaxValue(6, value ) ));
754 coerceValue(mySolveWithGuess, ( ( value ) ));
757 coerceValue(myUseEigensolver, ( ( value ) ));
760 coerceValue(mySpectraEigensolver, clampMinValue(0, clampMaxValue(3, value ) ));
763 coerceValue(myNumEigenpairs, clampMinValue(1, ( value ) ));
766 coerceValue(myShift, ( ( value ) ));
769 coerceValue(mySolverTolerance, clampMinValue(0, ( value ) ));
772 coerceValue(myMatrixStorage, clampMinValue(0, clampMaxValue(3, value ) ));
775 coerceValue(myVolumeEncoding, clampMinValue(0, clampMaxValue(1, value ) ));
778 coerceValue(myPointsPrimsEncoding, clampMinValue(0, clampMaxValue(4, value ) ));
781 coerceValue(myDetailEncoding, clampMinValue(0, clampMaxValue(2, value ) ));
784 coerceValue(mySquareMatrix, ( ( value ) ));
787 coerceValue(myRows, clampMinValue(1, ( value ) ));
790 coerceValue(myCols, clampMinValue(1, ( value ) ));
793 coerceValue(myRowAttribute, ( ( value ) ));
796 coerceValue(myColAttribute, ( ( value ) ));
799 coerceValue(myMatrixValueAttribute, ( ( value ) ));
802 coerceValue(myVectorSrcStorage, clampMinValue(0, clampMaxValue(2, value ) ));
805 coerceValue(myVectorSrcAttribute, ( ( value ) ));
808 coerceValue(myVectorDstStorage, clampMinValue(0, clampMaxValue(2, value ) ));
811 coerceValue(myVectorDstAttribute, ( ( value ) ));
814 coerceValue(myPinnedGroup, ( ( value ) ));
817 coerceValue(myReduceRows, ( ( value ) ));
820 coerceValue(myScale, ( ( value ) ));
823 coerceValue(myAccumulateResult, ( ( value ) ));
826 coerceValue(myDenseDirectSolver, clampMinValue(0, clampMaxValue(11, value ) ));
829 coerceValue(mySparseDirectSolver, clampMinValue(0, clampMaxValue(3, value ) ));
832 coerceValue(mySparseDirectSolverBackend, clampMinValue(0, clampMaxValue(1, value ) ));
835 coerceValue(myDensePreconditioner, clampMinValue(0, clampMaxValue(1, value ) ));
838 coerceValue(mySparsePreconditioner, clampMinValue(0, clampMaxValue(3, value ) ));
845 { doSetParmValue(idx, instance, value); }
847 { doSetParmValue(idx, instance, value); }
849 { doSetParmValue(idx, instance, value); }
851 { doSetParmValue(idx, instance, value); }
853 { doSetParmValue(idx, instance, value); }
855 { doSetParmValue(idx, instance, value); }
857 { doSetParmValue(idx, instance, value); }
859 { doSetParmValue(idx, instance, value); }
861 { doSetParmValue(idx, instance, value); }
863 { doSetParmValue(idx, instance, value); }
865 { doSetParmValue(idx, instance, value); }
881 if (fieldnum.
size() < 1)
888 return "cookinplace";
892 return "useiterativesolver";
894 return "iterativesolver";
896 return "solvewithguess";
898 return "useeigensolver";
900 return "spectraeigensolver";
902 return "numeigenpairs";
906 return "solvertolerance";
908 return "matrixstorage";
910 return "volumeencoding";
912 return "pointsprimsencoding";
914 return "detailencoding";
916 return "squarematrix";
926 return "matrixvalueattr";
928 return "vectorsrcstorage";
930 return "vectorsrcattr";
932 return "vectordststorage";
934 return "vectordstattr";
936 return "pinnedgroup";
942 return "accumulateresult";
944 return "densedirectsolver";
946 return "sparsedirectsolver";
948 return "sparsedirectsolverbackend";
950 return "densepreconditioner";
952 return "sparsepreconditioner";
960 if (fieldnum.
size() < 1)
961 return PARM_UNSUPPORTED;
1007 return PARM_INTEGER;
1011 return PARM_INTEGER;
1017 return PARM_INTEGER;
1021 return PARM_INTEGER;
1023 return PARM_INTEGER;
1025 return PARM_INTEGER;
1027 return PARM_INTEGER;
1029 return PARM_INTEGER;
1031 return PARM_INTEGER;
1034 return PARM_UNSUPPORTED;
1039 { is.
bread(&v, 1); }
1070 loadData(is, rampdata);
1088 int typelen = colon - data.
buffer();
1100 { UTwrite(os, &v); }
1102 {
int64 iv =
v; UTwrite(os, &iv); }
1104 { UTwrite<fpreal64>(os, &
v); }
1106 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
1108 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1109 UTwrite<fpreal64>(os, &v.
z()); }
1111 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
1112 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
1124 if (s) s->save(ostr);
1125 result = ostr.
str();
1126 saveData(os, result);
1133 ostr << s->getDataTypeToken();
1135 s->saveBinary(ostr);
1137 result = ostr.
str();
1138 saveData(os, result);
1146 saveData(os, myMode);
1147 saveData(os, myCookInplace);
1148 saveData(os, myPrecision);
1149 saveData(os, myUseIterativeSolver);
1150 saveData(os, myIterativeSolver);
1151 saveData(os, mySolveWithGuess);
1152 saveData(os, myUseEigensolver);
1153 saveData(os, mySpectraEigensolver);
1154 saveData(os, myNumEigenpairs);
1155 saveData(os, myShift);
1156 saveData(os, mySolverTolerance);
1157 saveData(os, myMatrixStorage);
1158 saveData(os, myVolumeEncoding);
1159 saveData(os, myPointsPrimsEncoding);
1160 saveData(os, myDetailEncoding);
1161 saveData(os, mySquareMatrix);
1162 saveData(os, myRows);
1163 saveData(os, myCols);
1164 saveData(os, myRowAttribute);
1165 saveData(os, myColAttribute);
1166 saveData(os, myMatrixValueAttribute);
1167 saveData(os, myVectorSrcStorage);
1168 saveData(os, myVectorSrcAttribute);
1169 saveData(os, myVectorDstStorage);
1170 saveData(os, myVectorDstAttribute);
1171 saveData(os, myPinnedGroup);
1172 saveData(os, myReduceRows);
1173 saveData(os, myScale);
1174 saveData(os, myAccumulateResult);
1175 saveData(os, myDenseDirectSolver);
1176 saveData(os, mySparseDirectSolver);
1177 saveData(os, mySparseDirectSolverBackend);
1178 saveData(os, myDensePreconditioner);
1179 saveData(os, mySparsePreconditioner);
1192 loadData(is, myMode);
1193 loadData(is, myCookInplace);
1194 loadData(is, myPrecision);
1195 loadData(is, myUseIterativeSolver);
1196 loadData(is, myIterativeSolver);
1197 loadData(is, mySolveWithGuess);
1198 loadData(is, myUseEigensolver);
1199 loadData(is, mySpectraEigensolver);
1200 loadData(is, myNumEigenpairs);
1201 loadData(is, myShift);
1202 loadData(is, mySolverTolerance);
1203 loadData(is, myMatrixStorage);
1204 loadData(is, myVolumeEncoding);
1205 loadData(is, myPointsPrimsEncoding);
1206 loadData(is, myDetailEncoding);
1207 loadData(is, mySquareMatrix);
1208 loadData(is, myRows);
1209 loadData(is, myCols);
1210 loadData(is, myRowAttribute);
1211 loadData(is, myColAttribute);
1212 loadData(is, myMatrixValueAttribute);
1213 loadData(is, myVectorSrcStorage);
1214 loadData(is, myVectorSrcAttribute);
1215 loadData(is, myVectorDstStorage);
1216 loadData(is, myVectorDstAttribute);
1217 loadData(is, myPinnedGroup);
1218 loadData(is, myReduceRows);
1219 loadData(is, myScale);
1220 loadData(is, myAccumulateResult);
1221 loadData(is, myDenseDirectSolver);
1222 loadData(is, mySparseDirectSolver);
1223 loadData(is, mySparseDirectSolverBackend);
1224 loadData(is, myDensePreconditioner);
1225 loadData(is, mySparsePreconditioner);
1235 if (!thissop)
return getMode();
1237 OP_Utils::evalOpParm(result, thissop,
"mode", cookparms.
getCookTime(), 0);
1238 return Mode(result);
1245 if (!thissop)
return getCookInplace();
1247 OP_Utils::evalOpParm(result, thissop,
"cookinplace", cookparms.
getCookTime(), 0);
1255 if (!thissop)
return getPrecision();
1257 OP_Utils::evalOpParm(result, thissop,
"precision", cookparms.
getCookTime(), 0);
1265 if (!thissop)
return getUseIterativeSolver();
1267 OP_Utils::evalOpParm(result, thissop,
"useiterativesolver", cookparms.
getCookTime(), 0);
1275 if (!thissop)
return getIterativeSolver();
1277 OP_Utils::evalOpParm(result, thissop,
"iterativesolver", cookparms.
getCookTime(), 0);
1285 if (!thissop)
return getSolveWithGuess();
1287 OP_Utils::evalOpParm(result, thissop,
"solvewithguess", cookparms.
getCookTime(), 0);
1295 if (!thissop)
return getUseEigensolver();
1297 OP_Utils::evalOpParm(result, thissop,
"useeigensolver", cookparms.
getCookTime(), 0);
1305 if (!thissop)
return getSpectraEigensolver();
1307 OP_Utils::evalOpParm(result, thissop,
"spectraeigensolver", cookparms.
getCookTime(), 0);
1315 if (!thissop)
return getNumEigenpairs();
1317 OP_Utils::evalOpParm(result, thissop,
"numeigenpairs", cookparms.
getCookTime(), 0);
1325 if (!thissop)
return getShift();
1327 OP_Utils::evalOpParm(result, thissop,
"shift", cookparms.
getCookTime(), 0);
1335 if (!thissop)
return getSolverTolerance();
1337 OP_Utils::evalOpParm(result, thissop,
"solvertolerance", cookparms.
getCookTime(), 0);
1345 if (!thissop)
return getMatrixStorage();
1347 OP_Utils::evalOpParm(result, thissop,
"matrixstorage", cookparms.
getCookTime(), 0);
1355 if (!thissop)
return getVolumeEncoding();
1357 OP_Utils::evalOpParm(result, thissop,
"volumeencoding", cookparms.
getCookTime(), 0);
1365 if (!thissop)
return getPointsPrimsEncoding();
1367 OP_Utils::evalOpParm(result, thissop,
"pointsprimsencoding", cookparms.
getCookTime(), 0);
1375 if (!thissop)
return getDetailEncoding();
1377 OP_Utils::evalOpParm(result, thissop,
"detailencoding", cookparms.
getCookTime(), 0);
1385 if (!thissop)
return getSquareMatrix();
1387 OP_Utils::evalOpParm(result, thissop,
"squarematrix", cookparms.
getCookTime(), 0);
1395 if (!thissop)
return getRows();
1397 OP_Utils::evalOpParm(result, thissop,
"rows", cookparms.
getCookTime(), 0);
1405 if (!thissop)
return getCols();
1407 OP_Utils::evalOpParm(result, thissop,
"cols", cookparms.
getCookTime(), 0);
1415 if (!thissop)
return getRowAttribute();
1417 OP_Utils::evalOpParm(result, thissop,
"rowattr", cookparms.
getCookTime(), 0);
1425 if (!thissop)
return getColAttribute();
1427 OP_Utils::evalOpParm(result, thissop,
"colattr", cookparms.
getCookTime(), 0);
1435 if (!thissop)
return getMatrixValueAttribute();
1437 OP_Utils::evalOpParm(result, thissop,
"matrixvalueattr", cookparms.
getCookTime(), 0);
1445 if (!thissop)
return getVectorSrcStorage();
1447 OP_Utils::evalOpParm(result, thissop,
"vectorsrcstorage", cookparms.
getCookTime(), 0);
1455 if (!thissop)
return getVectorSrcAttribute();
1457 OP_Utils::evalOpParm(result, thissop,
"vectorsrcattr", cookparms.
getCookTime(), 0);
1465 if (!thissop)
return getVectorDstStorage();
1467 OP_Utils::evalOpParm(result, thissop,
"vectordststorage", cookparms.
getCookTime(), 0);
1475 if (!thissop)
return getVectorDstAttribute();
1477 OP_Utils::evalOpParm(result, thissop,
"vectordstattr", cookparms.
getCookTime(), 0);
1485 if (!thissop)
return getPinnedGroup();
1487 OP_Utils::evalOpParm(result, thissop,
"pinnedgroup", cookparms.
getCookTime(), 0);
1495 if (!thissop)
return getReduceRows();
1497 OP_Utils::evalOpParm(result, thissop,
"reducerows", cookparms.
getCookTime(), 0);
1507 OP_Utils::evalOpParm(result, thissop,
"scale", cookparms.
getCookTime(), 0);
1515 if (!thissop)
return getAccumulateResult();
1517 OP_Utils::evalOpParm(result, thissop,
"accumulateresult", cookparms.
getCookTime(), 0);
1525 if (!thissop)
return getDenseDirectSolver();
1527 OP_Utils::evalOpParm(result, thissop,
"densedirectsolver", cookparms.
getCookTime(), 0);
1535 if (!thissop)
return getSparseDirectSolver();
1537 OP_Utils::evalOpParm(result, thissop,
"sparsedirectsolver", cookparms.
getCookTime(), 0);
1545 if (!thissop)
return getSparseDirectSolverBackend();
1547 OP_Utils::evalOpParm(result, thissop,
"sparsedirectsolverbackend", cookparms.
getCookTime(), 0);
1555 if (!thissop)
return getDensePreconditioner();
1557 OP_Utils::evalOpParm(result, thissop,
"densepreconditioner", cookparms.
getCookTime(), 0);
1565 if (!thissop)
return getSparsePreconditioner();
1567 OP_Utils::evalOpParm(result, thissop,
"sparsepreconditioner", cookparms.
getCookTime(), 0);
1575 bool myUseIterativeSolver;
1576 int64 myIterativeSolver;
1577 bool mySolveWithGuess;
1578 bool myUseEigensolver;
1579 int64 mySpectraEigensolver;
1580 int64 myNumEigenpairs;
1583 int64 myMatrixStorage;
1584 int64 myVolumeEncoding;
1585 int64 myPointsPrimsEncoding;
1586 int64 myDetailEncoding;
1587 bool mySquareMatrix;
1593 int64 myVectorSrcStorage;
1595 int64 myVectorDstStorage;
1600 bool myAccumulateResult;
1601 int64 myDenseDirectSolver;
1602 int64 mySparseDirectSolver;
1603 int64 mySparseDirectSolverBackend;
1604 int64 myDensePreconditioner;
1605 int64 mySparsePreconditioner;
Precision opPrecision(const SOP_NodeVerb::CookParms &cookparms) const
void setPointsPrimsEncoding(PointsPrimsEncoding val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
UT_StringHolder opMatrixValueAttribute(const SOP_NodeVerb::CookParms &cookparms) const
SparseDirectSolverBackend opSparseDirectSolverBackend(const SOP_NodeVerb::CookParms &cookparms) const
VectorDstStorage getVectorDstStorage() const
static void loadData(UT_IStream &is, UT_Vector3I &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
static void loadData(UT_IStream &is, int64 &v)
SOP_Node * getNode() const
const char * getNestParmName(TempIndex fieldnum) const override
int64 getNumEigenpairs() const
static void saveData(std::ostream &os, UT_Vector3D v)
void setDensePreconditioner(DensePreconditioner val)
SpectraEigensolver getSpectraEigensolver() const
static void loadData(UT_IStream &is, UT_Vector2D &v)
static void loadData(UT_IStream &is, UT_Vector4I &v)
void setIterativeSolver(IterativeSolver val)
fpreal64 getShift() const
fpreal64 getSolverTolerance() const
bool opCookInplace(const SOP_NodeVerb::CookParms &cookparms) const
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
constexpr SYS_FORCE_INLINE T & y() noexcept
SparseDirectSolver opSparseDirectSolver(const SOP_NodeVerb::CookParms &cookparms) const
int64 opNumEigenpairs(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
static void loadData(UT_IStream &is, UT_Matrix4D &v)
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
void setNumEigenpairs(int64 val)
const OP_Context & context() const
void setPrecision(Precision val)
DensePreconditioner opDensePreconditioner(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & z() noexcept
void setShift(fpreal64 val)
bool getUseEigensolver() const
SYS_FORCE_INLINE const char * buffer() const
static void saveData(std::ostream &os, bool v)
DensePreconditioner getDensePreconditioner() const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
static void saveData(std::ostream &os, fpreal64 v)
void setVectorSrcStorage(VectorSrcStorage val)
VolumeEncoding getVolumeEncoding() const
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
An output stream object that owns its own string buffer storage.
DenseDirectSolver getDenseDirectSolver() const
static void saveData(std::ostream &os, int64 v)
**But if you need a result
void setSolverTolerance(fpreal64 val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
const UT_StringHolder & getMatrixValueAttribute() const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
SpectraEigensolver opSpectraEigensolver(const SOP_NodeVerb::CookParms &cookparms) const
void setSpectraEigensolver(SpectraEigensolver val)
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
void setDenseDirectSolver(DenseDirectSolver val)
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
fpreal64 getScale() const
IterativeSolver getIterativeSolver() const
constexpr SYS_FORCE_INLINE T & x() noexcept
bool getUseIterativeSolver() const
void setReduceRows(bool val)
SYS_FORCE_INLINE UT_StringHolder getToken(Mode enum_value)
IterativeSolver opIterativeSolver(const SOP_NodeVerb::CookParms &cookparms) const
SparseDirectSolver getSparseDirectSolver() const
void setPinnedGroup(const UT_StringHolder &val)
VectorDstStorage opVectorDstStorage(const SOP_NodeVerb::CookParms &cookparms) const
void setSquareMatrix(bool val)
constexpr SYS_FORCE_INLINE T & x() noexcept
bool isParmColorRamp(exint idx) const override
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
DenseDirectSolver opDenseDirectSolver(const SOP_NodeVerb::CookParms &cookparms) const
int64 opCols(const SOP_NodeVerb::CookParms &cookparms) const
void setCookInplace(bool val)
void loadFromOpSubclass(const LoadParms &loadparms) override
void setUseIterativeSolver(bool val)
static void loadData(UT_IStream &is, UT_Vector4D &v)
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
static void loadData(UT_IStream &is, UT_Vector3D &v)
fpreal64 opSolverTolerance(const SOP_NodeVerb::CookParms &cookparms) const
bool opSolveWithGuess(const SOP_NodeVerb::CookParms &cookparms) const
const UT_StringHolder & getPinnedGroup() const
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
constexpr SYS_FORCE_INLINE T & z() noexcept
static void saveData(std::ostream &os, UT_Vector4D v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
const OP_GraphProxy * graph() const
UT_StringHolder opVectorDstAttribute(const SOP_NodeVerb::CookParms &cookparms) const
SparsePreconditioner opSparsePreconditioner(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opScale(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
DetailEncoding opDetailEncoding(const SOP_NodeVerb::CookParms &cookparms) const
PointsPrimsEncoding opPointsPrimsEncoding(const SOP_NodeVerb::CookParms &cookparms) const
void save(std::ostream &os) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
exint getNestNumParms(TempIndex idx) const override
MatrixStorage opMatrixStorage(const SOP_NodeVerb::CookParms &cookparms) const
void setVectorSrcAttribute(const UT_StringHolder &val)
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
UT_StringHolder opVectorSrcAttribute(const SOP_NodeVerb::CookParms &cookparms) const
VectorSrcStorage getVectorSrcStorage() const
static void loadData(UT_IStream &is, UT_StringHolder &v)
Precision getPrecision() const
const UT_StringHolder & getVectorDstAttribute() const
const UT_StringHolder & getColAttribute() const
bool getAccumulateResult() const
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
void setUseEigensolver(bool val)
void setScale(fpreal64 val)
SparseDirectSolverBackend getSparseDirectSolverBackend() const
const UT_StringHolder & getRowAttribute() const
bool opReduceRows(const SOP_NodeVerb::CookParms &cookparms) const
void setVectorDstStorage(VectorDstStorage val)
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
bool getSquareMatrix() const
static void saveData(std::ostream &os, UT_Vector2D v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
static void saveData(std::ostream &os, UT_Matrix2D v)
VectorSrcStorage opVectorSrcStorage(const SOP_NodeVerb::CookParms &cookparms) const
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
void saveBinary(std::ostream &os) const
Save string to binary stream.
PointsPrimsEncoding getPointsPrimsEncoding() const
void setRowAttribute(const UT_StringHolder &val)
GT_API const UT_StringHolder version
bool load(UT_IStream &is)
void setVolumeEncoding(VolumeEncoding val)
static void loadData(UT_IStream &is, bool &v)
bool operator!=(const SOP_LinearSolverParms &src) const
bool operator==(const SOP_LinearSolverParms &src) const
bool getSolveWithGuess() const
bool opUseIterativeSolver(const SOP_NodeVerb::CookParms &cookparms) const
bool opAccumulateResult(const SOP_NodeVerb::CookParms &cookparms) const
void setDetailEncoding(DetailEncoding val)
UT_StringHolder opPinnedGroup(const SOP_NodeVerb::CookParms &cookparms) const
void setSparseDirectSolver(SparseDirectSolver val)
DEP_MicroNode * depnode() const
bool getCookInplace() const
LeafData & operator=(const LeafData &)=delete
void setSparsePreconditioner(SparsePreconditioner val)
Utility class for containing a color ramp.
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
constexpr SYS_FORCE_INLINE T & w() noexcept
void setVectorDstAttribute(const UT_StringHolder &val)
bool getReduceRows() const
Vec3< typename MatType::value_type > getScale(const MatType &mat)
Return a Vec3 representing the lengths of the passed matrix's upper 3×3's rows.
static void saveData(std::ostream &os, UT_StringHolder s)
fpreal64 opShift(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, fpreal64 &v)
DetailEncoding getDetailEncoding() const
fpreal getCookTime() const
bool opUseEigensolver(const SOP_NodeVerb::CookParms &cookparms) const
MatrixStorage getMatrixStorage() const
static void saveData(std::ostream &os, UT_Matrix3D v)
const char * findChar(int c) const
const UT_StringHolder & getVectorSrcAttribute() const
void setColAttribute(const UT_StringHolder &val)
bool opSquareMatrix(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix2D &v)
UT_StringHolder opColAttribute(const SOP_NodeVerb::CookParms &cookparms) const
void setAccumulateResult(bool val)
void buildFromOp(const OP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
UT_StringHolder opRowAttribute(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
void setSolveWithGuess(bool val)
constexpr SYS_FORCE_INLINE T & y() noexcept
void copyFrom(const OP_NodeParms *src) override
void setMatrixValueAttribute(const UT_StringHolder &val)
int64 opRows(const SOP_NodeVerb::CookParms &cookparms) const
SparsePreconditioner getSparsePreconditioner() const
ParmType getNestParmType(TempIndex fieldnum) const override
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
SparseDirectSolverBackend
Mode opMode(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Matrix3D &v)
static void saveData(std::ostream &os, UT_Matrix4D v)
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
void setSparseDirectSolverBackend(SparseDirectSolverBackend val)
constexpr SYS_FORCE_INLINE T & y() noexcept
SYS_FORCE_INLINE bool isstring() const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
VolumeEncoding opVolumeEncoding(const SOP_NodeVerb::CookParms &cookparms) const
constexpr SYS_FORCE_INLINE T & x() noexcept
static void loadData(UT_IStream &is, UT_Vector2I &v)
void setMatrixStorage(MatrixStorage val)