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

#include <OP_DataMicroNode.h>

+ Inheritance diagram for OP_DataMicroNode:

Public Member Functions

 OP_DataMicroNode (OP_Node &node)
 
const char * className () const override
 
void getParmInputs (DEP_MicroNodeList &inputs) const
 
void getUsedDataInputs (DEP_MicroNodeList &inputs) const
 
bool inheritTimeDependentFromUsedDataInputs ()
 
bool inheritTimeInterestedFromUsedDataInputs ()
 
void getInputs (DEP_MicroNodeList &inputs) const override
 
void clearInputs () override
 
void getOutputs (DEP_MicroNodeList &outputs) const override
 
void getExtraInputs (DEP_MicroNodeList &inputs) const
 Like getInputs() but excludes wired OP_Node inputs. More...
 
void getExtraOutputs (DEP_MicroNodeList &outputs) const
 
void update (fpreal t) override
 
bool requiresUpdate (fpreal t) const override
 
bool isEvaluating () const override
 
void evaluateExports () override
 
bool isExporting () const override
 
int64 getMemoryUsage (bool inclusive) const override
 Obtain approximate memory usage. More...
 
void dump (std::ostream &os, const char *prefix=0, int indent_level=0) const override
 Dump contents to output stream, strictly for debugging purposes. More...
 
OP_NodeownerNode () const
 
void bumpModVersion ()
 
bool isModVersionOutdated () const
 
OP_VERSION modVersion () const
 
OP_VERSION lastModVersion () const
 
void becameDirty (DEP_MicroNode &src, const DEP_PropagateData &data) override
 
void setModVersion (OP_VERSION v)
 
- Public Member Functions inherited from OP_ContextOptionsMicroNode
 OP_ContextOptionsMicroNode ()
 
void updateOptions (DEP_ContextOptionsReadHandle options, const DEP_ContextOptionsStack *optstack)
 
bool requiresUpdateOptions (DEP_ContextOptionsReadHandle options, const DEP_ContextOptionsStack *optstack) const
 
DEP_ContextOptionsReadHandle getLastUsedContextOptions () const
 Returns the options and values used in the last cook of this data. More...
 
const
DEP_ContextOptionsReadHandle
getLastAllContextOptions () const
 Returns all options and values provided to the last cook of this data. More...
 
DEP_ContextOptionsStackgetLastUsedContextOptionsStack () const
 
const UT_StringArraygetLastMissingContextOptions () const
 
fpreal lastUpdateTime () const
 
bool isEqualToLastUpdateTime (fpreal t) const
 
- Public Member Functions inherited from DEP_MicroNode
 DEP_MicroNode ()
 
virtual ~DEP_MicroNode ()
 
void propagateDirty (Visitor client_visit, bool only_outputs=false)
 
void traverseAncestorInputs (const TraverseVisitor &visitor) const
 Traverse all ancestor inputs of this micronode. More...
 
bool markVisitPass (int pass)
 
SYS_FORCE_INLINE int lastVisitPass () const
 
void dumpAsDOT (std::ostream &os, const char *prefix=0, int indent_level=0) const
 Dump the contents is a manner more suitable for DOT. More...
 
bool inheritTimeDependentFromExplicitInputs ()
 
bool inheritTimeInterestedFromExplicitInputs ()
 
bool inheritContextOptionDepsFromExplicitInputs (const UT_StringArray &ignore_deps)
 
void addExplicitInput (DEP_MicroNode &inp, bool check_dup)
 Methods for manipulating explicit edges. More...
 
SYS_FORCE_INLINE void addExplicitInput (DEP_MicroNode &inp)
 Add an input that this micronode depends on. More...
 
void addExplicitInputs (const DEP_MicroNodeList &sources, bool check_dup=true)
 Bulk add multiple explicit inputs at once. More...
 
void getExplicitInputs (DEP_MicroNodeList &inputs) const
 Get list of all non-null explicit inputs. More...
 
SYS_FORCE_INLINE int getNumExplicitInputs () const
 Get the number of non-null inputs. More...
 
void getExplicitOutputs (DEP_MicroNodeList &outputs) const
 Get list of all non-null explicit outputs. More...
 
SYS_FORCE_INLINE int getNumExplicitOutputs () const
 Get the number of non-null outputs. More...
 
SYS_FORCE_INLINE bool isDirty () const
 Flag accessors. More...
 
void setDirty (bool flag, bool allow_clear=true)
 Flag accessors. More...
 
SYS_FORCE_INLINE bool isTimeDependent () const
 Flag accessors. More...
 
SYS_FORCE_INLINE void setTimeDependent (bool time_dependent)
 Flag accessors. More...
 
SYS_FORCE_INLINE bool isTimeInterested () const
 Flag accessors. More...
 
SYS_FORCE_INLINE void setTimeInterested (bool time_interested)
 Flag accessors. More...
 
SYS_FORCE_INLINE bool hasContextOptionDeps () const
 Flag accessors. More...
 
SYS_FORCE_INLINE const
DEP_ContextOptionDeps
getContextOptionDeps () const
 Flag accessors. More...
 
SYS_FORCE_INLINE void addContextOptionDeps (const DEP_ContextOptionDeps &opts)
 Flag accessors. More...
 
SYS_FORCE_INLINE void addContextOptionDep (const UT_StringHolder &opt)
 Flag accessors. More...
 
SYS_FORCE_INLINE void clearContextOptionDeps ()
 Flag accessors. More...
 
SYS_FORCE_INLINE bool isOpDataMicroNode () const
 Flag accessors. More...
 

Additional Inherited Members

- Public Types inherited from DEP_MicroNode
typedef UT_Function< void(DEP_MicroNode
&, DEP_MicroNode &) > 
Visitor
 
typedef UT_Function< bool(const
DEP_MicroNode &, const
DEP_MicroNode &) > 
TraverseVisitor
 
- Static Public Member Functions inherited from DEP_MicroNode
static SYS_FORCE_INLINE bool canClearDependencies ()
 Global control whether dependencies can be cleared. More...
 
static SYS_FORCE_INLINE bool canEvaluateExports ()
 Global control whether we can evaluate exports. More...
 
static SYS_FORCE_INLINE bool isSameTime (fpreal a, fpreal b)
 
- Static Public Member Functions inherited from UT_SmallObject< DEP_MicroNode >
static voidoperator new (size_t size)
 Regular new/delete operators. More...
 
static void operator delete (void *p, size_t size)
 Regular new/delete operators. More...
 
static voidoperator new (size_t, void *p)
 
static void operator delete (void *, void *)
 
- Protected Member Functions inherited from DEP_MicroNode
SYS_FORCE_INLINE void setIsOpDataMicroNode (bool b)
 

Detailed Description

Definition at line 21 of file OP_DataMicroNode.h.

Constructor & Destructor Documentation

OP_DataMicroNode::OP_DataMicroNode ( OP_Node node)

Member Function Documentation

void OP_DataMicroNode::becameDirty ( DEP_MicroNode src,
const DEP_PropagateData propdata 
)
overridevirtual

Callbacks for what to do when the micronode becomes dirty. Derived micronodes can override this. Note that it requires knowledge of who made it dirty as they may behave differently. Currently used by OP_Node::propagateDirtyMicroNode

Reimplemented from DEP_MicroNode.

Reimplemented in OP_NamedDataMicroNode.

void OP_DataMicroNode::bumpModVersion ( )
inline

Definition at line 78 of file OP_DataMicroNode.h.

const char* OP_DataMicroNode::className ( ) const
inlineoverridevirtual

Reimplemented from OP_ContextOptionsMicroNode.

Reimplemented in OP_NamedDataMicroNode, and VOP_DataMicroNode.

Definition at line 26 of file OP_DataMicroNode.h.

void OP_DataMicroNode::clearInputs ( )
overridevirtual

Clear all inputs, including any state data related to them. Default implementation just calls clearExplicitInputs() and setTimeDependent(false).

Reimplemented from DEP_MicroNode.

void OP_DataMicroNode::dump ( std::ostream &  os,
const char *  prefix = 0,
int  indent_level = 0 
) const
overridevirtual

Dump contents to output stream, strictly for debugging purposes.

Reimplemented from DEP_MicroNode.

void OP_DataMicroNode::evaluateExports ( )
overridevirtual

evaluateExports() is called after isExporting() is noted to be true during a dirty propagation pass initiated by dirtySubtree().

Reimplemented from DEP_MicroNode.

void OP_DataMicroNode::getExtraInputs ( DEP_MicroNodeList inputs) const

Like getInputs() but excludes wired OP_Node inputs.

void OP_DataMicroNode::getExtraOutputs ( DEP_MicroNodeList outputs) const

Like getOutputs() but excludes wired OP_Node outputs. For parmlist micronodes, this will exclude the its owner OP_Node.

void OP_DataMicroNode::getInputs ( DEP_MicroNodeList inputs) const
overridevirtual

Get list of all our non-null inputs, both implicit and explicit. The base class returns the list of explicit inputs.

Reimplemented from DEP_MicroNode.

int64 OP_DataMicroNode::getMemoryUsage ( bool  inclusive) const
overridevirtual

Obtain approximate memory usage.

Reimplemented from DEP_MicroNode.

void OP_DataMicroNode::getOutputs ( DEP_MicroNodeList outputs) const
overridevirtual

Get list of all our non-null outputs, both implicit and explicit. The base class returns the list of explicit outputs.

Reimplemented from DEP_MicroNode.

Reimplemented in VOP_DataMicroNode.

void OP_DataMicroNode::getParmInputs ( DEP_MicroNodeList inputs) const
void OP_DataMicroNode::getUsedDataInputs ( DEP_MicroNodeList inputs) const
bool OP_DataMicroNode::inheritTimeDependentFromUsedDataInputs ( )
bool OP_DataMicroNode::inheritTimeInterestedFromUsedDataInputs ( )
bool OP_DataMicroNode::isEvaluating ( ) const
overridevirtual

Used to determine if a micronode is currently evaluating. If this returns true, during dirty propagation, it will prevent dependencies from being removed from it.

Reimplemented from DEP_MicroNode.

bool OP_DataMicroNode::isExporting ( ) const
overridevirtual

Used to determine if a micronode requires its exports to be evaluated during the propagation pass.

Reimplemented from DEP_MicroNode.

bool OP_DataMicroNode::isModVersionOutdated ( ) const
inline

Definition at line 80 of file OP_DataMicroNode.h.

OP_VERSION OP_DataMicroNode::lastModVersion ( ) const
inline

Definition at line 84 of file OP_DataMicroNode.h.

OP_VERSION OP_DataMicroNode::modVersion ( ) const
inline

Definition at line 82 of file OP_DataMicroNode.h.

OP_Node& OP_DataMicroNode::ownerNode ( ) const
inline

Definition at line 75 of file OP_DataMicroNode.h.

bool OP_DataMicroNode::requiresUpdate ( fpreal  t) const
overridevirtual

requiresUpdate() specifies if the micro-node was dirtied, possibly based on the time t.

Reimplemented from OP_ContextOptionsMicroNode.

void OP_DataMicroNode::setModVersion ( OP_VERSION  v)
inline

Definition at line 90 of file OP_DataMicroNode.h.

void OP_DataMicroNode::update ( fpreal  t)
overridevirtual

update() is used by users of micro-nodes to mark this node as clean at the given time t.

Reimplemented from OP_ContextOptionsMicroNode.


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