64 const DtString& rwName = DtString::nullString(),
69 const DtString& rwName = DtString::nullString(),
80 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&);
184 virtual void setRoute(
const DtUUID&);
199 virtual void emptyRouteVertices();
217 virtual void setPrevRoutPointIndex(
const int index);
219 virtual void setNextRoutePointIndex(
const int index);
220 virtual void setCurrentRoutePointIndex(
const int index);
225 virtual DtRwInt& currentVertex();
226 virtual const DtRwInt& currentVertex()
const;
229 virtual const DtRwInt& nextVertex()
const;
231 virtual DtRwInt& previousVertex();
232 virtual const DtRwInt& previousVertex()
const;
237 virtual void setReverseFlag(
bool flag);
238 virtual bool reverseFlag()
const;
241 virtual void setFirstWaypoint(
const DtUUID&);
246 virtual void setSecondWaypoint(
const DtUUID&);
251 virtual void setEntityToFollow(
const DtUUID&);
258 virtual const DtVector& followOffsetVector()
const;
261 virtual void setWaitUntilOrderedSpeedMetToStopTask(
bool);
262 virtual bool waitUntilOrderedSpeedMetToStopTask();
266 virtual void setGeodeticAimingPoint(
const DtVector& pnt);
267 virtual const DtVector geodeticAimingPoint()
const;
274 virtual void setGoalVector(
const DtVector &goalVector);
275 virtual const DtVector& goalVector()
const;
279 virtual void setContinueAtGoal(
const bool cont);
280 virtual bool continueAtGoal(
void)
const;
283 virtual void setIsEmergencyStop(
const bool isEmergency);
284 virtual bool isEmergencyStop(
void)
const;
286 virtual void setIsDriftStop(
const bool isDriftStop);
287 virtual bool isDriftStop(
void)
const;
290 virtual void putSelf(std::string& fp,
int indentLevel = 0,
297 virtual DtReal maxYawRate()
const;
298 virtual void setMaxYawRate (DtReal maxYawRate);
301 virtual DtReal maxYawAcceleration()
const;
302 virtual void setMaxYawAcceleration(DtReal maxYawAcceleration);
305 virtual double stoppingSpeed()
const;
306 virtual void setStoppingSpeed(DtReal stoppingSpeed);
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
virtual double desiredTurnRate()
Definition: surfaceMovementPSR.h:165
DtRwVector myGeodeticAimingPoint
For Surface Entity Move To Location controller.
Definition: surfaceMovementPSR.h:403
DtRwReal myGoalDepth
This is used by subsurface depth controller.
Definition: surfaceMovementPSR.h:364
DtRwBoolean myContinueAtGoal
Indicates that the entity should continue at speed after hitting the destination location.
Definition: surfaceMovementPSR.h:411
DtRwVrfObjectReference myEntityToFollow
For follow control.
Definition: surfaceMovementPSR.h:470
DtRwReal myForwardAcceleration
Definition: surfaceMovementPSR.h:336
virtual double clampHeading()
Definition: surfaceMovementPSR.h:102
DtRwInt myNextVertex
Definition: surfaceMovementPSR.h:439
DtTurnMoveTypeEnum
These enumerations must match the int values that come back from the GUI in the task message...
Definition: surfaceMovementPSR.h:23
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
DtLocalVertexList myVertices
my copy of the current route
Definition: surfaceMovementPSR.h:432
Definition: surfaceMovementPSR.h:39
DtRwReal myStartTurnDistance2
The distance (squared) before the next point that the ship has to start heading for the following poi...
Definition: surfaceMovementPSR.h:447
virtual void setStartTurnDistance2(const DtReal distance)
Definition: surfaceMovementPSR.h:210
virtual double desiredTurnDiameter()
Definition: surfaceMovementPSR.h:162
Definition: surfaceMovementPSR.h:58
File: lclVecIter.h.
Definition: localVectorIterator.h:25
virtual void setIsUsingConstantDiameter(const bool usingDiameter)
Definition: surfaceMovementPSR.h:155
DtStopModeTypeEnum
Definition: surfaceMovementPSR.h:43
Definition: surfaceMovementPSR.h:25
DtRwReal myForwardSpeed
Used in the actuator DtSufaceEntitySimpleActuator.
Definition: surfaceMovementPSR.h:335
virtual DtReal startTurnDistance2()
Accessors for start-turn-distance squared (see description below).
Definition: surfaceMovementPSR.h:209
Definition: surfaceMovementPSR.h:26
Definition: readerWriterRegistry.h:39
virtual void setIsAground(bool isAground)
Definition: surfaceMovementPSR.h:130
DtRwReal myAltitudeChangeRate
For the subsurface depth actuator:
Definition: surfaceMovementPSR.h:341
DtRwBoolean myWaitUntilOrderedSpeedMetToStopTask
Whether or not to wait until the ordered speed has been met to stop the task.
Definition: surfaceMovementPSR.h:394
DtRwVrfObjectReference myFirstWaypoint
For patrol-between control.
Definition: surfaceMovementPSR.h:461
virtual double goalDepth()
Access functions for state variables describing the various movement tasks.
Definition: surfaceMovementPSR.h:139
virtual void setHasFuel(const bool hasFuel)
Definition: surfaceMovementPSR.h:124
virtual double clampSpeed()
Definition: surfaceMovementPSR.h:99
virtual void setIsTurningRight(const bool isContinous)
Definition: surfaceMovementPSR.h:159
Definition: surfaceMovementPSR.h:45
DtRwBoolean myHasFuel
Actuator status information.
Definition: surfaceMovementPSR.h:352
DtRwVector myFollowOffsetVector
Following offset vector (in body coordinates of entity to follow, in meters).
Definition: surfaceMovementPSR.h:473
virtual double forwardAcceleration()
Definition: surfaceMovementPSR.h:93
virtual double clampAltitude()
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
Definition: rwVector.h:23
virtual void setDesiredDepthRate(const double rate)
Definition: surfaceMovementPSR.h:144
DtRwInt myCurrentVertex
Read/write variables to capture route state.
Definition: surfaceMovementPSR.h:438
virtual void setClampSpeed(const double speed)
Definition: surfaceMovementPSR.h:100
Definition: surfaceMovementPSR.h:46
#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.
virtual void setClampHeading(const double clampHeading)
Definition: surfaceMovementPSR.h:103
DtRwVrfObjectReference myControlObject
For move-to [waypoint] control.
Definition: surfaceMovementPSR.h:419
Definition: surfaceMovementPSR.h:47
virtual void setAltitudeChangeRate(const double altitudeRate)
Definition: surfaceMovementPSR.h:107
DtRwReal myClampAltitude
Definition: surfaceMovementPSR.h:342
Description: Readable, Writable int.
Definition: rwInt.h:25
DtRwBoolean myReverseFlag
For patrol-route control.
Definition: surfaceMovementPSR.h:454
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
DtRwBoolean myIsEmergencyStop
For stop task.
Definition: surfaceMovementPSR.h:478
DtRwBoolean myIsDriftStop
Definition: surfaceMovementPSR.h:479
DtRwReal myMaxYawAcceleration
Max yaw rate acceleration– used only in DtSurfaceEntityActuator.
Definition: surfaceMovementPSR.h:494
virtual bool isTurnContinuous()
Definition: surfaceMovementPSR.h:147
DtRwReal myDesiredTurnDiameter
Definition: surfaceMovementPSR.h:382
Definition: surfaceMovementPSR.h:40
virtual bool isTurningRight()
Definition: surfaceMovementPSR.h:158
DtRwReal myClampSpeed
Definition: surfaceMovementPSR.h:337
DtRwReal myDesiredTurnRate
Positive if turning right, negative if left. Rad/sec.
Definition: surfaceMovementPSR.h:384
virtual void setIsTurnContinuous(const bool isContinous)
Definition: surfaceMovementPSR.h:148
virtual double altitudeChangeRate()
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.
DtRwReal myDesiredDepthRate
The desired depth change rate. This is always positive.
Definition: surfaceMovementPSR.h:367
DtRwReal myClampHeading
Definition: surfaceMovementPSR.h:338
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
DtRwBoolean myIsTurnContinuous
For turn-move:
Definition: surfaceMovementPSR.h:375
Class used as the reader/writer implementation of the DtVrfObjectReference.
Definition: vrfObjectReference.h:204
Definition: surfaceMovementPSR.h:27
virtual void setGoalDepth(const double depth)
Definition: surfaceMovementPSR.h:140
DtLocalVectorIterator * myRouteState
Route state used to get info about the current route we're trying to follow (e.g. ...
Definition: surfaceMovementPSR.h:430
Class DtVrfProcessStateRepository: Abstract base class for all process state repositories.
Definition: vrfProcessStateRepository.h:43
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
virtual int nextRoutePointIndex()
Definition: surfaceMovementPSR.h:218
DtRwVrfObjectReference myRoute
For move-along [route] control.
Definition: surfaceMovementPSR.h:427
virtual bool isAground() const
Definition: surfaceMovementPSR.h:129
virtual void setForwardAcceleration(const double acceleration)
Definition: surfaceMovementPSR.h:94
virtual bool isUsingConstantDiameter()
Definition: surfaceMovementPSR.h:154
virtual int prevRoutePointIndex()
Accessors for next- and prev-route-point index.
Definition: surfaceMovementPSR.h:216
DtRwBoolean myTurnTaskControllingSpeed
True when the task is run; stays true until another movement task runs.
Definition: surfaceMovementPSR.h:388
virtual void setClampAltitude(const double altitude)
Definition: surfaceMovementPSR.h:113
DtRwInt myPrevVertex
Definition: surfaceMovementPSR.h:440
virtual bool hasFuel() const
Accessors for actuator status info.
Definition: surfaceMovementPSR.h:123
virtual double goalHeading()
Definition: surfaceMovementPSR.h:151
Definition: surfaceMovementPSR.h:32
DtRwReal myMaxYawRate
Max yaw rate– used only in DtSurfaceEntityActuator.
Definition: surfaceMovementPSR.h:491
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:379
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:381
DtTurnRateTypeEnum
Definition: surfaceMovementPSR.h:30
virtual void setForwardSpeed(const double speed)
Definition: surfaceMovementPSR.h:91
DtRwReal myGoalHeading
Definition: surfaceMovementPSR.h:376
voidpf uLong offset
Definition: ioapi.h:42
class DtLocalVertexList:
Definition: localVertexList.h:20
DtRwVector myGoalVector
The vector from the aiming point (goal) to the start point of the move.
Definition: surfaceMovementPSR.h:408
DtTurnDirectionTypeEnum
Definition: surfaceMovementPSR.h:36
virtual double desiredDepthRate()
Definition: surfaceMovementPSR.h:143
DtRwReal myStoppingSpeed
Other variables: not used in the above controllers or actuators.
Definition: surfaceMovementPSR.h:488
DtRwBoolean myIsAground
Set by the actuator when it detects that the entity is aground.
Definition: surfaceMovementPSR.h:354
static const DtFilename & appPath()
Gets the current working directory.
Definition: surfaceMovementPSR.h:38
const DtVrfProcessStateRepository & operator=(const DtVrfProcessStateRepository &orig)
DtRwVrfObjectReference mySecondWaypoint
Definition: surfaceMovementPSR.h:462
Definition: surfaceMovementPSR.h:33