VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfObjectPlanManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
13 
14 class DtPlan;
15 class DtPlanExecutor;
16 class DtSimBlock;
17 class DtSimCondExpr;
18 class DtSimMessage;
19 class DtSimulationAddress;
20 class DtVrfObjectMessage;
21 class DtIfPlan;
22 class DtTaskMessage;
23 class DtLocalObject;
24 
39 {
40 public:
41 
44 
46  virtual ~DtVrfObjectPlanManager();
47 
49  virtual bool init();
50 
53  virtual void tick();
54 
57  virtual DtPlanExecutor* createPlanExecutor();
58 
63  virtual DtPlan* createAndInitPlan();
64 
66  virtual DtPlan* plan();
67 
69  virtual DtPlan* getOrCreatePlan();
70 
73  virtual void setPlan(DtPlan* plan);
74 
78  virtual bool sendPlan();
79 
82  virtual bool sendPlanStatement(int statementId,
83  const DtSimulationAddress& address) const;
84 
86  virtual void setTaskIssuedFromPlan(bool taskIssuedFromPlan);
87 
100  virtual void taskExecuted(const DtTaskMessage& msg, bool abandonPlan = true);
101 
103  static DtVrfObjectPlanManagerFactory* factory();
105  static void setFactory(DtVrfObjectPlanManagerFactory* factory);
106 
109  virtual void processSetPlan(DtSimMessage* msg);
110  virtual void processSetPlan(DtIfPlan* msgData);
111 
113  virtual void prepareForReinitialization();
114 
119  virtual void processRequestPlan(const DtSimMessage* msg);
120 
123  virtual void processAbandonPlan(DtSimMessage* msg);
124 
127  virtual void processRestartPlan(DtSimMessage* msg);
128 
130  virtual void restartPlan();
131 
134  static void currentStatementChangedCallback(const DtPlan& plan,
135  void* usrData);
138  virtual void processCurrentStatementChanged(const DtPlan& plan);
139 
142  static DtVrfObjectPlanManager* creator(DtLocalObject* vrfObject);
143 
148  static DtVrfObjectPlanManager* createVrfObjectPlanManager(
149  const DtString& type, DtLocalObject* vrfObject);
150 
154  virtual bool hasPlan() const;
155 
157  virtual bool isGlobalPlan() const;
158 
160  virtual bool executingPlan() const;
161 
164  virtual void notifyTaskCompletion(int taskId);
165 
167  virtual void notifySkipTask();
168 
169 protected:
170 
173 
176 
178  DtVrfObjectPlanManager& operator=(const DtVrfObjectPlanManager& orig);
179 
180 protected:
181 
188 
191 };
class DtIfPlan:
Definition: ifPlan.h:61
An abstract interface for the execution of a plan. This class defines the interface that is used to c...
Definition: planExecutor.h:32
DtPlan * myPlan
Definition: vrfObjectPlanManager.h:182
bool myIsRegisteredForCallback
Definition: vrfObjectPlanManager.h:187
DtPlanExecutor * myPlanExecutor
Definition: vrfObjectPlanManager.h:183
class DtVrfObjectPlanManager:
Definition: vrfObjectPlanManagerFactory.h:24
bool myTaskIssuedFromPlan
Definition: vrfObjectPlanManager.h:185
class DtSimBlock:
Definition: simBlock.h:27
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
bool myPlanQueuedForAbandonment
Definition: vrfObjectPlanManager.h:186
File: simMsg.h.
Definition: simMessage.h:35
The base class for all messages to/from a specific DtVrfObject. Various subclasses of this class will...
Definition: vrfObjectMessage.h:30
class DtVrfObjectPlanManager:
Definition: vrfObjectPlanManager.h:38
class DtPlan:
Definition: plan.h:92
DtSimCondExpr is an abstract base class representing various Conditional Expressions used by the Plan...
Definition: simCondExpr.h:53
static DtVrfObjectPlanManagerFactory * theFactory
This factory is allocated and destroyed by the DtVrfCreator.
Definition: vrfObjectPlanManager.h:190
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtLocalObject * myVrfObject
Definition: vrfObjectPlanManager.h:184
A DtTaskMsg is a DtRadioMsg with a pointer to a task. The type of the taskMsg is just the type of the...
Definition: taskMessage.h:21
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)