VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfSimPlanExecutor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
14 #include "vrfplan/planExecutor.h"
17 
19 class DtVrfObject;
20 
26 
28 {
29 private:
34 
35 public:
37  virtual ~DtVrfSimPlanExecutor();
40  virtual bool executeSetDataRequest(const DtPlan& plan, const DtSetDataRequest& sdr);
43  virtual bool executeTask(const DtPlan& plan, const DtSimTask& task);
44 
49  virtual bool executeSimCommand(const DtPlan& plan, const DtSimCommand& command, DtSimCommandContextPtr& context);
50 
52  virtual bool evaluateConditional(const DtPlan& plan, const DtSimCondExpr* conditional);
53 
55  virtual bool taskActive(int taskId) const;
56 
58  virtual bool stopTask(int taskId);
59 
61  virtual int suspendAllTopLevelTasks();
62 
64  virtual bool resumeSuspendedTask(int);
65 
66  virtual bool hasTopLevelTasks() const;
67 
70  virtual DtPlanVariableSubstitutor* planVariableSubstitutor() const;
71 
74  virtual bool isSimCommandComplete(const DtPlan& plan, const DtSimCommand& command, const DtSimCommandContextPtr& context) const;
75 
78  virtual DtPlanVariableSubstitutor* setPlanVariableSubstitutor(DtPlanVariableSubstitutor* v);
79 
80  static void setPlanVariableSubstitutorCreator(DtPlanVariableSubstitutorCreatorFcn);
81  static DtPlanVariableSubstitutorCreatorFcn planVariableSubstitutorCreatorFcn();
82 
87  virtual std::vector<DtReaderWriter*> substituteVariablesIn(const DtRwVariableBindings&, DtReaderWriter*) const;
88 
90  virtual std::vector<DtReaderWriter*> substitutedValues(const DtRwVariableBindings&, const DtReaderWriter*) const;
91 
93  virtual bool subsituteUUIDIfAvailable(const DtRwVariableBindings&, const DtReaderWriter*, DtUUID& uuid) const;
94 
95 protected:
99 };
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
An abstract interface for the execution of a plan.
Definition: planExecutor.h:32
virtual bool taskActive(int taskId) const =0
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
virtual bool evaluateConditional(const DtPlan &plan, const DtSimCondExpr *conditional)=0
Evaluate the specified conditional.
DtPlanExecutor & operator=(const DtPlanExecutor &orig)
Not implemented.
virtual bool resumeSuspendedTask(int)=0
Resumes the suspended task id.
virtual bool isSimCommandComplete(const DtPlan &plan, const DtSimCommand &command, const DtSimCommandContextPtr &context) const =0
Create an executor and call it with the command context pointer to see if the command is complete...
Definition: planVariableSubstitutor.h:30
static DtPlanVariableSubstitutorCreatorFcn thePlanVariableSubstitutorCreatorFcn
Definition: vrfSimPlanExecutor.h:98
Definition: readerWriter.h:85
virtual bool executeSetDataRequest(const DtPlan &plan, const DtSetDataRequest &sdr)=0
Execute the specified Set Data Request in the context of the supplied plan.
virtual bool stopTask(int taskId)=0
Stops the execution of the task with the specified task execution ID.
virtual bool executeTask(const DtPlan &plan, const DtSimTask &task)=0
Execute the specified Task in the context of the supplied plan.
ReaderWriter object that maintains a list of reader-writer variable bindings.
Definition: rwVariableBindings.h:27
DtPlanVariableSubstitutor * myPlanVariableSubstitutor
Definition: vrfSimPlanExecutor.h:97
DtSetDataRequest is an abstract base class from which real setDataRequests can derive.
Definition: setDataRequest.h:40
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
virtual int suspendAllTopLevelTasks()=0
Suspends all top level tasks and returns the suspended id.
Concrete implementation of the DtPlanExecutor which interfaces with the VRF simulation engine...
Definition: vrfSimPlanExecutor.h:27
virtual bool subsituteUUIDIfAvailable(const DtRwVariableBindings &, const DtReaderWriter *, DtUUID &uuid) const =0
If, in the supplied reader/writer there is a matching UUID to substitute, place the resultant value i...
DtSimCommand is an abstract base class from which commands can derive.
Definition: simCommand.h:32
class DtPlan:
Definition: plan.h:91
DtSimCondExpr is an abstract base class representing various Conditional Expressions used by the Plan...
Definition: simCondExpr.h:49
DtPlanVariableSubstitutor *(* DtPlanVariableSubstitutorCreatorFcn)(DtVrfObject *)
Definition: planVariableSubstitutor.h:28
virtual bool executeSimCommand(const DtPlan &plan, const DtSimCommand &command, DtSimCommandContextPtr &context)=0
Execute the specified Simulation Command in the context of the supplied plan.
DtSimTask is an abstract base class from which real tasks can derive.
Definition: simTask.h:31
virtual std::vector< DtReaderWriter * > substitutedValues(const DtRwVariableBindings &, const DtReaderWriter *) const =0
Returns a vector list of reader/writer values (cloned from the source) that were substituted. The results of this call must be freed by the user.
DtVrfObject * myVrfObject
Definition: vrfSimPlanExecutor.h:96
virtual std::vector< DtReaderWriter * > substituteVariablesIn(const DtRwVariableBindings &, DtReaderWriter *) const =0
Iterates over all items in the reader writer registry of the supplied item, and, if any of the variab...
virtual bool hasTopLevelTasks() const =0
RFeturns true if there are tasks executing.
Definition: vrfMessageInterface.h:46
DtBoost::shared_ptr< DtSimCommandContext > DtSimCommandContextPtr
Definition: simCommandStmt.h:28

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)