VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/rotaryWingFlightPSR.h
Go to the documentation of this file.
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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)