HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SOP_Compiled Class Reference

#include <SOP_Compiled.h>

Classes

class  ExecuteParms
 
class  Task
 
class  TaskState
 

Public Types

enum  UnloadMode { UNLOAD_NEVER, UNLOAD_FLAG, UNLOAD_ALWAYS }
 
typedef UT_Array< TaskStateTaskStateArray
 

Public Member Functions

 SOP_Compiled ()
 
virtual ~SOP_Compiled ()
 
bool isTopologyDirty (const OP_Context &context)
 
bool isTopologyTimeDependent () const
 
void dump (std::ostream &os) const
 
bool compile (SOP_Node *root, const OP_Context &context, UT_ErrorManager &errors)
 
SOP_NodegetRoot () const
 Determines what node is at the root of the compile block. More...
 
bool isCompiled () const
 Is the task list compiled & valid? More...
 
void donateForRecycling (GU_DetailHandle &gdh)
 
GU_DetailHandle execute (TaskStateArray &states, UnloadMode unload, const OP_Context &context, UT_ErrorManager &errors, DEP_MicroNode *depnode, const UT_StringArray &inputnames, UT_Array< GU_DetailHandle > &inputgdhs)
 
void clear ()
 
exint taskCount () const
 
exint taskInputCount () const
 
exint nodeCount () const
 

Static Public Member Functions

static bool canBeCompiled (SOP_Node *node)
 

Protected Attributes

DEP_TimedMicroNode myTopoMicroNode
 
TaskmyRoot
 
UT_Array< Task * > myTasks
 
UT_Array< Task * > myTaskInputs
 
SOP_NodeVerb::ForbiddenNodeMapmyNodeSet
 
UT_Array< GU_DetailHandlemyRecyclingBin
 

Detailed Description

Definition at line 22 of file SOP_Compiled.h.

Member Typedef Documentation

Definition at line 73 of file SOP_Compiled.h.

Member Enumeration Documentation

Enumerator
UNLOAD_NEVER 
UNLOAD_FLAG 
UNLOAD_ALWAYS 

Definition at line 28 of file SOP_Compiled.h.

Constructor & Destructor Documentation

SOP_Compiled::SOP_Compiled ( )
virtual SOP_Compiled::~SOP_Compiled ( )
virtual

Member Function Documentation

static bool SOP_Compiled::canBeCompiled ( SOP_Node node)
static

Determines somewhat conservatively if the node is eligbile for compilation. Verbs always are, but things like subnets are only if their SOP contents are as well.

void SOP_Compiled::clear ( )
bool SOP_Compiled::compile ( SOP_Node root,
const OP_Context context,
UT_ErrorManager errors 
)

Compile a node block, only rebuilding if Topo dependency is invalid

void SOP_Compiled::donateForRecycling ( GU_DetailHandle gdh)

Donate the provided detail to be recycled if needed. The passed in handle will be cleared.

void SOP_Compiled::dump ( std::ostream &  os) const
GU_DetailHandle SOP_Compiled::execute ( TaskStateArray states,
UnloadMode  unload,
const OP_Context context,
UT_ErrorManager errors,
DEP_MicroNode depnode,
const UT_StringArray inputnames,
UT_Array< GU_DetailHandle > &  inputgdhs 
)

Execute our cached block The inputgdhs will be cleared as they are used, allowing them to be stolen & written to if they are unique.

SOP_Node* SOP_Compiled::getRoot ( ) const

Determines what node is at the root of the compile block.

bool SOP_Compiled::isCompiled ( ) const

Is the task list compiled & valid?

bool SOP_Compiled::isTopologyDirty ( const OP_Context context)

Determine if the compiled task list still matches what the SOP network has.

bool SOP_Compiled::isTopologyTimeDependent ( ) const
exint SOP_Compiled::nodeCount ( ) const
inline

Definition at line 284 of file SOP_Compiled.h.

exint SOP_Compiled::taskCount ( ) const
inline

Definition at line 282 of file SOP_Compiled.h.

exint SOP_Compiled::taskInputCount ( ) const
inline

Definition at line 283 of file SOP_Compiled.h.

Member Data Documentation

SOP_NodeVerb::ForbiddenNodeMap* SOP_Compiled::myNodeSet
protected

Definition at line 297 of file SOP_Compiled.h.

UT_Array<GU_DetailHandle> SOP_Compiled::myRecyclingBin
protected

Definition at line 298 of file SOP_Compiled.h.

Task* SOP_Compiled::myRoot
protected

Definition at line 294 of file SOP_Compiled.h.

UT_Array<Task *> SOP_Compiled::myTaskInputs
protected

Definition at line 296 of file SOP_Compiled.h.

UT_Array<Task *> SOP_Compiled::myTasks
protected

Definition at line 295 of file SOP_Compiled.h.

DEP_TimedMicroNode SOP_Compiled::myTopoMicroNode
protected

Definition at line 293 of file SOP_Compiled.h.


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