![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2003 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: rotaryWingFlightPSR.h,v $ $Revision: 1.12 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #ifndef DtRotaryWingFlightPSR_H_ 00013 #define DtRotaryWingFlightPSR_H_ 00014 00015 #include "vrfobjcore/processSR.h" 00016 #include "vrfutil/rwString.h" 00017 #include "vrfutil/rwBoolean.h" 00018 #include "vrfutil/rwVector.h" 00019 #include "vrfutil/lclVtxList.h" 00020 #include "vrfutil/rwInt.h" 00021 #include "vrfutil/rwReal.h" 00022 00027 00028 class DtLocalVectorIterator; 00029 00030 #include "vrfobjcore/vrfobjcoreDefines.h" 00031 class DT_DLL_vrfobjcore DtRotaryWingFlightPSR : public DtVrfProcessStateRepository 00032 { 00033 public: 00035 enum DtRotaryWingLandingControllerState 00036 { 00037 StateStartingLandingTask, 00038 StateMovingToLandingLocation, 00039 StateLanding 00040 }; 00041 00043 DtRotaryWingFlightPSR(DtVrfObject* vrfObject, 00044 const DtString& rwName = DtString::nullString(), 00045 DtReaderWriterRegistry* parentRegistry = 0); 00046 00048 DtRotaryWingFlightPSR(const DtRotaryWingFlightPSR& orig, 00049 const DtString& rwName = DtString::nullString(), 00050 DtReaderWriterRegistry* parentRegistry = 0); 00051 00053 virtual ~DtRotaryWingFlightPSR(); 00054 00056 DtRotaryWingFlightPSR& operator=(const DtRotaryWingFlightPSR& orig); 00057 00059 virtual DtVrfProcessStateRepository* clone( 00060 const DtString& rwName = DtString::nullString(), 00061 DtReaderWriterRegistry* parentRegistry = 0) const; 00062 00065 virtual DtString type() const; 00066 00068 virtual void setControlObjectName(const DtString& objectName); 00069 virtual const DtString& controlObjectName() const; 00070 00072 virtual void setRouteName(const DtString& routeName); 00073 virtual const DtString& routeName() const; 00074 00077 virtual void setRouteVertices(const DtLocalVectorIterator& routeIterator); 00078 virtual const DtLocalVertexList& routeVertices() const; 00079 00081 virtual void emptyRouteVertices(); 00082 00085 virtual DtLocalVectorIterator* routeState() const; 00086 00089 virtual void setWasMovingToward(bool flag); 00090 virtual bool wasMovingToward() const; 00091 00094 virtual void setStartingPoint(const DtVector& startingPoint); 00095 virtual const DtVector& startingPoint() const; 00096 00098 virtual void setReverseFlag(bool flag); 00099 virtual bool reverseFlag() const; 00100 00104 virtual void setWorldAimingPoint(const DtVector& pnt); 00105 virtual const DtVector& worldAimingPoint() const; 00106 00108 virtual void setFirstWaypoint(const DtString& objectName); 00109 virtual const DtString& firstWaypoint() const; 00110 00112 virtual void setSecondWaypoint(const DtString& objectName); 00113 virtual const DtString& secondWaypoint() const; 00114 00116 virtual void setEntityToFollow(const DtString& objectName); 00117 virtual const DtString& entityToFollow() const; 00118 00121 virtual void setFollowOffset(const DtVector& offset); 00122 virtual const DtVector& followOffset() const; 00123 00125 virtual void setMovingToAltitude(bool movingToAlt); 00127 virtual bool movingToAltitude() const; 00128 00130 virtual void setMoveToAltitudeValue(double altitude); 00132 virtual double moveToAltitudeValue() const; 00133 00136 virtual void setLandingState(DtRotaryWingLandingControllerState state); 00137 virtual DtRotaryWingLandingControllerState landingState() const; 00139 00141 virtual void putSelf(FILE *fp, int indentLevel = 0, 00142 bool writeUnspecified = false, const DtFilename& path = DtReaderWriter::appPath()); 00143 00144 public: 00145 00147 static DtVrfProcessStateRepository* creator (const DtString& rwName, 00148 DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry); 00149 00150 protected: 00151 00157 DtRwString myControlObjectName; 00158 00165 DtRwString myRouteName; 00168 DtLocalVectorIterator* myRouteState; 00170 DtLocalVertexList myVertices; 00172 DtRwInt myCurrentVertex; 00173 00176 DtRwBoolean myWasMovingToward; 00177 00179 DtRwVector myStartingPoint; 00180 00183 DtRwBoolean myReverseFlag; 00184 00186 DtRwString myFirstWaypoint; 00187 DtRwString mySecondWaypoint; 00191 00196 DtRwString myEntityToFollow; 00199 DtRwVector myFollowOffsetVector; 00200 00202 DtRwVector myWorldAimingPoint; 00203 00204 DtRwBoolean myMovingToAltitude; 00205 DtRwReal myMoveToAltitudeValue; 00206 00207 DtRwInt myLandingState; 00208 }; 00209 00210 #endif