64 InputRoute() : vertices(), actions(
"actions"), targetPosition(NoRoutePositionSpecified),
65 desiredTargetTime(NoTimeSpecified), holdPosition(NoRoutePositionSpecified), startPosition(0.0) {};
104 holdUntilTime(NoTimeSpecified) {};
108 std::vector<double> vertexTimes;
127 virtual void initialize();
136 virtual void setInitialGeocentricLocation(
const DtVector& geocLoc);
141 virtual void setInitialTime(
double t);
144 virtual void setInitialSpeed(
double s);
148 virtual void setEntityMaxSpeed(
double speed);
151 virtual double entityMaxSpeed()
const;
155 virtual void setEntityMinSpeed(
double speed);
158 virtual double entityMinSpeed()
const;
162 virtual void setEntityDefaultSpeed(
double speed);
165 virtual double entityDefaultSpeed()
const;
169 virtual void setEntityMaxAcceleration(
double accel);
172 virtual double entityMaxAcceleration()
const;
176 virtual void setEntityMaxDeceleration(
double decel);
179 virtual double entityMaxDeceleration()
const;
183 virtual void setCurrentGeocentricLocation(
const DtVector& geocLoc);
186 virtual DtVector currentGeocentricLocation()
const;
190 virtual void setCurrentTime(
double t);
193 virtual double currentTime()
const;
197 virtual void setCurrentMinSpeed(
double speed);
200 virtual double currentMinSpeed()
const;
204 virtual void setCurrentMaxSpeed(
double speed);
207 virtual double currentMaxSpeed()
const;
211 virtual void setCurrentPreferredSpeed(
double speed);
214 virtual double currentPreferredSpeed()
const;
218 virtual void setCurrentSpeed(
double speed);
221 virtual double currentSpeed()
const;
225 virtual void setCurrentAcceleration(
double speed);
228 virtual double currentAcceleration()
const;
231 virtual double targetPosition()
const;
234 virtual double targetTime()
const;
237 virtual double holdPosition()
const;
246 virtual void addSetPreprocessor(
DtSetMessageType t, SetCallbackFcn fcn,
void* usr);
249 virtual void addSetProcessor(
DtSetMessageType t, SetCallbackFcn fcn,
void* usr);
255 virtual void printState(std::ostream& strm)
const;
266 virtual DtVector calculateLocationOfPositionOnRoute(
double pos,
const DtVertexList& vertices)
const;
277 virtual double calculateTravelTime(
const DtVector& currLoc,
const DtVector& nextLoc,
278 double currentSpeed,
double preferredSpeed,
279 double& newSpeed,
double& newAcceleration)
const;
288 virtual double calculatesDistanceToTarget(
const DtVector& currLoc,
double currPos,
293 void sanityCheckCurrentSettings();
297 virtual void processHold(
const DtVertexList& vertices,
double position);
double holdUntilTime
Estimated time at which hold will complete.
Definition: moveAlongRouteTimeEstimator.h:117
double myCurrentMinSpeed
Temporary preferences, updated by some actions during calculations.
Definition: moveAlongRouteTimeEstimator.h:354
Coordinate_System * myCoordSys
Definition: moveAlongRouteTimeEstimator.h:375
std::map< DtSetMessageType, SetCallbackPair > SetCallbackMap
Definition: moveAlongRouteTimeEstimator.h:368
SetCallbackMap mySetProcessors
Definition: moveAlongRouteTimeEstimator.h:373
Performs time estimates for move along route with actions tasks.
Definition: moveAlongRouteTimeEstimator.h:50
SetCallbackMap mySetPreprocessors
Definition: moveAlongRouteTimeEstimator.h:372
Definition: rwRouteActionList.h:19
virtual ~OutputEstimates()
Definition: moveAlongRouteTimeEstimator.h:105
double myTargetTime
Definition: moveAlongRouteTimeEstimator.h:336
DT_DLL_features std::ostream & operator<<(std::ostream &, const DtFeatureTransform &)
std::ostream output.
std::vector< double > actionTimes
Estimated completion times of each of the specified actions.
Definition: moveAlongRouteTimeEstimator.h:111
std::pair< TaskCallbackFcn, void * > TaskCallbackPair
Definition: moveAlongRouteTimeEstimator.h:365
TaskCallbackMap myTaskPreprocessors
Definition: moveAlongRouteTimeEstimator.h:370
double myEntityMaxDeceleration
Definition: moveAlongRouteTimeEstimator.h:349
double myEntityMaxSpeed
Definition: moveAlongRouteTimeEstimator.h:345
double myCurrentPreferredSpeed
Definition: moveAlongRouteTimeEstimator.h:356
double myEntityMaxAcceleration
Definition: moveAlongRouteTimeEstimator.h:348
double myEntityMinSpeed
Entity characteristics, initialized by user.
Definition: moveAlongRouteTimeEstimator.h:344
DtSetDataRequest is an abstract base class from which real setDataRequests can derive.
Definition: setDataRequest.h:40
Definition: coordSystem.h:54
Definition: moveAlongRouteTimeEstimator.h:101
std::pair< SetCallbackFcn, void * > SetCallbackPair
Definition: moveAlongRouteTimeEstimator.h:367
OutputEstimates()
Definition: moveAlongRouteTimeEstimator.h:103
class DtVertexList:
Definition: vertexList.h:22
double speedRequired
Speed required to make time on target.
Definition: moveAlongRouteTimeEstimator.h:120
double myHoldPosition
Position at which to hold.
Definition: moveAlongRouteTimeEstimator.h:340
static const double NoRoutePositionSpecified
Definition: moveAlongRouteTimeEstimator.h:58
double myCurrentAcceleration
Definition: moveAlongRouteTimeEstimator.h:362
static const double NoTimeSpecified
Definition: moveAlongRouteTimeEstimator.h:57
double myCurrentTime
Current state, initialized by user and updated by calculations.
Definition: moveAlongRouteTimeEstimator.h:329
#define DT_DLL_vrftasks
This file is used to determine how to build.
Definition: vrftasksDefines.h:26
double targetTime
Estimated time to arrive on target.
Definition: moveAlongRouteTimeEstimator.h:114
double myCurrentSpeed
Current state, updated by calculations.
Definition: moveAlongRouteTimeEstimator.h:361
DtSimTask is an abstract base class from which real tasks can derive.
Definition: simTask.h:33
Definition: routeAction.h:35
double myTargetPosition
Target position and the time at which we need to arrive there.
Definition: moveAlongRouteTimeEstimator.h:335
double myEntityDefaultSpeed
Definition: moveAlongRouteTimeEstimator.h:346
void processSetLocation(DtSetDataRequest *set, const DtVertexList &vertices, double position, DtMoveAlongRouteTimeEstimator *est)
These functions handle the standard sets that can affect the time estimates.
void processSetCurrentSpeed(DtSetDataRequest *set, const DtVertexList &vertices, double position, DtMoveAlongRouteTimeEstimator *est)
DtVector myCurrentLocation
Definition: moveAlongRouteTimeEstimator.h:330
double myCurrentMaxSpeed
Definition: moveAlongRouteTimeEstimator.h:355
std::map< DtSimTaskMessageType, TaskCallbackPair > TaskCallbackMap
Definition: moveAlongRouteTimeEstimator.h:366
void processSetOrderedSpeed(DtSetDataRequest *set, const DtVertexList &vertices, double position, DtMoveAlongRouteTimeEstimator *est)
TaskCallbackMap myTaskProcessors
Definition: moveAlongRouteTimeEstimator.h:371