VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
aggregatedMoveToController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
11 
12 #pragma once
13 
16 
17 class DtCgf;
19 class DtSimMessage;
21 class DtOutputPortGroup;
23 class DtVectorOutputPort;
25 class DtAnalogOutputPort;
26 class DtSetDataRequest;
27 class DtSetDataManager;
28 
43 {
44 private:
51 public:
53  DtAggregatedMoveToController(const DtString& name, DtVrfObject* owner, DtSimManager* simManager, DtComponentDescriptor* desc=0, DtReaderWriterRegistry *parentRegistry=0);
54 
57 
59  virtual bool init();
60 
62  virtual const char* type() const;
63 
65  virtual void tick();
66 
71  static void moveToCallback(DtSimMessage * msg, void * usr);
72  static void moveToRetrogradeCallback(DtSimMessage * msg, void * usr);
73 
78  static void setLocationCallback(DtSimMessage* msg, void* usr);
79 
84  static void moveToLocationCallback(DtSimMessage * msg, void * usr);
85  static void moveToLocationRetrogradeCallback(DtSimMessage * msg, void * usr);
86 
91  static void moveIntoFormationCallback(DtSimMessage * msg, void * usr);
92 
97  static void turnToHeadingCallback(DtSimMessage* msg, void* usrData);
98 
100  static DtSimComponent* creator(const DtString& name, DtVrfObject* owner, DtSimManager* simManager, DtComponentDescriptor* desc=0, DtReaderWriterRegistry* parentRegistry=0);
101 
103  static void modifyVrfObjectCallback(DtSimMessage* msg, void* usr);
104 
105 protected:
106 
109  virtual void processMoveToTask(DtSimMessage * msg);
110  virtual void processMoveToLocationTask(DtSimMessage * msg);
111  virtual void processMoveToRetrogradeTask(DtSimMessage * msg);
112  virtual void processMoveToLocationRetrogradeTask(DtSimMessage * msg);
113  virtual void preFirstTickInit();
114 
119  virtual void processDestinationChanged();
120 
124  virtual bool setupDestination();
125 
134  virtual void setupDestinationVector() const;
135 
137  virtual void invalidateDestinationVector() const;
138 
147  virtual bool atDestination();
148 
150  virtual void doMoving();
151 
153  virtual double findDesiredHeading();
154 
156  virtual void moveToDestination();
157 
159  virtual void stop();
160 
162  virtual void registerTaskMsgCallbacks();
163 
167  virtual void processModifyVrfObject(DtSimMessage* msg);
168 
171  virtual void processSetLocation(DtSimMessage* msg);
172 
174  virtual bool createPortGroups();
175 
177  virtual bool createPorts();
178 
184  virtual bool createPSR();
185 
186  virtual double distanceToDestination() const;
187 
189  virtual void clearTask();
190 
195  virtual double atDistance() const;
196 
200  virtual void processMoveIntoFormationTask(DtSimMessage* msg);
201 
204  virtual void processTurnToHeadingTask(DtSimMessage* msg);
205 
207  virtual void sendRequestToSelf(const DtSetDataRequest& request) const;
208 
209 protected:
210 
213 
219 
225 
228 
235 
237 
241 
244 
247 
250 
252 
256 
258 
262 
264 };
265 

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)