HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SOP_NodeVerb::CookParms Class Reference

#include <SOP_NodeVerb.h>

Public Member Functions

 CookParms (GU_DetailHandle &destgdh, const UT_Array< GU_ConstDetailHandle > &inputs, OP_CookEngine cookengine, OP_Node *node, const OP_Context &context, const SOP_NodeParms *parms, SOP_NodeCache *cache, UT_ErrorManager *error, DEP_MicroNode *depnode)
 
void setPseudoPath (const UT_StringHolder &path)
 
void setExprInputs (const UT_Array< GU_ConstDetailHandle > &exprinputs)
 
virtual ~CookParms ()
 
GU_DetailHandlegdh () const
 The initial state of gdh depends on the cookMode() More...
 
SOP_NodegetNode () const
 
template<typename T >
TgetCookNode () const
 
SOP_NodegetSrcNode () const
 The node that generated this verb, if any... More...
 
OP_NodegetCwd () const
 The getCwd() should be used to evaluate relative paths. More...
 
const OP_ContextgetContext () const
 
fpreal getCookTime () const
 
exint nInputs () const
 
bool hasInput (exint idx) const
 
const GU_DetailinputGeo (exint idx) const
 
GU_ConstDetailHandle inputGeoHandle (exint idx) const
 
exint numSpareInputs () const
 
bool hasSpareInput (exint idx) const
 
const GU_DetailspareInputGeo (exint idx) const
 
GU_ConstDetailHandle spareInputGeoHandle (exint idx) const
 
template<typename T >
const Tparms () const
 
SOP_NodeCachecache () const
 
UT_ErrorManagererror () const
 
DEP_MicroNodedepnode () const
 
UT_LockedRawPtr
< UT_ErrorManager, OP_Lock
getLockedErrorManager () const
 
void addExplicitInput (DEP_MicroNode &inp, bool check_dup=true) const
 Methods to wire directly to the optional depnode. More...
 
UT_ErrorSeverity addMessage (const char *type, int code, const char *msg=0, const UT_SourceLocation *loc=0) const
 Methods to add directly to any present error manager. More...
 
UT_ErrorSeverity addWarning (const char *type, int code, const char *msg=0, const UT_SourceLocation *loc=0) const
 
UT_ErrorSeverity addError (const char *type, int code, const char *msg=0, const UT_SourceLocation *loc=0) const
 
UT_ErrorSeverity addMessageFmt (const char *fmt) const
 
UT_ErrorSeverity addMessageFmt (const char *fmt, std::initializer_list< UT::Format::ArgValue > args) const
 
template<typename... Args>
UT_ErrorSeverity addMessageFmt (const char *fmt, const Args &...args) const
 
UT_ErrorSeverity addWarningFmt (const char *fmt) const
 
UT_ErrorSeverity addWarningFmt (const char *fmt, std::initializer_list< UT::Format::ArgValue > args) const
 
template<typename... Args>
UT_ErrorSeverity addWarningFmt (const char *fmt, const Args &...args) const
 
UT_ErrorSeverity addErrorFmt (const char *fmt) const
 
UT_ErrorSeverity addErrorFmt (const char *fmt, std::initializer_list< UT::Format::ArgValue > args) const
 
template<typename... Args>
UT_ErrorSeverity addErrorFmt (const char *fmt, const Args &...args) const
 
UT_ErrorSeverity sopAddMessage (int code, const char *msg=0, const UT_SourceLocation *loc=0) const
 
UT_ErrorSeverity sopAddWarning (int code, const char *msg=0, const UT_SourceLocation *loc=0) const
 
UT_ErrorSeverity sopAddError (int code, const char *msg=0, const UT_SourceLocation *loc=0) const
 
void addTransformError (const OP_Node &node, const char *label=0) const
 
void stealErrors (UT_ErrorManager &src, bool borrow_only=false) const
 
void select (GA_GroupType gtype=GA_GROUP_PRIMITIVE) const
 
void select (GU_SelectionHandle selection, bool add_to_sel=false) const
 
void select (const GA_Group &group, bool use_gtype=true, bool add_to_sel=false) const
 
void select (const GEO_Primitive &prim, bool sel_prim=true, bool add_to_sel=false) const
 
void selectPrimitive (GA_Offset primoff, bool prim_sel=true, bool add_to_sel=false) const
 
void selectPoint (GA_Offset ptoff, bool point_sel=true, bool add_to_sel=false) const
 
void selectFrom (const GEO_Primitive &prim, bool sel_prim=true, bool add_to_sel=false) const
 
void selectPointsFrom (GA_Offset ptoff, bool point_sel=true, bool add_to_sel=false) const
 
void select (const GA_Range &range, bool use_rtype=true, bool add_to_sel=false) const
 
void selectInputGroup (const GA_Group *group, GA_GroupType grouptype) const
 
void clearSelection () const
 
void clearSelection (GA_GroupType gtype) const
 
bool destroySelection () const
 
bool selectionEnabled () const
 
bool setupLocalVars () const
 Shims for local variables. More...
 
void resetLocalVarRefs () const
 
void setCurGdh (int index, const GU_DetailHandle &gdh) const
 
void clearCurGdh (int index) const
 
void setCurPoint (int index, GA_Offset off) const
 
void clearCurPoint (int index) const
 
void setCurVertex (int index, GA_Offset off) const
 
void clearCurVertex (int index) const
 
void setCurPrim (int index, GA_Offset off) const
 
void clearCurPrim (int index) const
 
void setCurVertexNum (int index, exint num) const
 
void clearCurVertexNum (int index) const
 
void setVariableOrder (int detail, int prim, int pt, int vtx) const
 
void resetLocalVariableAccessed () const
 Tracks if any local variables were accessed by op functions. More...
 
bool wasLocalVariableAccessed () const
 

Protected Member Functions

UT_StringHolder formatError (const char *msg) const
 Prefix errors so we can get sensible results. More...
 

Protected Attributes

bool myCookEngine
 
GU_DetailHandlemyDestGdh
 
const UT_Array
< GU_ConstDetailHandle > & 
myInputs
 
const UT_Array
< GU_ConstDetailHandle > * 
myExprInputs
 
SOP_NodemyNode
 
OP_NodemyOpNode
 
UT_StringHolder myPseudoPath
 
const OP_ContextmyContext
 
const SOP_NodeParmsmyParms
 
SOP_NodeCachemyCache
 
UT_ErrorManagermyError
 
DEP_MicroNodemyDepNode
 
UT_Lock myErrorLock
 

Detailed Description

Definition at line 310 of file SOP_NodeVerb.h.

Constructor & Destructor Documentation

SOP_NodeVerb::CookParms::CookParms ( GU_DetailHandle destgdh,
const UT_Array< GU_ConstDetailHandle > &  inputs,
OP_CookEngine  cookengine,
OP_Node node,
const OP_Context context,
const SOP_NodeParms parms,
SOP_NodeCache cache,
UT_ErrorManager error,
DEP_MicroNode depnode 
)
inline

Definition at line 313 of file SOP_NodeVerb.h.

virtual SOP_NodeVerb::CookParms::~CookParms ( )
inlinevirtual

Definition at line 337 of file SOP_NodeVerb.h.

Member Function Documentation

UT_ErrorSeverity SOP_NodeVerb::CookParms::addError ( const char *  type,
int  code,
const char *  msg = 0,
const UT_SourceLocation loc = 0 
) const
inline

Definition at line 445 of file SOP_NodeVerb.h.

UT_ErrorSeverity SOP_NodeVerb::CookParms::addErrorFmt ( const char *  fmt) const
inline

Definition at line 475 of file SOP_NodeVerb.h.

UT_ErrorSeverity SOP_NodeVerb::CookParms::addErrorFmt ( const char *  fmt,
std::initializer_list< UT::Format::ArgValue args 
) const
inline

Definition at line 477 of file SOP_NodeVerb.h.

template<typename... Args>
UT_ErrorSeverity SOP_NodeVerb::CookParms::addErrorFmt ( const char *  fmt,
const Args &...  args 
) const
inline

Definition at line 484 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::addExplicitInput ( DEP_MicroNode inp,
bool  check_dup = true 
) const
inline

Methods to wire directly to the optional depnode.

Definition at line 433 of file SOP_NodeVerb.h.

UT_ErrorSeverity SOP_NodeVerb::CookParms::addMessage ( const char *  type,
int  code,
const char *  msg = 0,
const UT_SourceLocation loc = 0 
) const
inline

Methods to add directly to any present error manager.

Definition at line 437 of file SOP_NodeVerb.h.

UT_ErrorSeverity SOP_NodeVerb::CookParms::addMessageFmt ( const char *  fmt) const
inline

Definition at line 451 of file SOP_NodeVerb.h.

UT_ErrorSeverity SOP_NodeVerb::CookParms::addMessageFmt ( const char *  fmt,
std::initializer_list< UT::Format::ArgValue args 
) const
inline

Definition at line 453 of file SOP_NodeVerb.h.

template<typename... Args>
UT_ErrorSeverity SOP_NodeVerb::CookParms::addMessageFmt ( const char *  fmt,
const Args &...  args 
) const
inline

Definition at line 460 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::addTransformError ( const OP_Node node,
const char *  label = 0 
) const
inline

Definition at line 513 of file SOP_NodeVerb.h.

UT_ErrorSeverity SOP_NodeVerb::CookParms::addWarning ( const char *  type,
int  code,
const char *  msg = 0,
const UT_SourceLocation loc = 0 
) const
inline

Definition at line 441 of file SOP_NodeVerb.h.

UT_ErrorSeverity SOP_NodeVerb::CookParms::addWarningFmt ( const char *  fmt) const
inline

Definition at line 463 of file SOP_NodeVerb.h.

UT_ErrorSeverity SOP_NodeVerb::CookParms::addWarningFmt ( const char *  fmt,
std::initializer_list< UT::Format::ArgValue args 
) const
inline

Definition at line 465 of file SOP_NodeVerb.h.

template<typename... Args>
UT_ErrorSeverity SOP_NodeVerb::CookParms::addWarningFmt ( const char *  fmt,
const Args &...  args 
) const
inline

Definition at line 472 of file SOP_NodeVerb.h.

SOP_NodeCache* SOP_NodeVerb::CookParms::cache ( ) const
inline

Cache may, or may not, persist between cooks. But it is guaranteed this is the only thread using the cache.

Definition at line 417 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::clearCurGdh ( int  index) const
inline

Definition at line 613 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::clearCurPoint ( int  index) const
inline

Definition at line 617 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::clearCurPrim ( int  index) const
inline

Definition at line 625 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::clearCurVertex ( int  index) const
inline

Definition at line 621 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::clearCurVertexNum ( int  index) const
inline

Definition at line 629 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::clearSelection ( ) const
inline

Definition at line 578 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::clearSelection ( GA_GroupType  gtype) const
inline

If the cook selection group is not of the given type, create an empty cook selection group of that type. Otherwise, clear the existing cook selection group.

Definition at line 585 of file SOP_NodeVerb.h.

DEP_MicroNode* SOP_NodeVerb::CookParms::depnode ( ) const
inline

Definition at line 422 of file SOP_NodeVerb.h.

bool SOP_NodeVerb::CookParms::destroySelection ( ) const
inline

Definition at line 592 of file SOP_NodeVerb.h.

UT_ErrorManager* SOP_NodeVerb::CookParms::error ( ) const
inline

Error managers are not locked, so do not pass this to something that forks.

Definition at line 421 of file SOP_NodeVerb.h.

UT_StringHolder SOP_NodeVerb::CookParms::formatError ( const char *  msg) const
inlineprotected

Prefix errors so we can get sensible results.

Definition at line 645 of file SOP_NodeVerb.h.

GU_DetailHandle& SOP_NodeVerb::CookParms::gdh ( ) const
inline

The initial state of gdh depends on the cookMode()

Definition at line 341 of file SOP_NodeVerb.h.

const OP_Context& SOP_NodeVerb::CookParms::getContext ( ) const
inline

Definition at line 359 of file SOP_NodeVerb.h.

template<typename T >
T* SOP_NodeVerb::CookParms::getCookNode ( ) const
inline

Definition at line 350 of file SOP_NodeVerb.h.

fpreal SOP_NodeVerb::CookParms::getCookTime ( ) const
inline

Definition at line 361 of file SOP_NodeVerb.h.

OP_Node* SOP_NodeVerb::CookParms::getCwd ( ) const
inline

The getCwd() should be used to evaluate relative paths.

Definition at line 358 of file SOP_NodeVerb.h.

UT_LockedRawPtr<UT_ErrorManager,OP_Lock> SOP_NodeVerb::CookParms::getLockedErrorManager ( ) const
inline

Definition at line 426 of file SOP_NodeVerb.h.

SOP_Node* SOP_NodeVerb::CookParms::getNode ( ) const
inline

The currently cooking SOP. This is only non-null if in the old cook path. When executing compiled nodes it will be null as the verb is supposed to operate independently of the original SOP.

Definition at line 347 of file SOP_NodeVerb.h.

SOP_Node* SOP_NodeVerb::CookParms::getSrcNode ( ) const
inline

The node that generated this verb, if any...

Definition at line 356 of file SOP_NodeVerb.h.

bool SOP_NodeVerb::CookParms::hasInput ( exint  idx) const
inline

Definition at line 370 of file SOP_NodeVerb.h.

bool SOP_NodeVerb::CookParms::hasSpareInput ( exint  idx) const
inline

Definition at line 394 of file SOP_NodeVerb.h.

const GU_Detail* SOP_NodeVerb::CookParms::inputGeo ( exint  idx) const
inline

Definition at line 376 of file SOP_NodeVerb.h.

GU_ConstDetailHandle SOP_NodeVerb::CookParms::inputGeoHandle ( exint  idx) const
inline

Definition at line 381 of file SOP_NodeVerb.h.

exint SOP_NodeVerb::CookParms::nInputs ( ) const
inline

Accessors designed to simplify porting from old cook code. Just becaues you have nInputs does not mean all are wired or cooked. But, the number demanded by your OP_Operator shall be present. Inputs have been locked & preserve request set

Definition at line 369 of file SOP_NodeVerb.h.

exint SOP_NodeVerb::CookParms::numSpareInputs ( ) const
inline

Accessors to get to the expression, ie, spare, inputs index is the positive index for the spare input.

Definition at line 389 of file SOP_NodeVerb.h.

template<typename T >
const T& SOP_NodeVerb::CookParms::parms ( ) const
inline

Definition at line 412 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::resetLocalVariableAccessed ( ) const
inline

Tracks if any local variables were accessed by op functions.

Definition at line 636 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::resetLocalVarRefs ( ) const
inline

Definition at line 609 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::select ( GA_GroupType  gtype = GA_GROUP_PRIMITIVE) const
inline

Definition at line 528 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::select ( GU_SelectionHandle  selection,
bool  add_to_sel = false 
) const
inline

Definition at line 532 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::select ( const GA_Group group,
bool  use_gtype = true,
bool  add_to_sel = false 
) const
inline

Definition at line 538 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::select ( const GEO_Primitive prim,
bool  sel_prim = true,
bool  add_to_sel = false 
) const
inline

Definition at line 543 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::select ( const GA_Range range,
bool  use_rtype = true,
bool  add_to_sel = false 
) const
inline

Definition at line 563 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::selectFrom ( const GEO_Primitive prim,
bool  sel_prim = true,
bool  add_to_sel = false 
) const
inline

Definition at line 555 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::selectInputGroup ( const GA_Group group,
GA_GroupType  grouptype 
) const
inline

Definition at line 571 of file SOP_NodeVerb.h.

bool SOP_NodeVerb::CookParms::selectionEnabled ( ) const
inline

Definition at line 599 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::selectPoint ( GA_Offset  ptoff,
bool  point_sel = true,
bool  add_to_sel = false 
) const
inline

Definition at line 551 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::selectPointsFrom ( GA_Offset  ptoff,
bool  point_sel = true,
bool  add_to_sel = false 
) const
inline

Definition at line 559 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::selectPrimitive ( GA_Offset  primoff,
bool  prim_sel = true,
bool  add_to_sel = false 
) const
inline

Definition at line 547 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::setCurGdh ( int  index,
const GU_DetailHandle gdh 
) const
inline

Definition at line 611 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::setCurPoint ( int  index,
GA_Offset  off 
) const
inline

Definition at line 615 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::setCurPrim ( int  index,
GA_Offset  off 
) const
inline

Definition at line 623 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::setCurVertex ( int  index,
GA_Offset  off 
) const
inline

Definition at line 619 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::setCurVertexNum ( int  index,
exint  num 
) const
inline

Definition at line 627 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::setExprInputs ( const UT_Array< GU_ConstDetailHandle > &  exprinputs)
inline

Definition at line 335 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::setPseudoPath ( const UT_StringHolder path)
inline

Definition at line 334 of file SOP_NodeVerb.h.

bool SOP_NodeVerb::CookParms::setupLocalVars ( ) const
inline

Shims for local variables.

Definition at line 607 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::setVariableOrder ( int  detail,
int  prim,
int  pt,
int  vtx 
) const
inline

Definition at line 631 of file SOP_NodeVerb.h.

UT_ErrorSeverity SOP_NodeVerb::CookParms::sopAddError ( int  code,
const char *  msg = 0,
const UT_SourceLocation loc = 0 
) const
inline

Definition at line 505 of file SOP_NodeVerb.h.

UT_ErrorSeverity SOP_NodeVerb::CookParms::sopAddMessage ( int  code,
const char *  msg = 0,
const UT_SourceLocation loc = 0 
) const
inline

Definition at line 491 of file SOP_NodeVerb.h.

UT_ErrorSeverity SOP_NodeVerb::CookParms::sopAddWarning ( int  code,
const char *  msg = 0,
const UT_SourceLocation loc = 0 
) const
inline

Definition at line 498 of file SOP_NodeVerb.h.

const GU_Detail* SOP_NodeVerb::CookParms::spareInputGeo ( exint  idx) const
inline

Definition at line 400 of file SOP_NodeVerb.h.

GU_ConstDetailHandle SOP_NodeVerb::CookParms::spareInputGeoHandle ( exint  idx) const
inline

Definition at line 405 of file SOP_NodeVerb.h.

void SOP_NodeVerb::CookParms::stealErrors ( UT_ErrorManager src,
bool  borrow_only = false 
) const
inline

Definition at line 524 of file SOP_NodeVerb.h.

bool SOP_NodeVerb::CookParms::wasLocalVariableAccessed ( ) const
inline

Definition at line 638 of file SOP_NodeVerb.h.

Member Data Documentation

SOP_NodeCache* SOP_NodeVerb::CookParms::myCache
protected

Definition at line 679 of file SOP_NodeVerb.h.

const OP_Context& SOP_NodeVerb::CookParms::myContext
protected

Definition at line 677 of file SOP_NodeVerb.h.

bool SOP_NodeVerb::CookParms::myCookEngine
protected

Definition at line 670 of file SOP_NodeVerb.h.

DEP_MicroNode* SOP_NodeVerb::CookParms::myDepNode
protected

Definition at line 681 of file SOP_NodeVerb.h.

GU_DetailHandle& SOP_NodeVerb::CookParms::myDestGdh
protected

Definition at line 671 of file SOP_NodeVerb.h.

UT_ErrorManager* SOP_NodeVerb::CookParms::myError
protected

Definition at line 680 of file SOP_NodeVerb.h.

UT_Lock SOP_NodeVerb::CookParms::myErrorLock
mutableprotected

Definition at line 682 of file SOP_NodeVerb.h.

const UT_Array<GU_ConstDetailHandle>* SOP_NodeVerb::CookParms::myExprInputs
protected

Definition at line 673 of file SOP_NodeVerb.h.

const UT_Array<GU_ConstDetailHandle>& SOP_NodeVerb::CookParms::myInputs
protected

Definition at line 672 of file SOP_NodeVerb.h.

SOP_Node* SOP_NodeVerb::CookParms::myNode
protected

Definition at line 674 of file SOP_NodeVerb.h.

OP_Node* SOP_NodeVerb::CookParms::myOpNode
protected

Definition at line 675 of file SOP_NodeVerb.h.

const SOP_NodeParms* SOP_NodeVerb::CookParms::myParms
protected

Definition at line 678 of file SOP_NodeVerb.h.

UT_StringHolder SOP_NodeVerb::CookParms::myPseudoPath
protected

Definition at line 676 of file SOP_NodeVerb.h.


The documentation for this class was generated from the following file: