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

#include <SIM_Engine.h>

+ Inheritance diagram for SIM_SimulationMicroNode:

Public Member Functions

 SIM_SimulationMicroNode (SIM_Engine &engine)
 
const char * className () const override
 
void becameDirty (DEP_MicroNode &src, const DEP_PropagateData &data) 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
 
virtual void update (fpreal t)
 
virtual bool requiresUpdate (fpreal t) const
 
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
 
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...
 

Protected Attributes

SIM_EnginemyEngine
 

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

Definition at line 46 of file SIM_Engine.h.

Constructor & Destructor Documentation

SIM_SimulationMicroNode::SIM_SimulationMicroNode ( SIM_Engine engine)

Member Function Documentation

void SIM_SimulationMicroNode::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.

const char* SIM_SimulationMicroNode::className ( ) const
inlineoverridevirtual

Reimplemented from DEP_MicroNode.

Definition at line 51 of file SIM_Engine.h.

Member Data Documentation

SIM_Engine& SIM_SimulationMicroNode::myEngine
protected

Definition at line 58 of file SIM_Engine.h.


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