VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
groundMoveToDestinationControllerComponent.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2004 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 
13 #pragma once
14 
15 
17 #include <matrix/vlVector.h>
19 
20 class DtString;
21 class DtSimManager;
22 class DtSimMessage;
26 class DtInputPortGroup;
28 
39 {
40 public:
41 
45  DtVrfObject* owner,
46  DtSimManager* simManager,
47  DtComponentDescriptor* desc = 0,
48  DtReaderWriterRegistry* parentRegistry = 0);
49 
52 
54  virtual bool init();
55 
58  virtual void setComponentDescriptor(DtComponentDescriptor *componentDescriptor);
59 
65  virtual void tick();
66 
69  virtual const char* type() const;
70 
72  static void setLocationCallback(DtSimMessage* msg, void* usr);
75  virtual void processSetLocation(DtSimMessage* msg);
76 
78  static void modifyVrfObjectCallback(DtSimMessage* msg, void* usr);
82  virtual void processModifyVrfObject(DtSimMessage* msg);
83 
87  static DtSimComponent * creator(const DtString& name,
88  DtVrfObject* owner,
89  DtSimManager* simManager,
90  DtComponentDescriptor* desc = 0,
91  DtReaderWriterRegistry* parentRegistry = 0);
92 
94  virtual void registerTaskMsgCallbacks();
95 
97  virtual void clearTask();
98 
107  virtual bool getDestination(DtVector & destination);
108 
113  virtual const DtVector& destinationVector() const;
114 
121  virtual double findDesiredSpeed();
122 
131  virtual double findDesiredHeading();
132 
139  virtual DtAutoTransmissionGearEnum determineGearSetting();
140 
151  virtual bool nearDestination();
152 
161  virtual bool atDestination();
162 
172  virtual bool passedDestination();
173 
175  virtual void stop();
176 
179  virtual void doMoving();
180 
181  virtual void updateTaskVisualizations();
182 
183 protected:
187  virtual bool setupDestination();
188 
197  virtual void setupDestinationVector() const;
198 
200  virtual void invalidateDestinationVector() const;
201 
203  virtual double desiredHeadingFromDestination(const DtDcm& localToTopoDcm);
204 
206  virtual void moveToDestination();
207  virtual double distanceToDestination() const;
208 
212  virtual bool decideToGiveUpTask() const;
213 
214  virtual bool createPortGroups();
215  virtual bool createPorts();
216 
219  virtual void setDestinationIsInsideObstruction(bool yesNo);
220 
223  virtual bool destinationIsInsideObstruction() const;
224 
226  virtual bool usingNavBot();
227 
229  virtual void useNavBotData();
230 
231  virtual void updateNavBotDestination();
232 
235  virtual unsigned maxNumFailedPathAttempts() const;
236 
239  virtual bool findAlternateDestination();
240 
241  static void navAreaChangedCallback(void* usr);
242  virtual void processNavAreaChanged();
243 
244  DtVector localDestination() const;
245 
246  static void navigationInterfaceChanged(DtVrfObject*, void* usr);
247  virtual void processNavigationInterfaceChanged(DtVrfObject*);
248 
249 private:
253 
256 
260 
261 protected:
262 
264 
267 
270 
272 
276 
278 
281 
288 
292 
294 
297 
299 
301 };
302 
303 

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)