VR-Forces 4.2 Class Documentation
surfEntMvAlg.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 
14 #include "vrfutil/lclVecIter.h"
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 
101  static DtReaderWriter* provideCurrentMinTurnRadius(void* controller);
102 
105  static DtReaderWriter* provideTurnRadiusForOrderedSpeed(void* controller);
106 
109  static DtReaderWriter* provideNextRoutePointIndex(void* controller);
111 
119  virtual void processRouteChanged(DtVrfObject* obj);
120 
129  virtual bool atGoal();
130 
139  virtual bool passedGoal();
140 
141 
143 
151  virtual bool targetNextVertex();
152 
153  static void objectAboutToBeRemovedCallback(DtVrfObject* obj, void* usr);
154 
158  static DtSimComponent * creator(const DtString& name,
159  DtVrfObject* owner,
160  DtSimManager* simManager,
161  DtComponentDescriptor* desc = 0,
162  DtReaderWriterRegistry* parentRegistry = 0);
163 
164 protected:
167 
171 
173  const DtSurfaceEntityMoveAlongController& operator=
175 
193  virtual DtVector* getNextRoutePoint(int & index);
194 
198  virtual DtVector previousRoutePoint();
199 
207  virtual void setStateForCurrentPoint();
208 
213  virtual bool setupControlPoint();
214 
223  virtual void controlMovement();
224 
228  virtual void moveToMiddleOrFinalPoint();
229 
235  virtual bool shouldMoveToRouteSegment(double& distanceToSegment,
236  DtVector2D& unitRoute);
237 
239  virtual void controlMovementToRouteSegment(double distanceToSegmenet,
240  DtVector2D& unitRoute);
241 
250  virtual DtReal computeStartTurnDistance2();
251 
254  virtual DtReal minTurnRadiusForSpeed(double speed) const;
255 
260 
264  virtual void registerTaskMsgCallbacks();
265 
268  virtual void emptyVertexList();
269 
271  virtual void processObjectAboutToBeRemoved(DtVrfObject* obj);
272 
273 protected:
278 };

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)