VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
disaggregatedMoveIntoFormationController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2004 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
12 
13 #pragma once
14 
16 #include <matrix/vlVector.h>
17 #include <vector>
18 
20 class DtFormationState;
21 class DtSimMessage;
22 class DtSetDataManager;
23 class DtSetDataRequest;
27 
50 {
51 public:
52 
56  DtVrfObject* owner,
57  DtSimManager* simManager,
58  DtComponentDescriptor* desc = 0,
59  DtReaderWriterRegistry* parentRegistry = 0);
60 
62 
65  virtual const char* type() const;
66 
68  virtual bool init();
69 
71  virtual void tick();
72 
76  virtual void registerTaskMsgCallbacks();
77 
79  virtual void clearTask();
80 
83  static void taskCompleteReportCallback(DtSimMessage * msg, void * usr);
84 
87  static void formationStateChanged(const DtFormationState& formationState,
88  void* usr);
89 
93  static DtSimComponent * creator(const DtString& name,
94  DtVrfObject* owner,
95  DtSimManager* simManager,
96  DtComponentDescriptor* desc = 0,
97  DtReaderWriterRegistry* parentRegistry = 0);
98 
101  static void moveIntoFormationTaskCallback(DtSimMessage * msg, void * usr);
102 
105  static void subordinateRemoved(const DtUUID& subordinate, void* usr);
106 
107 protected:
108 
115  virtual void moveIntoFormation(const DtVector& location, double heading, DtString formation);
116 
127  virtual void onTaskComplete(DtSimMessage * msg);
128 
133  virtual void onFormationStateChanged();
134 
136  virtual void sendRequestToSelf(const DtSetDataRequest& request) const;
137 
139  virtual void sendTaskToSubordinate(const DtSimTask& task,
140  const DtUUID& subordinate) const;
141 
143  void sendSetDataRequestToSubordinate(const DtSetDataRequest& request,
144  const DtUUID& subordinate) const;
145 
147  virtual void processMoveIntoFormationTask(DtSimMessage * msg);
148 
154  virtual bool createPSR();
155 
156  virtual void clearDebugWaypointNames();
157 
161  virtual void processSubordinateRemoved(const DtUUID& subordinate);
162 
165  virtual bool registerOrgNodeCallbacks();
166 
168  virtual void groundClampLocation(DtVector& location);
169 
172  virtual bool shouldGroundClamp() const;
173 
174 private:
175 
178 
181 
182 protected:
183 
188 
194 
198 
201  std::vector<DtString> myDebugWaypointNames;
202 
206 
210 
215 
220 
227 };

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)