VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rotaryWingFlightPSR.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
12 #include "vrfobjcore/simObject.h"
13 #include <readerWriter/rwString.h>
14 #include <readerWriter/rwBoolean.h>
15 #include "readerWriter/rwVector.h"
17 #include <readerWriter/rwInt.h>
18 #include <readerWriter/rwReal.h>
19 #include <vrfutil/rwUUID.h>
21 
26 
28 
31 {
32 public:
35  {
43  StateLanding
44  };
45 
48  const DtString& rwName = DtString::nullString(),
49  DtReaderWriterRegistry* parentRegistry = 0);
50 
53  const DtString& rwName = DtString::nullString(),
54  DtReaderWriterRegistry* parentRegistry = 0);
55 
57  virtual ~DtRotaryWingFlightPSR() override;
58 
61 
64  const DtString& rwName = DtString::nullString(), DtReaderWriterRegistry* parentRegistry = 0) const override;
65 
68  virtual DtString type() const override;
69 
73  virtual void setControlObject(const DtUUID&);
74 
76  virtual DtSimObjectReference controlObject() const;
77 
80  virtual void setRoute(const DtUUID&);
81 
83  virtual DtSimObjectReference route() const;
84 
88  virtual void setRouteVertices(const DtLocalVectorIterator& routeIterator,
89  bool useCurrentVertex = false);
90  virtual const DtLocalVertexList& routeVertices() const;
91 
93  virtual void emptyRouteVertices();
94 
97  virtual DtLocalVectorIterator* routeState() const;
98 
101  virtual void setWasMovingToward(bool flag);
102  virtual bool wasMovingToward() const;
103 
106  virtual void setStartingPoint(const DtVector& startingPoint);
107  virtual const DtVector& startingPoint() const;
108 
113  virtual void setFinalHeading(const double heading);
114  virtual double finalHeading() const;
115 
118  virtual void setDoContinueMoving(const bool go);
119  virtual bool doContinueMoving() const;
120 
122  virtual void setReverseFlag(bool flag);
123  virtual bool reverseFlag() const;
124 
126  virtual void setHeadingToTurnTo(double);
127  virtual double headingToTurnTo() const;
128 
132  virtual void setWorldAimingPoint(const DtVector& pnt);
133  virtual const DtVector& worldAimingPoint() const;
134 
136  virtual const DtVector& localAimingPoint() const;
137 
139  virtual void setFirstWaypoint(const DtUUID&);
140  virtual DtSimObjectReference firstWaypoint() const;
141 
143  virtual void setSecondWaypoint(const DtUUID&);
144  virtual DtSimObjectReference secondWaypoint() const;
145 
147  virtual void setEntityToFollow(const DtUUID&);
148  virtual DtSimObjectReference entityToFollow() const;
149 
152  virtual void setFollowOffset(const DtVector& offset);
153  virtual const DtVector& followOffset() const;
154 
156  virtual void setMovingToAltitude(bool movingToAlt);
158  virtual bool movingToAltitude() const;
159 
161  virtual void setMoveToAltitudeValue(double altitude);
163  virtual double moveToAltitudeValue() const;
164 
166  virtual void setOrbitRadius(const double r);
167  virtual double orbitRadius() const;
168 
171  virtual void setLandingState(DtRotaryWingLandingControllerState state);
172  virtual DtRotaryWingLandingControllerState landingState() const;
174 
176 
177  virtual bool isSpinningUp() const;
178  virtual void setIsSpinningUp(bool b);
180 
182 
183  virtual double spinupCompleteTime() const;
184  virtual void setSpinupCompleteTime(double t);
186 
188  virtual void putSelf(std::string& fp, int indentLevel = 0, bool writeUnspecified = false,
189  const DtFilename& path = DtReaderWriter::appPath()) override;
190 
191 protected:
192  virtual void postGetSelf() override;
193 
194 public:
195 
197  static DtVrfProcessStateRepository* creator (const DtString& rwName,
198  DtLocalObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
199 
200 protected:
201 
207 
221 
225 
228 
231 
235 
239 
246 
255 
259 
262 
264 
266 
272 };
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtRwReal myFinalHeading
The final heading at a destination point.
Definition: rotaryWingFlightPSR.h:230
DtRwReal myOrbitRadius
Definition: rotaryWingFlightPSR.h:263
DtRwBoolean myMovingToAltitude
Definition: rotaryWingFlightPSR.h:260
DtRwBoolean myDoContinueMoving
A flag to indicate if the entity should continue moving when it reaches its goal. ...
Definition: rotaryWingFlightPSR.h:234
virtual void postGetSelf()
Called after either version of getSelf (mtl or environment). Default is no-op.
File: lclVecIter.h.
Definition: localVectorIterator.h:25
DtRwBoolean myReverseFlag
Moved here from DtRotaryWingPatrolRouteController (rotWingPtrlRt.h).
Definition: rotaryWingFlightPSR.h:238
Definition: rotaryWingFlightPSR.h:30
DtRwInt myCurrentVertex
Read/write variables to capture route state.
Definition: rotaryWingFlightPSR.h:220
Definition: readerWriterRegistry.h:39
Contains the DtUUID class declaration.
DtRwInt myLandingState
Definition: rotaryWingFlightPSR.h:265
DtLocalVertexList myVertices
my copy of the current route
Definition: rotaryWingFlightPSR.h:218
DtRwReal mySpinupCompleteTime
If myIsSpinningUp is true, this is the simulation time at which spinup is complete.
Definition: rotaryWingFlightPSR.h:271
DtRwSimObjectReference mySecondWaypoint
Definition: rotaryWingFlightPSR.h:242
DtRwVector myFollowOffsetVector
Following offset vector (in body coordinates of the entity to follow, in meters). ...
Definition: rotaryWingFlightPSR.h:254
DtLocalVectorIterator * myRouteState
Route state used to get info about the current route we&#39;re trying to follow (e.g. which vertex to mov...
Definition: rotaryWingFlightPSR.h:216
Definition: rwVector.h:23
Specialized reader/writer version of the shared object reference that will encapsulate the actual sha...
Definition: rwSimObjectReference.h:21
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtRwSimObjectReference myFirstWaypoint
Moved here from DtRotaryWingPatrolBetweenController (rotWngPtlBtwn.h).
Definition: rotaryWingFlightPSR.h:241
DtRwBoolean myIsSpinningUp
True if the RW is currently in the processing of spinning up.
Definition: rotaryWingFlightPSR.h:269
DtRwSimObjectReference myControlObject
Moved here from DtRotaryWingMoveToControllerComponent (rotWngMvToCtl.h).
Definition: rotaryWingFlightPSR.h:206
Description: Readable, Writable int.
Definition: rwInt.h:25
Zeroing out pitch movement at the settling location.
Definition: rotaryWingFlightPSR.h:41
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
Moving to a point attached to a parent, or the end of a route, or a settling location above the landi...
Definition: rotaryWingFlightPSR.h:39
DtRotaryWingLandingControllerState
State for the DtRotaryWingLandingController.
Definition: rotaryWingFlightPSR.h:34
DtRwVector myWorldAimingPoint
World point for move to location tasks.
Definition: rotaryWingFlightPSR.h:257
DtRwReal myMoveToAltitudeValue
Definition: rotaryWingFlightPSR.h:261
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...
DtRwSimObjectReference myEntityToFollow
Set when a patrol between task is received. Reuse the myReverseFlag from DtRotaryWingPatrolRouteContr...
Definition: rotaryWingFlightPSR.h:251
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
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
DtRwBoolean myWasMovingToward
A flag indicating whether or not the last tick was moving toward the current waypoint.
Definition: rotaryWingFlightPSR.h:224
DtRwReal myHeadingToTurnTo
Definition: rotaryWingFlightPSR.h:267
DtVector myLocalAimingPoint
Definition: rotaryWingFlightPSR.h:258
virtual DtString type() const =0
Returns the string type of the repository, as defined in psrTypes.h.
Definition: rotaryWingFlightPSR.h:36
voidpf uLong offset
Definition: ioapi.h:42
class DtLocalVertexList:
Definition: localVertexList.h:20
DtRwVector myStartingPoint
A vector indicating the starting point of the current segment.
Definition: rotaryWingFlightPSR.h:227
File: rwVector.h.
static const DtFilename & appPath()
Gets the current working directory. The first time this accessor is called, it determines the current...
const DtVrfProcessStateRepository & operator=(const DtVrfProcessStateRepository &orig)
A locally simulated VRF object.
Definition: localObject.h:98
DtRwSimObjectReference myRoute
Moved here from DtRotaryWingMoveAlongControllerComponent (rotaryWingFlightPSR.h). ...
Definition: rotaryWingFlightPSR.h:213

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)