11 #ifndef __DOP_Engine_h__ 
   12 #define __DOP_Engine_h__ 
   26 class DOP_OutputDependency;
 
   51     void                         getObjectsAtInputs(
DOP_Node *node,
 
   53                                         objectsatinputs) 
const;
 
   62     void                         getObjectsForNode(
DOP_Node *node,
 
   69     void                         addObjectForNode(
DOP_Node *node,
 
   78     DOP_Node                    *getDopNodeBeingProcessed() 
const;
 
   81     void                         propagateSimDirty(
bool send_event);
 
   88                                  { 
return theWantResimulation; }
 
   93                                  { theWantResimulation = want_resimulation; }
 
  100     void                         applyErrorsToNode(
OP_Node *sink,
 
  102                                         bool only_nodes_errors=
true,
 
  106                                         bool only_nodes_errors=
true,
 
  111     { 
return myErrorSeverity; }
 
  150                                 bool isguide) 
override;
 
  158                                 const char *errorparm,
 
  176     void         buildObjectListForOutput(DOP_OutputDependency &output) 
const;
 
  177     void         partitionObjectsForOutput(DOP_OutputDependency &output) 
const;
 
  178     void         createOutputsToProcess(
DOP_Node *node, 
int outputidx,
 
  180     void         clearOutputsToProcess();
 
  181     void         assignObjectsToCreatorOutputs();
 
  184     template <
typename SinkF>
 
  185     void         applyErrorsToSink(
OP_Node *sourcenode,
 
  186                                    bool only_nodes_errors,
 
  188                                    SinkF applyError) 
const;
 
  193     int                                  myProcessingOutput;
 
  201     mutable UT_Lock                              myErrorManagerLock;
 
  205     static bool                         theWantResimulation;
 
virtual void preSimulationStep()
 
virtual void resetSimulation()
 
UT_ErrorSeverity getErrorSeverity() const 
 
virtual void notifySimulationChangeSinksOfChange()
 
static void setWantResimulation(bool want_resimulation)
 
virtual void clearReferencesToMostRecentState()
 
Holds pointers to a number of SIM_Object objects. 
 
UT_ValArray< DOP_OutputDependency * > DOP_OutputArray
 
virtual void postSimulationStep()
This function is run after all objects are processed by their solvers. 
 
virtual void resetErrorsSubclass()
 
UT_Map< DOP_Output, DOP_OutputDependency * > DOP_OutputMap
 
Holds pointers to a number of const SIM_Object objects. 
 
virtual void addErrorSubclass(const SIM_RootData *rootdata, const SIM_Data *data, int errorcode, const char *errorparm, UT_ErrorSeverity severity) const 
The default implementation of this function does nothing. 
 
virtual void objectCreated(SIM_Object *object)
 
virtual void objectRemoved(SIM_Object *object)
 
A global error manager scope. 
 
DOP_OutputMap::const_iterator DOP_OutputMapConstIter
 
virtual const SIM_Time getEngineTimeSubclass(const SIM_Time &t) const 
Returns the simulation time that corresponds to the given global time. 
 
This is the base class for all DOP nodes. 
 
virtual void handleExternalNodeChangeSubclass(OP_Node *changednode, OP_EventType eventtype, void *data, bool isguide)
 
static bool getWantResimulation()
Returns whether resimulations is globally disabled. 
 
virtual const SIM_Time getGlobalTimeSubclass(const SIM_Time &t) const 
Returns the global time that corresponds to the given simulation time. 
 
Base::const_iterator const_iterator
 
virtual bool setIsSimulating(bool issimulating) const