65 const DtString& rwName = DtString::nullString(),
70 const DtString& rwName = DtString::nullString(),
96 myForwardAcceleration = acceleration;
104 {myClampHeading = clampHeading;}
109 myAltitudeChangeRate = altitudeRate;
115 myClampAltitude = altitude;
123 virtual bool hasFuel()
const {
return myHasFuel;}
132 myIsAground = isAground;
141 {myGoalDepth = depth;}
145 {myDesiredDepthRate = rate;}
149 { myIsTurnContinuous = isContinous;}
152 virtual void setGoalHeading(
const double goalHeading);
156 { myIsUsingConstantDiameter = usingDiameter;}
160 { myIsTurningRight = isContinous;}
163 virtual void setDesiredTurnDiameter(
const double desiredTurnDiameter);
166 virtual void setDesiredTurnRate(
const double desiredTurnRate);
168 virtual bool turnTaskIsControllingSpeed()
const;
169 virtual void setTurnTaskIsControllingSpeed(
const bool isControlling);
174 virtual void setControlObject(
const DtUUID&);
183 virtual void setRoute(
const DtUUID&);
197 virtual void emptyRouteVertices();
215 virtual void setPrevRoutPointIndex(
const int index);
217 virtual void setNextRoutePointIndex(
const int index);
218 virtual void setCurrentRoutePointIndex(
const int index);
223 virtual DtRwInt& currentVertex();
224 virtual const DtRwInt& currentVertex()
const;
227 virtual const DtRwInt& nextVertex()
const;
229 virtual DtRwInt& previousVertex();
230 virtual const DtRwInt& previousVertex()
const;
235 virtual void setReverseFlag(
bool flag);
236 virtual bool reverseFlag()
const;
239 virtual void setFirstWaypoint(
const DtUUID&);
243 virtual void setSecondWaypoint(
const DtUUID&);
247 virtual void setEntityToFollow(
const DtUUID&);
252 virtual void setFollowOffsetVector(
const DtVector&
offset);
253 virtual const DtVector& followOffsetVector()
const;
257 virtual void setKeepStationOffsetDistance(DtReal keepStationOffsetDistance);
258 virtual DtReal keepStationOffsetDistance()
const;
262 virtual void setKeepStationHeading(DtReal keepStationHeading);
263 virtual DtReal keepStationHeading()
const;
266 virtual void setWaitUntilOrderedSpeedMetToStopTask(
bool);
267 virtual bool waitUntilOrderedSpeedMetToStopTask();
271 virtual void setGeodeticAimingPoint(
const DtVector& pnt);
272 virtual const DtVector geodeticAimingPoint()
const;
279 virtual void setGoalVector(
const DtVector &goalVector);
280 virtual const DtVector& goalVector()
const;
284 virtual void setContinueAtGoal(
const bool cont);
285 virtual bool continueAtGoal(
void)
const;
288 virtual void setIsEmergencyStop(
const bool isEmergency);
289 virtual bool isEmergencyStop(
void)
const;
291 virtual void setIsDriftStop(
const bool isDriftStop);
292 virtual bool isDriftStop(
void)
const;
295 virtual void putSelf(std::string& fp,
int indentLevel = 0,
bool writeUnspecified =
false,
302 virtual DtReal maxYawRate()
const;
303 virtual void setMaxYawRate (DtReal maxYawRate);
306 virtual DtReal maxYawAcceleration()
const;
307 virtual void setMaxYawAcceleration(DtReal maxYawAcceleration);
310 virtual double stoppingSpeed()
const;
311 virtual void setStoppingSpeed(DtReal stoppingSpeed);
UUID is a unique ID wrapper class.
Definition: uuid.h:59
virtual double desiredTurnRate()
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:165
DtRwVector myGeodeticAimingPoint
For Surface Entity Move To Location controller.
Definition: surfaceMovementPSR.h:408
DtRwReal myGoalDepth
This is used by subsurface depth controller.
Definition: surfaceMovementPSR.h:369
DtRwBoolean myContinueAtGoal
Indicates that the entity should continue at speed after hitting the destination location. Used in move-to as well.
Definition: surfaceMovementPSR.h:416
DtRwReal myKeepStationOffsetDistance
The distance of the station keeping entity , relative to the entity to follow (in meters)...
Definition: surfaceMovementPSR.h:482
DtRwSimObjectReference mySecondWaypoint
For patrol-between control.
Definition: surfaceMovementPSR.h:467
DtRwReal myForwardAcceleration
Used in the actuator DtSufaceEntitySimpleActuator.
Definition: surfaceMovementPSR.h:341
virtual double clampHeading()
These accessors return the values that the actuator caches between ticks for kinematic values...
Definition: surfaceMovementPSR.h:102
DtRwInt myNextVertex
For move-along [route] control.
Definition: surfaceMovementPSR.h:444
DtTurnMoveTypeEnum
These enumerations must match the int values that come back from the GUI in the task message...
Definition: surfaceMovementPSR.h:24
DtLocalVertexList myVertices
my copy of the current route
Definition: surfaceMovementPSR.h:437
Definition: surfaceMovementPSR.h:40
DtRwReal myStartTurnDistance2
The distance (squared) before the next point that the ship has to start heading for the following poi...
Definition: surfaceMovementPSR.h:452
virtual void setStartTurnDistance2(const DtReal distance)
Accessors for start-turn-distance squared (see description below).
Definition: surfaceMovementPSR.h:208
virtual double desiredTurnDiameter()
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:162
Definition: surfaceMovementPSR.h:59
File: lclVecIter.h.
Definition: localVectorIterator.h:25
virtual void setIsUsingConstantDiameter(const bool usingDiameter)
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:155
DtStopModeTypeEnum
Definition: surfaceMovementPSR.h:44
Definition: surfaceMovementPSR.h:26
DtRwReal myForwardSpeed
Used in the actuator DtSufaceEntitySimpleActuator.
Definition: surfaceMovementPSR.h:340
virtual DtReal startTurnDistance2()
Accessors for start-turn-distance squared (see description below).
Definition: surfaceMovementPSR.h:207
Definition: surfaceMovementPSR.h:27
Definition: readerWriterRegistry.h:39
Contains the DtUUID class declaration.
virtual void setIsAground(bool isAground)
Accessors for actuator status info.The accessor is a shortcut for looking up the fuel resource...
Definition: surfaceMovementPSR.h:130
DtRwReal myAltitudeChangeRate
For the subsurface depth actuator:
Definition: surfaceMovementPSR.h:346
DtRwBoolean myWaitUntilOrderedSpeedMetToStopTask
Whether or not to wait until the ordered speed has been met to stop the task. Default is true to allo...
Definition: surfaceMovementPSR.h:399
virtual double goalDepth()
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:139
virtual void setHasFuel(const bool hasFuel)
Accessors for actuator status info.The accessor is a shortcut for looking up the fuel resource...
Definition: surfaceMovementPSR.h:124
virtual double clampSpeed()
These accessors return the values that the actuator caches between ticks for kinematic values...
Definition: surfaceMovementPSR.h:99
virtual void setIsTurningRight(const bool isContinous)
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:159
Definition: surfaceMovementPSR.h:46
DtRwBoolean myHasFuel
Actuator status information.Set by the actuator when it checks fuel. When the actuator determines t...
Definition: surfaceMovementPSR.h:357
DtRwVector myFollowOffsetVector
Following offset vector (in body coordinates of entity to follow, in meters).
Definition: surfaceMovementPSR.h:480
virtual double forwardAcceleration()
These accessors return the values that the actuator caches between ticks for kinematic values...
Definition: surfaceMovementPSR.h:93
virtual double clampAltitude()
These accessors return the values that the actuator caches between ticks for kinematic values...
Definition: surfaceMovementPSR.h:112
virtual double forwardSpeed()
These accessors return the values that the actuator caches between ticks for kinematic values...
Definition: surfaceMovementPSR.h:90
DtRwSimObjectReference myFirstWaypoint
For patrol-between control.
Definition: surfaceMovementPSR.h:466
DtRwSimObjectReference myRoute
For move-along [route] control.
Definition: surfaceMovementPSR.h:432
Definition: rwVector.h:23
virtual void setDesiredDepthRate(const double rate)
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:144
DtRwInt myCurrentVertex
Read/write variables to capture route state. The route following controller may skip closely-spaced r...
Definition: surfaceMovementPSR.h:443
virtual void setClampSpeed(const double speed)
These accessors return the values that the actuator caches between ticks for kinematic values...
Definition: surfaceMovementPSR.h:100
Specialized reader/writer version of the shared object reference that will encapsulate the actual sha...
Definition: rwSimObjectReference.h:21
Definition: surfaceMovementPSR.h:47
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points. Coordinates are in local database coordinates The coordinat...
virtual void setClampHeading(const double clampHeading)
These accessors return the values that the actuator caches between ticks for kinematic values...
Definition: surfaceMovementPSR.h:103
Definition: surfaceMovementPSR.h:48
virtual void setAltitudeChangeRate(const double altitudeRate)
These accessors return the values that the actuator caches between ticks for kinematic values...
Definition: surfaceMovementPSR.h:107
DtRwReal myClampAltitude
Used in the actuator DtSufaceEntitySimpleActuator.
Definition: surfaceMovementPSR.h:347
Description: Readable, Writable int.
Definition: rwInt.h:25
DtRwBoolean myReverseFlag
For patrol-route control.
Definition: surfaceMovementPSR.h:459
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
DtRwBoolean myIsEmergencyStop
For stop task.
Definition: surfaceMovementPSR.h:489
DtRwBoolean myIsDriftStop
For stop task.
Definition: surfaceMovementPSR.h:490
DtRwSimObjectReference myControlObject
For move-to [waypoint] control.
Definition: surfaceMovementPSR.h:424
DtRwReal myMaxYawAcceleration
Max yaw rate acceleration– used only in DtSurfaceEntityActuator.
Definition: surfaceMovementPSR.h:505
virtual bool isTurnContinuous()
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:147
DtRwReal myDesiredTurnDiameter
For turn-move:
Definition: surfaceMovementPSR.h:387
Definition: surfaceMovementPSR.h:41
virtual bool isTurningRight()
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:158
DtRwReal myClampSpeed
Used in the actuator DtSufaceEntitySimpleActuator.
Definition: surfaceMovementPSR.h:342
DtRwReal myDesiredTurnRate
Positive if turning right, negative if left. Rad/sec.
Definition: surfaceMovementPSR.h:389
virtual void setIsTurnContinuous(const bool isContinous)
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:148
virtual double altitudeChangeRate()
These accessors return the values that the actuator caches between ticks for kinematic values...
Definition: surfaceMovementPSR.h:106
virtual void putSelf(std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
Top level call to write itself to file. If write unspecified is true, will write entries that are uns...
DtRwReal myDesiredDepthRate
The desired depth change rate. This is always positive.
Definition: surfaceMovementPSR.h:372
DtRwReal myClampHeading
Used in the actuator DtSufaceEntitySimpleActuator.
Definition: surfaceMovementPSR.h:343
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
DtRwBoolean myIsTurnContinuous
For turn-move:
Definition: surfaceMovementPSR.h:380
Definition: surfaceMovementPSR.h:28
virtual void setGoalDepth(const double depth)
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:140
DtLocalVectorIterator * myRouteState
Route state used to get info about the current route we're trying to follow (e.g. which vertex to mov...
Definition: surfaceMovementPSR.h:435
Class DtVrfProcessStateRepository: Abstract base class for all process state repositories. Process state repositories represent (potentially) shared, savable information for one or more components functioning together to achieve some process or set of processes; such as aiming and firing a weapon; moving an object; or just waiting a specified amount of time.
Definition: vrfProcessStateRepository.h:45
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
virtual int nextRoutePointIndex()
Accessors for next- and prev-route-point index.
Definition: surfaceMovementPSR.h:216
virtual bool isAground() const
Accessors for actuator status info.The accessor is a shortcut for looking up the fuel resource...
Definition: surfaceMovementPSR.h:129
virtual void setForwardAcceleration(const double acceleration)
These accessors return the values that the actuator caches between ticks for kinematic values...
Definition: surfaceMovementPSR.h:94
virtual bool isUsingConstantDiameter()
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:154
virtual int prevRoutePointIndex()
Accessors for next- and prev-route-point index.
Definition: surfaceMovementPSR.h:214
DtRwBoolean myTurnTaskControllingSpeed
True when the task is run; stays true until another movement task runs. While true, the task keeps controlling speed to match ordered speed, even if the task is complete.
Definition: surfaceMovementPSR.h:393
virtual void setClampAltitude(const double altitude)
These accessors return the values that the actuator caches between ticks for kinematic values...
Definition: surfaceMovementPSR.h:113
DtRwInt myPrevVertex
For move-along [route] control.
Definition: surfaceMovementPSR.h:445
virtual bool hasFuel() const
Accessors for actuator status info.The accessor is a shortcut for looking up the fuel resource...
Definition: surfaceMovementPSR.h:123
virtual double goalHeading()
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:151
Definition: surfaceMovementPSR.h:33
DtRwReal myMaxYawRate
Max yaw rate– used only in DtSurfaceEntityActuator.
Definition: surfaceMovementPSR.h:502
DtRwBoolean myIsUsingConstantDiameter
If turn rate is set with diameter, then each tick the radians/secc turn rate for the output port has ...
Definition: surfaceMovementPSR.h:384
virtual DtString type() const =0
Returns the string type of the repository, as defined in psrTypes.h.
DtRwBoolean myIsTurningRight
If turning on a diameter, this flag indicates which way:
Definition: surfaceMovementPSR.h:386
DtTurnRateTypeEnum
Definition: surfaceMovementPSR.h:31
virtual void setForwardSpeed(const double speed)
These accessors return the values that the actuator caches between ticks for kinematic values...
Definition: surfaceMovementPSR.h:91
DtRwReal myGoalHeading
For turn-move:
Definition: surfaceMovementPSR.h:381
voidpf uLong offset
Definition: ioapi.h:42
class DtLocalVertexList:
Definition: localVertexList.h:20
DtRwReal myKeepStationHeading
The heading of the station keeping entity , relative to the entity to follow (in radians).
Definition: surfaceMovementPSR.h:484
DtRwVector myGoalVector
The vector from the aiming point (goal) to the start point of the move. Used to determine when the en...
Definition: surfaceMovementPSR.h:413
DtTurnDirectionTypeEnum
Definition: surfaceMovementPSR.h:37
virtual double desiredDepthRate()
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:143
DtRwReal myStoppingSpeed
Other variables: not used in the above controllers or actuators. Copies of parameters in the actuator...
Definition: surfaceMovementPSR.h:499
DtRwSimObjectReference myEntityToFollow
For follow control tasks.
Definition: surfaceMovementPSR.h:477
DtRwBoolean myIsAground
Set by the actuator when it detects that the entity is aground.
Definition: surfaceMovementPSR.h:359
static const DtFilename & appPath()
Gets the current working directory. The first time this accessor is called, it determines the current...
Definition: surfaceMovementPSR.h:39
const DtVrfProcessStateRepository & operator=(const DtVrfProcessStateRepository &orig)
A locally simulated VRF object.
Definition: localObject.h:98
Definition: surfaceMovementPSR.h:34