![]() |
VR-Forces 4.3.1 Class Documentation
|

Public Member Functions | |
| DtPlan () | |
| constructor for use from within a front-end application, or when creating a plan to be assigned through DtCgf's assignPlan() function. | |
| DtPlan (const DtString &planName, DtPlanExecutor *planExecutor, const DtString &name="Plan", DtReaderWriterRegistry *parentRegistry=NULL) | |
| constructor for use from within a back-end application | |
| DtPlan (const DtString &name, const DtString &planName, const DtPlan &orig, DtReaderWriterRegistry *parentRegistry=NULL) | |
| copy constructor | |
| virtual | ~DtPlan () |
| destructor | |
| virtual void | init () |
| The init function must be called after any non-copy constructor! | |
| virtual DtPlan * | clone (const DtString &name, const DtString &planName, DtReaderWriterRegistry *parentRegistry=NULL) const |
| Returns a newly created copy of ourself. | |
| DtPlan & | operator= (const DtPlan &orig) |
| Note: this will NOT copy the DtSimPlanManager pointer, and will only copy the planName if *this is not currently registered with a DtSimPlanManager (because either the DtSimPlanManager pointer is NULL or the current planName is empty). | |
| virtual bool | operator== (const DtPlan &orig) const |
| Equality operator. | |
| virtual DtString | planName () const |
| virtual void | setPlanName (const DtString &name) |
| virtual const DtString & | objectName () const |
| Get/set the object name of entity associated with this plan. | |
| virtual void | setObjectName (const DtString &objectName) |
| virtual bool | objectNameSpecified () const |
| true if the object name was specified in the RW structure. | |
| virtual void | setPlanExecutor (DtPlanExecutor *planExecutor) |
| Get a pointer to the sim manager. | |
| virtual DtPlanExecutor * | planExecutor () const |
| virtual void | enableExecutionState () |
| Enable/disable plan execution state. | |
| virtual void | disableExecutionState () |
| virtual bool | executionState () const |
| virtual void | awaitingTask () |
| Sets our awaiting task flag (it will be handled in processAwaitingTask(), called from tick if/when plan execution state is enabled. | |
| virtual bool | isAwatingTask () const |
| virtual void | pushExecutionStack () |
| When a retasking trigger fires, it first calls pushExecutionStack on the DtPlan. | |
| virtual void | popExecutionStack (bool forceStep=false) |
| When a retasking trigger completes, it calls popExecutionStack on the DtPlan. | |
| virtual void | executeTrigger (DtWhenBlock *whenBlock) |
| When a DtSimTrigger gets executed, it calls the executeTrigger function which begins execution of the whenBlock. | |
| virtual void | executeBlock (DtSimBlock *block) |
| Begin execution of a block of tasks. | |
| virtual bool | taskRequestPending () const |
| Get the TaskRequestPending flag. | |
| virtual void | setTaskRequestPending (bool newValue=true) |
| Set or clear the TaskRequestPending flag. | |
| virtual bool | executeTask (const DtSimTask &taskToSend) const |
| Uses the plan executor to execute the specified task in the context of this plan. | |
| virtual bool | executeSetDataRequest (const DtSetDataRequest &setToSend) const |
| Uses the plan executor to execute the specified set data request in the context of this plan. | |
| virtual bool | executeSimCommand (const DtSimCommand &command) const |
| Uses the plan executor to execute the specified simulation command in the context of this plan. | |
| virtual bool | evaluateConditional (const DtSimCondExpr *condExpr) const |
| Uses myPlanExecutor to evaluate the conditional expression. | |
| virtual DtStmtIndex | firstStmt () const |
| Get the index of the first statement in the plan. | |
| virtual DtPlanBlock * | mainBlock () const |
| Get a pointer to the Plan's main Block. | |
| virtual bool | isEmpty () const |
| True if the Plan is considered "Empty" (containing no statements). | |
| virtual DtList * | triggerList () |
| Get a pointer to the list of pending triggers. | |
| virtual const DtList * | triggerList () const |
| virtual void | addTrigger (DtSimTrigger *trigger) |
| Add a trigger to the pending trigger list. | |
| virtual void | removeTrigger (DtSimTrigger *trigger) |
| Remove a trigger from the pending trigger list. | |
| virtual DtList * | executionStack () |
| Get a pointer to the execution stack. | |
| virtual const DtList * | executionStack () const |
| virtual bool | validatePlan () |
| Checks, and potentially fixes, the plan. | |
| virtual const DtStmtIndex & | currentStmt () const |
| Get the index of the Plan's "current" statement. | |
| virtual void | setCurrentStmt (const DtStmtIndex &nextStatement) |
| Set the Plan's "current" statement. | |
| virtual void | setCurrentStatementExecutionId (int id) |
| Sets the current task execution ID to the value specified. | |
| virtual bool | isComplete () const |
| True if the Plan is considered "Complete" and no longer active. | |
| virtual void | setIsComplete (bool completeFlag=true) |
| Set the Plan's completion flag, if true, further execution of the Plan is disabled. | |
| virtual bool | isAbandoned () const |
| virtual void | setIsAbandoned (bool v) |
| Sets whether or not the plan is abandoned. | |
| virtual bool | isExecuting () const |
| virtual DtPlanStatus | currentStatus () const |
| virtual void | reset () |
| Clear all registered triggers and reset the Plan to its initial state. | |
| virtual void | abandonPlan (bool sendWaitTask) |
| Reset the plan, but then set isComplete and set the current statement to the last one in the Main Block. | |
| virtual void | restartPlan (bool sendWaitTask=true) |
| Reset sthe plan. | |
| virtual bool | translateIndex (DtStmtIndex &stmtIndex) const |
| If you have a DtStmtIndex object that used to point into the original DtPlan before it was copied/cloned into this one, use the translateIndex function to convert it to point into this DtPlan. | |
| virtual void | translateIndices (DtList &stmtIndexList) const |
| If you have a list of DtStmtIndex objects that used to point into the original DtPlan before it was copied/cloned into this one, use the translateIndicies function to convert them to point into this DtPlan. | |
| virtual void | tick () |
| The Plan tick function. Presently this ticks all the Plan's triggers. | |
| virtual void | mergeEditedPlanWith (const DtPlan &oldPlan) |
| This plan is an edited version of an old one, copy and/or translate over any information that we want to preserve when we replace the old plan with this one (e.g. | |
| virtual DtRecursiveSimBlockIterator * | spawnRecursiveIterator () const |
| Spawns an iterator that iterates over the statements in the plan. | |
| virtual void | putSelf (FILE *fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtReaderWriter::appPath()) |
| This is the top-level reader-writer member function for saving self to file. | |
| virtual void | getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=DtReaderWriter::SearchPaths(), const DtVariableBindingsList &variableBindings=DtReaderWriter::nullVariableReference()) |
| This is the top-level reader-writer member function for reading in self from file. | |
| virtual void | addStatementChangedCallback (DtCurrentStatementChangedCallbackFcn fcn, void *usrData) |
| Adds a callback which is called whenever the current statement changes or whenever the status of the plan changes. | |
| virtual void | removeStatementChangedCallback (DtCurrentStatementChangedCallbackFcn fcn, void *usrData) |
| Removes a statement changed callback. | |
Public Member Functions inherited from DtReaderWriter | |
| DtReaderWriter () | |
| default constructor | |
| DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false) | |
| real constructor Setting the readonly flag prevents object from writing itself to the stream. | |
| DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false) | |
| DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL) | |
| pseudo-copy constructor | |
| DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL) | |
| DtReaderWriter (const DtReaderWriter &, DtReaderWriterRegistry *parentRegistry=NULL) | |
| copy constructor | |
| const DtReaderWriter & | operator= (const DtReaderWriter &orig) |
| assignment operator | |
| bool | operator== (const DtReaderWriter &) const |
| Equivalence operator. | |
| bool | operator!= (const DtReaderWriter &rhs) |
| virtual | ~DtReaderWriter () |
| destructor | |
| virtual void | postPutSelf () |
| Called after either version of put self (file or environment). Default is no-op. | |
| virtual void | prePutSelf () |
| Called before either version of put self (file or environment). Default is no-op. | |
| virtual void | getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference()) |
| Top level to read itself from an input stream. | |
| virtual void | postGetSelf () |
| Called after either version of getSelf (mtl or environment). Default is no-op. | |
| virtual void | preGetSelf () |
| Called before either version of get self (file or environment). Default is no-op. | |
| virtual void | writeSelf (FILE *fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename()) |
| Called from putSelf, calls myRegistry.putSelf which in turn calls putSelf on each reader/writer in the registry. | |
| virtual DtSymbolString | name () const |
| Accessor for name of this readable/writable object. | |
| virtual void | addAlias (const DtSymbolString &alias) |
| Add an alias as an alternative name for this object. | |
| virtual bool | hasAlias (const DtSymbolString &alias) |
| virtual const aliasContainer & | aliases () const |
| virtual void | setReadonly (bool flag) |
| Set read-only flag. | |
| virtual bool | isReadonly () const |
| virtual int | alignment () const |
| For those items that are sent over the network via HLA, this will give the network alignment. | |
| virtual bool | variableIsBound () const |
| virtual void | unbindVariable () |
| Sets the myVariableIsBound flag to false. | |
| virtual void | setName (const DtString &) |
| Set the name of the object. | |
| virtual const char * | readerWriterType () const |
| Used to supply a string type that this reader writer type is. | |
| virtual const char * | xmlType () const |
| virtual DtString | prettyPrint () const |
| Routine to return a human readable form of the reader/writer variable. | |
| std::string | debugText () const |
| virtual void | bindVariables (DtVariableBindingsList variableBindings) |
| Runs a variable binding pass on this reader writer and any of its children. | |
| virtual std::list < DtVariableNameType > | unboundVariables () const |
| bool | invalid () const |
| virtual bool | hasChild (const DtReaderWriter *p) const |
| Returns true if this variable has a child p in it's chain. | |
| virtual bool | hasVariableReference () const |
| Returns true if this item or any item in the registry (recursive) is a variable reference. | |
| virtual void | bindLocalVariables (const DtVariableBindingsList &variableBindings) |
| Checks to see if this RW object is a variable reference that can be bound using the provided bindings. | |
| virtual void | recordUpdateTime () const |
| Can be implemented in subclasses to stamp the time when updated. | |
| virtual bool | wasUpdatedSince (DtTime t) const |
| Can be implemented in subclasses to return true if an update occurred after the specified time. | |
| virtual void | putData (FILE *fp, int indentLevel=0) |
| Deriving class overrides these to get/put class specific data. | |
| virtual DtlObjPtr | getData (DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings) |
| Deriving class overrides these to get/put class specific data. | |
| virtual void | setValueSpecified (bool specified, bool recurse=false) |
| The specified flags are used for optional values. | |
| virtual bool | valueSpecified () const |
| The specified flags are used for optional values. | |
| virtual bool | isVariableReference () const |
| Specifies whether or not this reader writer is really a variable that is specified elsewhere. | |
| virtual void | setIsVariableReference (bool value) |
| virtual void | clearAllVariableReferenceFlags () |
| Clears out all variable reference flags from all readerwriter items in registry recursively. | |
| virtual DtSymbolString | variableName () const |
| The variable name, if this object is a variable reference. | |
| virtual void | setVariableName (const DtSymbolString variableName) |
| The variable name, if this object is a variable reference. | |
| virtual const DtReaderWriter * | defaultRWValue () const |
| The default value to use if the reader/writer object is a variable and that variable is not specified. | |
| virtual DtReaderWriter * | defaultRWValue () |
| The default value to use if the reader/writer object is a variable and that variable is not specified. | |
| virtual void | setDefaultRWValue (DtReaderWriter *) |
| Previous default value, if exists, will be removed and replaced with a clone of the supplied variable. | |
| virtual bool | checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference()) |
| Give the stream, if the stream contains a default value then set it here. | |
| const DtReaderWriterRegistry & | registry () const |
| Collection of child DtReaderWriter nodes owned by this object. | |
| DtReaderWriterRegistry & | registry () |
| Collection of child DtReaderWriter nodes owned by this object. | |
| virtual DtPropertyInterface * | property () |
| virtual const DtPropertyInterface * | property () const |
| virtual DtString | toXml () const |
| virtual bool | toXml (const DtFilename &) const |
| Writes contents of xml result to the given filename. | |
| virtual bool | fromXml (const DtString &) |
| Restores object from given xml string. Returns true if valid. | |
| virtual bool | fromXmlFile (const DtFilename &) |
| Restires object from given xml file. | |
| virtual void | putSelf (DtEnvironmentSP, DtEnvValueSP parent) const |
| virtual void | putData (DtEnvironmentSP, DtEnvValueSP value) const |
| Override to add attributes of actual data. | |
| virtual void | putVariableReference (DtEnvironmentSP, DtEnvValueSP value) const |
| Called when the item is a variable reference. | |
| virtual void | getSelf (const DtEnvironmentSP, const DtEnvValueSP root, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList()) |
| virtual void | getData (const DtEnvironmentSP, const DtEnvValueSP, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList()) |
| Gets data from the environment value. | |
| virtual void | unrecognizedItem (const DtEnvironmentSP env, const DtEnvValueSP root, const SearchPaths &searchPaths, const DtVariableBindingsList &varBindings) |
| Called when the xml reader tries to parse an unknown reader/writer item. Default is a no-op. | |
| virtual void | getVariableReference (DtEnvironmentSP, DtEnvValueSP value) |
| Called when the item is a variable reference. | |
Protected Member Functions | |
| virtual void | processAwaitingTask () |
| Awaiting task then (re)starts execution of plan. | |
| virtual void | createMainBlock () |
| Create the Main Block. | |
| virtual void | copyMainBlock (const DtPlan &otherPlan) |
| Copy the main block (and all nested blocks) and the Execution Stack from another Plan, and translate any/all DtStmtIndex objects to point into the new main block structure. | |
| virtual void | copyAndTranslateExecutionStack (const DtPlan &otherPlan) |
| Copy the other Plan's execution stack and translate all DtStmtIndex objects in the execution stack to point into the new main block. | |
| virtual void | copyAndTranslateTriggers (const DtPlan &otherPlan) |
| Copy the other Plan's pending triggers and translate all DtStmtIndex objects in the triggers to point into the new main block. | |
| virtual void | curStmtChanged () |
| Whenever a change is made that changes the effective current statement, this function is called so that the front end can be told of the change. | |
| virtual void | continuePlan () |
| ContinuePlan will continue the Plan execution until either the task request pending flag is cleared, or the plan complete flag is set. | |
| virtual void | stepStatement () |
| StepStatement will step to the next statement in the Plan. | |
| virtual void | executeStatement () |
| ExecuteStatement will execute the current statement in the Plan. | |
| virtual void | clearTriggerList () |
| ClearTriggerList deletes the registered triggers and clears the pending trigger list. | |
| virtual void | clearExecutionStack () |
| ClearExecutionStack clears the execution stack and resets the Plan. | |
| virtual void | emtpyExecutionStack () |
| Removes and deletes all DtStmtIndex* entries from the execution stack. | |
| virtual int | statementIdToCursor (DtStmtIdType statementId) |
| Maps statementId to cursor and vice-versa. | |
| virtual DtStmtIdType | cursorToStatementId (int cursor) |
| virtual DtSimStatement * | lookupStatementByCursor (int cursor) |
| Look up statement at the given cursor location (an integer identifying the overall position of a statement in a plan. | |
| virtual void | mapExecutionStackToRwExecutionStack (DtRwPlanExecutionStack &rwExecutionStack) |
| Called by putSelf(). | |
| virtual void | mapPendingTriggersToPendingTriggerDataList () |
| Called by putSelf(). | |
| virtual void | mapOldExecutionCursorStackToExecutionStack (const DtRwIntegerList &executionCursorStack) |
| Called by getSelf(). | |
| virtual void | mapRwExecutionStackToExecutionStack (const DtRwPlanExecutionStack &rwExecutionStack) |
| Fills myExecutionStack with the data from rwExecutionStack. | |
| virtual void | mapPendingTriggerDataToPendingTriggers () |
| Called by getSelf(). | |
Protected Member Functions inherited from DtReaderWriter | |
| virtual void | bindToRwAsVariable (const DtReaderWriter *rw) |
| Copies values from the specified DtReaderWriter. | |
Protected Member Functions inherited from DtObjectDebugger< DtReaderWriter > | |
| DtObjectDebugger () | |
| DtObjectDebugger (const DtObjectDebugger &) | |
| ~DtObjectDebugger () | |
Protected Attributes | |
| DtRwBoolean | myTaskRequestPending |
| The TaskRequestPending flag is set to true when an Entity requests a new task, and is cleared when a new task is sent by the Plan engine. | |
| DtPlanBlock * | myMainBlock |
| The main Block is the top-level Block of the plan and is the only Block that is considered to be "owned" by this DtPlan object. | |
| DtList | myExecutionStack |
| The top of the execution stack is the Plan's current statement (fetched with currentStmt()). | |
| DtRwBoolean | myIsComplete |
| myIsComplete Disables awaitingTask() and causes it to emit continuous Wait tasks. | |
| DtRwBoolean | myAbandoned |
| True if this plan has been abandoned. | |
| DtList | myPendingTriggers |
| A list of all registered DtSimTriggers. | |
| DtCallbackList< const DtPlan & > | myStatementChangedCbs |
| A list of all the DtCurrentStatementChangedCallbackFcn callbacks. | |
| DtRwTriggerDataList | myPendingTriggerDataList |
| Reader-writer members used to hold checkpoint information about the plan. | |
| bool | myExecutionIsEnabled |
| Flag indication whether execution is enabled (can we start or advance through plan statements?). | |
| bool | myAwaitingTaskFlag |
| Flag indicating we've received an awaiting task request. | |
| DtRwString | myPlanName |
| bool | myContinuePlan |
| DtPlanExecutor * | myPlanExecutor |
| DtPlanStatus | myLastSentStatus |
| The status that was last sent out though the curretStatement callbacks. | |
Protected Attributes inherited from DtReaderWriter | |
| const DtSymbolString | myName |
| DtReaderWriterRegistry | myRegistry |
| DtReaderWriterRegistry * | myParentRegistry |
| bool | myValueSpecified |
| bool | myReadOnlyFlag |
| bool | myIsVariableReference |
| DtSymbolString | myVariableName |
| bool | myVariableIsBound |
| DtReaderWriter * | myDefaultValue |
| aliasContainer | myAliases |
| Container for the aliases which represent alternative names for the object. | |
| bool | myInvalid |
| Set to true if there is a problem reading this item. | |
Additional Inherited Members | |
Public Types inherited from DtReaderWriter | |
| typedef std::vector < DtSymbolString > | aliasContainer |
| typedef std::vector < DtSymbolString >::iterator | aliasIter |
| typedef std::vector < DtSymbolString > ::const_iterator | aliasConstIter |
| typedef std::vector< DtFilename > | SearchPaths |
| typedef std::pair < DtSymbolString, DtString > | DtVariableNameType |
| typedef DtReaderWriterFactory *(* | DtReaderWriterFactoryCreatorFcn )() |
Static Public Member Functions inherited from DtReaderWriter | |
| static void | putIndent (FILE *fp, int indentLevel) |
| static const DtVariableBindingsList & | nullVariableReference () |
| static void | setPostGetSelfCallback (DtGetSelfCallbackFcn fcn, void *usrData) |
| static void | setPrePutSelfCallback (DtPutSelfCallbackFcn fcn, void *usrData) |
| static const char * | theXmlType () |
| The type that is used when archiving to an XML stream. | |
| static const DtFilename & | appPath () |
| Gets the current working directory. | |
| static void | setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn) |
| Sets the function to create the DtReaderWriterFactory. | |
| static void | createReaderWriterFactory () |
| static void | cleanupFactory () |
| static DtReaderWriterFactory * | factory () |
| static DtReaderWriter * | createFromXmlFile (const DtFilename &) |
| Given a filename, returns a newly created reader/writer object from the object found within. | |
| static DtReaderWriter * | createFromXml (const DtString &) |
| Given a xml string, returns a newly created reader/writer object from the object found within. | |
| static DtReaderWriter * | createFromEnvironment (DtEnvironmentSP) |
| Given a xml environment, returns a newly created reader/writer object from the object found within. | |
| static DtString | getAttribute (DtEnvironmentSP env, const DtString &name, DtEnvValueSP root) |
| Gets the named attribute from a DtEnvValueSP. | |
Static Protected Attributes inherited from DtReaderWriter | |
| static DtString | theUnspecifiedValue |
| static DtGetSelfCallbackInfo | thePostGetSelfCallback |
| static DtPutSelfCallbackInfo | thePrePutSelfCallback |
| static const DtVariableBindingsList | theEmptyVariableBindingsList |
| static bool | theCreatorFcnSet |
| static DtReaderWriterFactory * | theFactory |
| static DtReaderWriterFactoryCreatorFcn | theFactoryCreatorFcn |
| DtPlan::DtPlan | ( | ) |
constructor for use from within a front-end application, or when creating a plan to be assigned through DtCgf's assignPlan() function.
Note: the init function must be called after using this constructor.
| DtPlan::DtPlan | ( | const DtString & | planName, |
| DtPlanExecutor * | planExecutor, | ||
| const DtString & | name = "Plan", |
||
| DtReaderWriterRegistry * | parentRegistry = NULL |
||
| ) |
constructor for use from within a back-end application
Note: the init function must be called after using this constructor.
| DtPlan::DtPlan | ( | const DtString & | name, |
| const DtString & | planName, | ||
| const DtPlan & | orig, | ||
| DtReaderWriterRegistry * | parentRegistry = NULL |
||
| ) |
copy constructor
This is a copy constructor that can register as a Readable-Writable member.
|
virtual |
destructor
|
virtual |
The init function must be called after any non-copy constructor!
|
virtual |
Returns a newly created copy of ourself.
name is the DtReaderWriter name of the plan.
Note: this will NOT copy the DtSimPlanManager pointer, and will only copy the planName if *this is not currently registered with a DtSimPlanManager (because either the DtSimPlanManager pointer is NULL or the current planName is empty).
|
virtual |
|
virtual |
|
virtual |
Get/set the object name of entity associated with this plan.
|
virtual |
|
virtual |
true if the object name was specified in the RW structure.
|
virtual |
Get a pointer to the sim manager.
|
virtual |
|
virtual |
Enable/disable plan execution state.
Plan will not start or advance through statements unless execution state is enabled.
|
virtual |
|
virtual |
|
virtual |
Sets our awaiting task flag (it will be handled in processAwaitingTask(), called from tick if/when plan execution state is enabled.
|
virtual |
|
virtual |
When a retasking trigger fires, it first calls pushExecutionStack on the DtPlan.
This has the effect of duplicating the currentStmt index at the top of the stack. It does not, of itself, cause any new statements to get executed or sent to the entity. It is assumed that this call will be followed by a call to executeTrigger(), or at least setCurrentStmt().
|
virtual |
When a retasking trigger completes, it calls popExecutionStack on the DtPlan.
This has the effect of popping the execution stack back to the statement that was interrupted by the trigger. If the forceStep parameter is true, this will step to the statement following the one on the stack. If false, then the plan will check to see if the new top statement is still executing. If so, it will continue with that statement, otherwise it will step to the next statement.
|
virtual |
When a DtSimTrigger gets executed, it calls the executeTrigger function which begins execution of the whenBlock.
|
virtual |
Begin execution of a block of tasks.
|
virtual |
Get the TaskRequestPending flag.
|
virtual |
Set or clear the TaskRequestPending flag.
Uses the plan executor to execute the specified task in the context of this plan.
|
virtual |
Uses the plan executor to execute the specified set data request in the context of this plan.
|
virtual |
Uses the plan executor to execute the specified simulation command in the context of this plan.
|
virtual |
Uses myPlanExecutor to evaluate the conditional expression.
False is returned if there is not plan executor.
|
virtual |
Get the index of the first statement in the plan.
|
virtual |
Get a pointer to the Plan's main Block.
|
virtual |
True if the Plan is considered "Empty" (containing no statements).
|
virtual |
Get a pointer to the list of pending triggers.
|
virtual |
|
virtual |
Add a trigger to the pending trigger list.
|
virtual |
Remove a trigger from the pending trigger list.
|
virtual |
Get a pointer to the execution stack.
|
virtual |
|
virtual |
Checks, and potentially fixes, the plan.
|
virtual |
Get the index of the Plan's "current" statement.
This is either zero (if the Plan has not yet begun to execute), or indicates the last statement executed.
|
virtual |
Set the Plan's "current" statement.
|
virtual |
Sets the current task execution ID to the value specified.
|
virtual |
True if the Plan is considered "Complete" and no longer active.
|
virtual |
Set the Plan's completion flag, if true, further execution of the Plan is disabled.
|
virtual |
|
virtual |
Sets whether or not the plan is abandoned.
This should not normally be called from outside this class.
|
virtual |
|
virtual |
|
virtual |
Clear all registered triggers and reset the Plan to its initial state.
Reimplemented from DtReaderWriter.
|
virtual |
Reset the plan, but then set isComplete and set the current statement to the last one in the Main Block.
| sendWaitTask | indicates whether or not a wait task will be sent to the entity when its plan is abandoned. This will stop its current task, if true. |
|
virtual |
Reset sthe plan.
| sendWaitTask | indicates whether or not a wait task will be sent to the entity when its plan is abandoned. This will stop its current task, if true. |
|
virtual |
If you have a DtStmtIndex object that used to point into the original DtPlan before it was copied/cloned into this one, use the translateIndex function to convert it to point into this DtPlan.
Returns true if a match was found, false otherwise.
|
virtual |
If you have a list of DtStmtIndex objects that used to point into the original DtPlan before it was copied/cloned into this one, use the translateIndicies function to convert them to point into this DtPlan.
|
virtual |
The Plan tick function. Presently this ticks all the Plan's triggers.
|
virtual |
This plan is an edited version of an old one, copy and/or translate over any information that we want to preserve when we replace the old plan with this one (e.g.
current statement subscriber).
|
virtual |
Spawns an iterator that iterates over the statements in the plan.
The caller MUST DELETE the iterator when doen using it!
|
virtual |
This is the top-level reader-writer member function for saving self to file.
Override to get a chance to set reader-writer member variables before saving.
Reimplemented from DtReaderWriter.
|
virtual |
This is the top-level reader-writer member function for reading in self from file.
Override to get a chance to initialize plan from reader-writer members.
|
virtual |
Adds a callback which is called whenever the current statement changes or whenever the status of the plan changes.
(abandoned, complete, executing)
|
virtual |
Removes a statement changed callback.
|
protectedvirtual |
Awaiting task then (re)starts execution of plan.
|
protectedvirtual |
Create the Main Block.
This is only called by init(), and should only be called once.
|
protectedvirtual |
Copy the main block (and all nested blocks) and the Execution Stack from another Plan, and translate any/all DtStmtIndex objects to point into the new main block structure.
|
protectedvirtual |
Copy the other Plan's execution stack and translate all DtStmtIndex objects in the execution stack to point into the new main block.
(Called by copyMainBlock.)
|
protectedvirtual |
Copy the other Plan's pending triggers and translate all DtStmtIndex objects in the triggers to point into the new main block.
(Called by copyMainBlock.)
|
protectedvirtual |
Whenever a change is made that changes the effective current statement, this function is called so that the front end can be told of the change.
|
protectedvirtual |
ContinuePlan will continue the Plan execution until either the task request pending flag is cleared, or the plan complete flag is set.
|
protectedvirtual |
StepStatement will step to the next statement in the Plan.
This is usually the first half of an execution cycle. Note: this assumes that !isComplete() and !myCurrentStmt.isNull().
|
protectedvirtual |
ExecuteStatement will execute the current statement in the Plan.
This is usually the second half of an execution cycle. Note: this assumes that !isComplete() and !myCurrentStmt.isNull().
|
protectedvirtual |
ClearTriggerList deletes the registered triggers and clears the pending trigger list.
|
protectedvirtual |
ClearExecutionStack clears the execution stack and resets the Plan.
Adds a single NULL DtStmtIndex item to its list (indicating the start of the plan).
|
protectedvirtual |
Removes and deletes all DtStmtIndex* entries from the execution stack.
|
protectedvirtual |
Called by putSelf().
Fills the specified rwExecutionStack with the data from myExecutionStack.
|
protectedvirtual |
Called by putSelf().
Fills the specified rwExecutionStack with the data from myExecutionStack.
|
protectedvirtual |
Called by getSelf().
Fills myExecutionStack with the data from the Pre VRF 3.12 style executionCursorStack.
|
protectedvirtual |
Fills myExecutionStack with the data from rwExecutionStack.
|
protectedvirtual |
Called by getSelf().
Fills myExecutionStack with the data from the Pre VRF 3.12 style executionCursorStack.
|
protectedvirtual |
Maps statementId to cursor and vice-versa.
Cursor is the overall position of a statement in the plan.
|
protectedvirtual |
|
protectedvirtual |
Look up statement at the given cursor location (an integer identifying the overall position of a statement in a plan.
|
protected |
The TaskRequestPending flag is set to true when an Entity requests a new task, and is cleared when a new task is sent by the Plan engine.
There may be any number of non-task statements processed between these two events. Further processing of the entity's plan is paused when this flag is cleared.
|
protected |
The main Block is the top-level Block of the plan and is the only Block that is considered to be "owned" by this DtPlan object.
|
protected |
The top of the execution stack is the Plan's current statement (fetched with currentStmt()).
Whenever a retasking trigger fires, it pushes this stack down so that the Plan can pick up where it left off at the end of the trigger.
|
protected |
myIsComplete Disables awaitingTask() and causes it to emit continuous Wait tasks.
|
protected |
True if this plan has been abandoned.
If the plan is abandoned, it will also show as "complete", since it is not running.
|
protected |
A list of all registered DtSimTriggers.
|
protected |
A list of all the DtCurrentStatementChangedCallbackFcn callbacks.
|
protected |
Reader-writer members used to hold checkpoint information about the plan.
These variables only contain valid data just before writing to file, and just after reading from file. List of DtTriggerData items, representing the list of pending triggers.
|
protected |
Flag indication whether execution is enabled (can we start or advance through plan statements?).
|
protected |
Flag indicating we've received an awaiting task request.
|
protected |
|
protected |
|
protected |
|
protected |
The status that was last sent out though the curretStatement callbacks.