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