VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
groundAutoControllerComponent.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 #pragma once
12 
14 
15 class DtString;
16 class DtSimManager;
18 class DtTaskMessage;
19 class DtSoilFactors;
20 class DtAutomotivePSR;
24 
34 {
35 public:
36 
40  DtVrfObject* owner,
41  DtSimManager* simManager,
42  DtComponentDescriptor* desc = 0,
43  DtReaderWriterRegistry* parentRegistry = 0);
44 
47 
49  virtual bool init();
50 
53  virtual const char* type() const;
54 
57  virtual void clearTask();
58 
74  virtual double approximateThrottle(double desiredSpeed);
75  virtual double calculateSteering(double currentHeading, double
76  desiredHeading) const;
77  virtual double calculateCurrentBrakingDistance() const;
78 
81  virtual bool createAutomotiveControlPortGroup();
82  virtual bool createThrottlePort();
83  virtual bool createSteeringPort();
84  virtual bool createBrakePort();
85  virtual bool createGearPort();
86  virtual bool createParkingBrakePort();
87 
88  virtual DtConstrainedAnalogOutputPort * throttlePort();
89  virtual DtConstrainedAnalogOutputPort * steeringPort();
90  virtual DtConstrainedAnalogOutputPort * brakePort();
91  virtual DtConstrainedIntegerOutputPort * gearPort();
92  virtual DtBooleanOutputPort * parkingBrakePort();
93 
94  virtual double decelerationSoilFactor() const;
95 
101  virtual double calcSteeringForTurnInPlace();
102 
106  virtual double calcThrottleForTurnInPlace();
107 
110  virtual double calcBrakeForTurnInPlace();
111 
119  virtual int calcGearForTurnInPlace();
120 
124  virtual double calcSteeringForPivot();
125 
129  virtual double calcThrottleForPivot();
130 
134  virtual double calcSteeringForKTurn();
135 
139  virtual double calcThrottleForKTurn();
140 
144  virtual double calcBrakeForKTurn();
145 
151  virtual double findSpeedForKTurn();
152 
156  virtual double findHeadingForKTurn();
157 
159  virtual void setHeadingToTurnTo(double headingToTurnTo);
160  virtual double headingToTurnTo() const;
161 
163  virtual double calculateHeadingToTurnTo();
164 
166  virtual void setTurnToMode(int headingToTurnTo);
167  virtual int turnToMode() const;
168 
172  virtual void setKTurnReverseGoalHeading(double kTurnReverseGoalHeading);
173  virtual double kTurnReverseGoalHeading() const;
174 
178  virtual void setKTurnReverseComplete(bool kTurnReverseComplete);
179  virtual bool kTurnReverseComplete() const;
180 
181 protected:
183  virtual bool createPorts();
184 
186  virtual bool createPortGroups();
187 
195  virtual void lookupAndCacheProcessSR();
196 
199  virtual bool postAddComponentsInit();
200 
201  virtual DtSoilFactors * currentSoilFactors() const;
202 
205  virtual bool decideToGiveUpTask() const;
206 
207 private:
208 
211 
214  orig);
215 
219 
220 
221 protected:
222 
224 
227 
234 
241 
248 
255 
261 
266 
268 
275 
280 };

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)