VR-Forces 4.8 Class Documentation
 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 
12 
13 class DtPlan;
14 class DtPlanExecutor;
15 class DtSimBlock;
16 class DtSimCondExpr;
17 class DtSimMessage;
18 class DtSimulationAddress;
19 class DtVrfObjectMessage;
20 class DtIfPlan;
21 class DtTaskMessage;
22 
31 
34 {
35 public:
36 
39 
41  virtual ~DtVrfObjectPlanManager();
42 
44  virtual bool init();
45 
48  virtual void tick();
49 
52  virtual DtPlanExecutor* createPlanExecutor();
53 
58  virtual DtPlan* createAndInitPlan();
59 
61  virtual DtPlan* plan();
62 
64  virtual DtPlan* getOrCreatePlan();
65 
68  virtual void setPlan(DtPlan* plan);
69 
73  virtual bool sendPlan();
74 
77  virtual bool sendPlanStatement(int statementId,
78  const DtSimulationAddress& address) const;
79 
81  virtual void setTaskIssuedFromPlan(bool taskIssuedFromPlan);
82 
95  virtual void taskExecuted(const DtTaskMessage& msg, bool abandonPlan = true);
96 
98  static DtVrfObjectPlanManagerFactory* factory();
100  static void setFactory(DtVrfObjectPlanManagerFactory* factory);
101 
104  virtual void processSetPlan(DtSimMessage* msg);
105  virtual void processSetPlan(DtIfPlan* msgData);
106 
108  virtual void prepareForReinitialization();
109 
114  virtual void processRequestPlan(const DtSimMessage* msg);
115 
118  virtual void processAbandonPlan(DtSimMessage* msg);
119 
122  virtual void processRestartPlan(DtSimMessage* msg);
123 
125  virtual void restartPlan();
126 
129  static void currentStatementChangedCallback(const DtPlan& plan,
130  void* usrData);
133  virtual void processCurrentStatementChanged(const DtPlan& plan);
134 
137  static DtVrfObjectPlanManager* creator(DtVrfObject* vrfObject);
138 
143  static DtVrfObjectPlanManager* createVrfObjectPlanManager(
144  const DtString& type, DtVrfObject* vrfObject);
145 
149  virtual bool hasPlan() const;
150 
152  virtual bool isGlobalPlan() const;
153 
155  virtual bool executingPlan() const;
156 
159  virtual void notifyTaskCompletion(int taskId);
160 
161 protected:
162 
165 
168 
170  DtVrfObjectPlanManager& operator=(const DtVrfObjectPlanManager& orig);
171 
172 protected:
173 
180 
183 };
class DtIfPlan:
Definition: ifPlan.h:61
An abstract interface for the execution of a plan.
Definition: planExecutor.h:32
DtPlan * myPlan
Definition: vrfObjectPlanManager.h:174
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
bool myIsRegisteredForCallback
Definition: vrfObjectPlanManager.h:179
DtPlanExecutor * myPlanExecutor
Definition: vrfObjectPlanManager.h:175
class DtVrfObjectPlanManager:
Definition: vrfObjectPlanManagerFactory.h:33
bool myTaskIssuedFromPlan
Definition: vrfObjectPlanManager.h:177
class DtSimBlock:
Definition: simBlock.h:29
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
bool myPlanQueuedForAbandonment
Definition: vrfObjectPlanManager.h:178
File: simMsg.h.
Definition: simMessage.h:35
The base class for all messages to/from a specific DtVrfObject.
Definition: vrfObjectMessage.h:30
class DtVrfObjectPlanManager:
Definition: vrfObjectPlanManager.h:33
class DtPlan:
Definition: plan.h:90
DtSimCondExpr is an abstract base class representing various Conditional Expressions used by the Plan...
Definition: simCondExpr.h:49
static DtVrfObjectPlanManagerFactory * theFactory
This factory is allocated and destroyed by the DtVrfCreator.
Definition: vrfObjectPlanManager.h:182
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtVrfObject * myVrfObject
Definition: vrfObjectPlanManager.h:176
A DtTaskMsg is a DtRadioMsg with a pointer to a task.
Definition: taskMessage.h:19

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)