11 #ifndef __SOP_BlockEndFor_h__
12 #define __SOP_BlockEndFor_h__
19 class sop_PieceExtractor;
56 {
return !myIterationGeo.isNull() && myPieceExtractor; }
62 if (!myFeedbackGeo.isNull())
63 myFeedbackGeo.removePreserveRequest();
64 myFeedbackGeo.clear();
69 void clearPieceExtractor();
131 virtual bool hasFeedbackGeo()
const;
134 virtual bool hasPieceGeo()
const;
148 virtual void registerEachSOP(
SOP_Node *sop);
149 virtual void unregisterEachSOP(
SOP_Node *sop);
156 static int resetCookPassStatic(
void *op,
int idx,
fpreal t,
166 static sop_PieceExtractor *buildPieceExtractor(
const OP_GraphProxy *graph,
179 const char *
inputLabel(
unsigned idx)
const override;
182 virtual void dirtyAllEachSOPs();
191 {
return evalInt(
"itermethod", 0, t); }
193 {
return evalInt(
"method", 0, t); }
195 {
return evalInt(
"iterations", 0, t); }
199 {
return evalInt(
"usemaxiter", 0, t); }
201 {
return evalInt(
"useattrib", 0, t); }
203 {
return evalInt(
"maxiter", 0, t); }
209 {
return evalInt(
"dosinglepass", 0, t); }
211 {
return evalInt(
"singlepass", 0, t); }
213 {
return evalInt(
"stopcondition", 0, t); }
215 {
return evalInt(
"multithread", 0, t); }
bool USEMAXITER(fpreal t) const
virtual bool updateParmsFlags()
int FORMETHOD(fpreal t) const
sop_PieceExtractor * myPieceExtractor
Functor object to extract a subset of the iteration geo.
virtual const char * inputLabel(unsigned idx) const
Parameters for OP_Node::getInfoText()/OP_Node::getNodeSpecificInfoText()
ForStateIterator * myForState
bool encloseInputs() const override
void TEMPLATEPATH(UT_String &str, fpreal t) const
GA_AttributeOwner myClass
bool MULTITHREAD(fpreal t) const
void ATTRIB(UT_String &str, fpreal t) const
exint getStartPass() const
GU_DetailHandle myPieceGeo
void PRIMARYNEXT(UT_String &str, fpreal t) const
void evalString(UT_String &val, int pi, int vi, fpreal t) const
int SINGLEPASS(fpreal t) const
exint getExpectedIterations() const
void PRIMARYPATH(UT_String &str, fpreal t) const override
GU_DetailHandle getIterationGeo()
virtual void getDescriptiveName(UT_String &str) const
bool USEATTRIB(fpreal t) const
ForStateIterator(const ForStateIterator &iter)
GLuint const GLchar * name
exint myFullPassIterations
bool STOPCONDITION(fpreal t) const
exint getCurrentCookPass() const
bool DOSINGLEPASS(fpreal t) const
Parameters for OP_Node::fillInfoTree()/OP_Node::fillInfoTreeNodeSpecific()
int MAXITER(fpreal t) const
int ITERATIONMETHOD(fpreal t) const
LeafData & operator=(const LeafData &)=delete
GU_DetailHandle myIterationGeo
GU_DetailHandle myFeedbackGeo
GU_DetailHandle myMetadataGeo
Likewise, the cached metadata.
exint evalInt(int pi, int vi, fpreal t) const
exint myExpectedIterations
virtual OP_ERROR cookMySop(OP_Context &context)=0
exint ITERATIONS(fpreal t) const
void getNodeSpecificInfoText(OP_Context &context, OP_NodeInfoParms &iparms) override
exint getCurrentCookPass() const
exint getFullPassIterations() const
exint getExpectedIterations() const
void fillInfoTreeNodeSpecific(UT_InfoTree &tree, const OP_NodeInfoTreeParms &parms) override
Fill in tree with this SOP's details.
UT_Set< int > myNextSOPList
bool unloadData() override