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

#include <DEP_TimedMicroNode.h>

+ Inheritance diagram for DEP_TimedMicroNode:

Public Member Functions

 DEP_TimedMicroNode ()
 
const char * className () const override
 
bool requiresUpdate (fpreal t) const override
 
void update (fpreal t) override
 
- Public Member Functions inherited from DEP_MicroNode
 DEP_MicroNode ()
 
virtual ~DEP_MicroNode ()
 
virtual void getInputs (DEP_MicroNodeList &inputs) const
 
virtual void clearInputs ()
 
virtual void getOutputs (DEP_MicroNodeList &outputs) const
 
void propagateDirty (Visitor client_visit, bool only_outputs=false)
 
virtual void becameDirty (DEP_MicroNode &src, const DEP_PropagateData &propdata)
 
void traverseAncestorInputs (const TraverseVisitor &visitor) const
 Traverse all ancestor inputs of this micronode. More...
 
bool markVisitPass (int pass)
 
SYS_FORCE_INLINE int lastVisitPass () const
 
virtual int64 getMemoryUsage (bool inclusive) const
 Obtain approximate memory usage. More...
 
virtual void dump (std::ostream &os, const char *prefix=0, int indent_level=0) const
 Dump contents to output stream, strictly for debugging purposes. More...
 
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)
 
virtual bool isEvaluating () const
 
virtual void evaluateExports ()
 
virtual bool isExporting () const
 

Detailed Description

MicroNode that caches the last time it was updated to determine if requires an update.

Definition at line 23 of file DEP_TimedMicroNode.h.

Constructor & Destructor Documentation

DEP_TimedMicroNode::DEP_TimedMicroNode ( )
inline

Definition at line 26 of file DEP_TimedMicroNode.h.

Member Function Documentation

const char* DEP_TimedMicroNode::className ( ) const
inlineoverridevirtual

Reimplemented from DEP_MicroNode.

Definition at line 32 of file DEP_TimedMicroNode.h.

bool DEP_TimedMicroNode::requiresUpdate ( fpreal  t) const
inlineoverridevirtual

requiresUpdate() specifies if the micro-node was dirtied, possibly based on the time t. By default, it returns isDirty() but subclasses override this to handle other conditions that make this micro-node requiring an update.

Reimplemented from DEP_MicroNode.

Definition at line 38 of file DEP_TimedMicroNode.h.

void DEP_TimedMicroNode::update ( fpreal  t)
inlineoverridevirtual

update() is used by users of micro-nodes to mark this node as clean at the given time t. By default, it simply marks it as no longer dirty but subclasses override this to do more work.

Reimplemented from DEP_MicroNode.

Reimplemented in GusdOP_ParmChangeMicroNode.

Definition at line 46 of file DEP_TimedMicroNode.h.


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