VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
surfaceEntityMoveAlongController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 #pragma once
12 
15 
16 class DtString;
17 class DtSimManager;
18 class DtRouteState;
19 class DtSimMessage;
20 
21 
37 
40 {
41 
42 public:
43 
47  DtVrfObject* owner,
48  DtSimManager* simManager,
49  DtComponentDescriptor* desc = 0,
50  DtReaderWriterRegistry* parentRegistry = 0);
51 
57 
60  virtual DtString type() const;
61 
63  virtual bool init();
64 
65  virtual void clearTask();
66 
74  static void moveAlongCallback(DtSimMessage* msg, void* usr);
75 
88  virtual void processMoveAlongTask(DtSimMessage * msg);
89 
94  static void routeChangedCallback(DtVrfObject* obj, void* user);
95 
104  static DtReaderWriter* provideCurrentMinTurnRadius(void* controller);
105 
113  static DtReaderWriter* provideTurnRadiusForOrderedSpeed(void* controller);
114 
116  static DtReaderWriter* provideNextRoutePointIndex(void* controller);
118 
126  virtual void processRouteChanged(DtVrfObject* obj);
127 
136  virtual bool atGoal();
137 
146  virtual bool passedGoal();
147 
148 
150 
158  virtual bool targetNextVertex();
159 
160  static void objectAboutToBeRemovedCallback(DtVrfObject* obj, void* usr);
161 
165  static DtSimComponent * creator(const DtString& name,
166  DtVrfObject* owner,
167  DtSimManager* simManager,
168  DtComponentDescriptor* desc = 0,
169  DtReaderWriterRegistry* parentRegistry = 0);
170 
171 protected:
174 
178 
180  const DtSurfaceEntityMoveAlongController& operator=
182 
200  virtual DtVector* getNextRoutePoint(int & index);
201 
205  virtual DtVector previousRoutePoint();
206 
214  virtual void setStateForCurrentPoint();
215 
220  virtual bool setupControlPoint();
221 
230  virtual void controlMovement();
231 
235  virtual void moveToMiddleOrFinalPoint();
236 
249  virtual bool shouldMoveToRouteSegment(double& distanceToSegment);
250 
254  virtual void controlMovementToRouteSegment(double distanceToSegment);
255 
264  virtual DtReal computeStartTurnDistance2();
265 
268  virtual DtReal minTurnRadiusForSpeed(double speed) const;
269 
276 
280  virtual void registerTaskMsgCallbacks();
281 
284  virtual void emptyVertexList();
285 
287  virtual void processObjectAboutToBeRemoved(DtVrfObject* obj);
288 
289 protected:
294 };

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)