65 const DtString& rwName = DtString::nullString(),
70 const DtString& rwName = DtString::nullString(),
81 const DtString& rwName = DtString::nullString(),
97 myForwardAcceleration = acceleration;
105 {myClampHeading = clampHeading;}
110 myAltitudeChangeRate = altitudeRate;
116 myClampAltitude = altitude;
124 virtual bool hasFuel()
const {
return myHasFuel;}
133 myIsAground = isAground;
142 {myGoalDepth = depth;}
146 {myDesiredDepthRate = rate;}
150 { myIsTurnContinuous = isContinous;}
153 virtual void setGoalHeading(
const double goalHeading);
157 { myIsUsingConstantDiameter = usingDiameter;}
161 { myIsTurningRight = isContinous;}
164 virtual void setDesiredTurnDiameter(
const double desiredTurnDiameter);
167 virtual void setDesiredTurnRate(
const double desiredTurnRate);
169 virtual bool turnTaskIsControllingSpeed()
const;
170 virtual void setTurnTaskIsControllingSpeed(
const bool isControlling);
175 virtual void setControlObject(
const DtUUID&);
184 virtual void setRoute(
const DtUUID&);
198 virtual void emptyRouteVertices();
216 virtual void setPrevRoutPointIndex(
const int index);
218 virtual void setNextRoutePointIndex(
const int index);
219 virtual void setCurrentRoutePointIndex(
const int index);
224 virtual DtRwInt& currentVertex();
225 virtual const DtRwInt& currentVertex()
const;
228 virtual const DtRwInt& nextVertex()
const;
230 virtual DtRwInt& previousVertex();
231 virtual const DtRwInt& previousVertex()
const;
236 virtual void setReverseFlag(
bool flag);
237 virtual bool reverseFlag()
const;
240 virtual void setFirstWaypoint(
const DtUUID&);
244 virtual void setSecondWaypoint(
const DtUUID&);
248 virtual void setEntityToFollow(
const DtUUID&);
254 virtual const DtVector& followOffsetVector()
const;
258 virtual void setKeepStationOffsetDistance(DtReal keepStationOffsetDistance);
259 virtual DtReal keepStationOffsetDistance()
const;
263 virtual void setKeepStationHeading(DtReal keepStationHeading);
264 virtual DtReal keepStationHeading()
const;
267 virtual void setWaitUntilOrderedSpeedMetToStopTask(
bool);
268 virtual bool waitUntilOrderedSpeedMetToStopTask();
272 virtual void setGeodeticAimingPoint(
const DtVector& pnt);
273 virtual const DtVector geodeticAimingPoint()
const;
280 virtual void setGoalVector(
const DtVector &goalVector);
281 virtual const DtVector& goalVector()
const;
285 virtual void setContinueAtGoal(
const bool cont);
286 virtual bool continueAtGoal(
void)
const;
289 virtual void setIsEmergencyStop(
const bool isEmergency);
290 virtual bool isEmergencyStop(
void)
const;
292 virtual void setIsDriftStop(
const bool isDriftStop);
293 virtual bool isDriftStop(
void)
const;
296 virtual void putSelf(std::string& fp,
int indentLevel = 0,
303 virtual DtReal maxYawRate()
const;
304 virtual void setMaxYawRate (DtReal maxYawRate);
307 virtual DtReal maxYawAcceleration()
const;
308 virtual void setMaxYawAcceleration(DtReal maxYawAcceleration);
311 virtual double stoppingSpeed()
const;
312 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:166
DtRwVector myGeodeticAimingPoint
For Surface Entity Move To Location controller.
Definition: surfaceMovementPSR.h:409
DtRwReal myGoalDepth
This is used by subsurface depth controller.
Definition: surfaceMovementPSR.h:370
DtRwBoolean myContinueAtGoal
Indicates that the entity should continue at speed after hitting the destination location. Used in move-to as well.
Definition: surfaceMovementPSR.h:417
DtRwReal myKeepStationOffsetDistance
The distance of the station keeping entity , relative to the entity to follow (in meters)...
Definition: surfaceMovementPSR.h:483
DtRwSimObjectReference mySecondWaypoint
For patrol-between control.
Definition: surfaceMovementPSR.h:468
DtRwReal myForwardAcceleration
Used in the actuator DtSufaceEntitySimpleActuator.
Definition: surfaceMovementPSR.h:342
virtual double clampHeading()
These accessors return the values that the actuator caches between ticks for kinematic values...
Definition: surfaceMovementPSR.h:103
DtRwInt myNextVertex
For move-along [route] control.
Definition: surfaceMovementPSR.h:445
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:438
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:453
virtual void setStartTurnDistance2(const DtReal distance)
Accessors for start-turn-distance squared (see description below).
Definition: surfaceMovementPSR.h:209
virtual double desiredTurnDiameter()
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:163
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:156
DtStopModeTypeEnum
Definition: surfaceMovementPSR.h:44
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
Definition: surfaceMovementPSR.h:26
DtRwReal myForwardSpeed
Used in the actuator DtSufaceEntitySimpleActuator.
Definition: surfaceMovementPSR.h:341
virtual DtReal startTurnDistance2()
Accessors for start-turn-distance squared (see description below).
Definition: surfaceMovementPSR.h:208
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:131
DtRwReal myAltitudeChangeRate
For the subsurface depth actuator:
Definition: surfaceMovementPSR.h:347
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:400
virtual double goalDepth()
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:140
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:125
virtual double clampSpeed()
These accessors return the values that the actuator caches between ticks for kinematic values...
Definition: surfaceMovementPSR.h:100
virtual void setIsTurningRight(const bool isContinous)
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:160
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:358
DtRwVector myFollowOffsetVector
Following offset vector (in body coordinates of entity to follow, in meters).
Definition: surfaceMovementPSR.h:481
virtual double forwardAcceleration()
These accessors return the values that the actuator caches between ticks for kinematic values...
Definition: surfaceMovementPSR.h:94
virtual double clampAltitude()
These accessors return the values that the actuator caches between ticks for kinematic values...
Definition: surfaceMovementPSR.h:113
virtual double forwardSpeed()
These accessors return the values that the actuator caches between ticks for kinematic values...
Definition: surfaceMovementPSR.h:91
DtRwSimObjectReference myFirstWaypoint
For patrol-between control.
Definition: surfaceMovementPSR.h:467
DtRwSimObjectReference myRoute
For move-along [route] control.
Definition: surfaceMovementPSR.h:433
Definition: rwVector.h:23
virtual void setDesiredDepthRate(const double rate)
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:145
DtRwInt myCurrentVertex
Read/write variables to capture route state. The route following controller may skip closely-spaced r...
Definition: surfaceMovementPSR.h:444
virtual void setClampSpeed(const double speed)
These accessors return the values that the actuator caches between ticks for kinematic values...
Definition: surfaceMovementPSR.h:101
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:104
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:108
DtRwReal myClampAltitude
Used in the actuator DtSufaceEntitySimpleActuator.
Definition: surfaceMovementPSR.h:348
Description: Readable, Writable int.
Definition: rwInt.h:25
DtRwBoolean myReverseFlag
For patrol-route control.
Definition: surfaceMovementPSR.h:460
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
DtRwBoolean myIsEmergencyStop
For stop task.
Definition: surfaceMovementPSR.h:490
DtRwBoolean myIsDriftStop
For stop task.
Definition: surfaceMovementPSR.h:491
DtRwSimObjectReference myControlObject
For move-to [waypoint] control.
Definition: surfaceMovementPSR.h:425
DtRwReal myMaxYawAcceleration
Max yaw rate acceleration– used only in DtSurfaceEntityActuator.
Definition: surfaceMovementPSR.h:506
virtual bool isTurnContinuous()
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:148
DtRwReal myDesiredTurnDiameter
For turn-move:
Definition: surfaceMovementPSR.h:388
Definition: surfaceMovementPSR.h:41
virtual bool isTurningRight()
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:159
DtRwReal myClampSpeed
Used in the actuator DtSufaceEntitySimpleActuator.
Definition: surfaceMovementPSR.h:343
DtRwReal myDesiredTurnRate
Positive if turning right, negative if left. Rad/sec.
Definition: surfaceMovementPSR.h:390
virtual void setIsTurnContinuous(const bool isContinous)
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:149
virtual double altitudeChangeRate()
These accessors return the values that the actuator caches between ticks for kinematic values...
Definition: surfaceMovementPSR.h:107
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:373
DtRwReal myClampHeading
Used in the actuator DtSufaceEntitySimpleActuator.
Definition: surfaceMovementPSR.h:344
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
DtRwBoolean myIsTurnContinuous
For turn-move:
Definition: surfaceMovementPSR.h:381
Definition: surfaceMovementPSR.h:28
virtual void setGoalDepth(const double depth)
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:141
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:436
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:217
virtual bool isAground() const
Accessors for actuator status info.The accessor is a shortcut for looking up the fuel resource...
Definition: surfaceMovementPSR.h:130
virtual void setForwardAcceleration(const double acceleration)
These accessors return the values that the actuator caches between ticks for kinematic values...
Definition: surfaceMovementPSR.h:95
virtual bool isUsingConstantDiameter()
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:155
virtual int prevRoutePointIndex()
Accessors for next- and prev-route-point index.
Definition: surfaceMovementPSR.h:215
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:394
virtual void setClampAltitude(const double altitude)
These accessors return the values that the actuator caches between ticks for kinematic values...
Definition: surfaceMovementPSR.h:114
DtRwInt myPrevVertex
For move-along [route] control.
Definition: surfaceMovementPSR.h:446
virtual bool hasFuel() const
Accessors for actuator status info.The accessor is a shortcut for looking up the fuel resource...
Definition: surfaceMovementPSR.h:124
virtual double goalHeading()
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:152
Definition: surfaceMovementPSR.h:33
DtRwReal myMaxYawRate
Max yaw rate– used only in DtSurfaceEntityActuator.
Definition: surfaceMovementPSR.h:503
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:385
virtual DtString type() const =0
Returns the string type of the repository, as defined in procSRTypes.h.
DtRwBoolean myIsTurningRight
If turning on a diameter, this flag indicates which way:
Definition: surfaceMovementPSR.h:387
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:92
DtRwReal myGoalHeading
For turn-move:
Definition: surfaceMovementPSR.h:382
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:485
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:414
DtTurnDirectionTypeEnum
Definition: surfaceMovementPSR.h:37
virtual double desiredDepthRate()
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:144
DtRwReal myStoppingSpeed
Other variables: not used in the above controllers or actuators. Copies of parameters in the actuator...
Definition: surfaceMovementPSR.h:500
DtRwSimObjectReference myEntityToFollow
For follow control tasks.
Definition: surfaceMovementPSR.h:478
DtRwBoolean myIsAground
Set by the actuator when it detects that the entity is aground.
Definition: surfaceMovementPSR.h:360
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. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86
Definition: surfaceMovementPSR.h:34