VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/fixWingFlightPSR.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2010 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00008 
00009 #pragma once
00010 
00011 #include "vrfobjcore/processSR.h"
00012 #include "vrfutil/rwReal.h"
00013 #include "vrfutil/rwVector.h"
00014 #include "vrfutil/rwBoolean.h"
00015 #include "vrfutil/rwString.h"
00016 #include "vrfutil/lclVtxList.h"
00017 #include "vrfutil/rwInt.h"
00018 #include "vrfutil/lclVecIter.h"
00019 
00022 enum DtFixedWingMovementStatus
00023 {
00024    DtFWTaxiing = 0,  //default if none specified during construction
00025    DtFWFlying = 1,
00026    DtFWTakingOff = 2,
00027    DtFWLanding = 3
00028 };
00029 
00034 
00035 #include "vrfobjcore/vrfobjcoreDefines.h"
00036 class DT_DLL_vrfobjcore DtFixedWingFlightPSR : public DtVrfProcessStateRepository
00037 {
00038 public:
00039 
00041    DtFixedWingFlightPSR(DtVrfObject* vrfObject, 
00042       const DtString& rwName = DtString::nullString(), 
00043       DtReaderWriterRegistry*  parentRegistry = 0);
00044 
00046    DtFixedWingFlightPSR(const DtFixedWingFlightPSR& orig,
00047       const DtString& rwName = DtString::nullString(), 
00048       DtReaderWriterRegistry*  parentRegistry = 0);
00049 
00051    virtual ~DtFixedWingFlightPSR();
00052 
00054    DtFixedWingFlightPSR& operator=(const DtFixedWingFlightPSR& orig);
00055 
00057    virtual DtVrfProcessStateRepository* clone(
00058       const DtString& rwName = DtString::nullString(), 
00059       DtReaderWriterRegistry*  parentRegistry = 0) const;
00060 
00063    virtual DtString type() const;
00064 
00066    virtual void setMaxThrustAccleration(double acceleration);
00067    virtual double maxThrustAcceleration() const;
00068 
00069    virtual void setNormalizedBodyVelocity(const DtVector& velocity);
00070    virtual const DtVector& normalizedBodyVelocity() const;
00071 
00072    virtual void setLocalAngularVelocity(double velocity);
00073    virtual double localAngularVelocity() const;
00074 
00075    virtual void setSpeedRatioSquared(double value);
00076    virtual double speedRatioSquared() const;
00077 
00078    virtual void setFinishing(bool flag);
00079    virtual bool isFinishing() const;
00080 
00081    virtual void setApproachingVertex(bool flag);
00082    virtual bool isApproachingVertex() const;
00083 
00084    virtual void setBanking(bool flag);
00085    virtual bool isBanking() const;
00086 
00087    virtual void setLastDistanceSquared(double value);
00088    virtual double lastDistanceSquared() const;
00089 
00090    virtual void setDistanceSquared(double value);
00091    virtual double distanceSquared() const;
00092 
00093    virtual void setTakeOffDir(const DtVector& takeOffDir);
00094    virtual const DtVector& takeOffDir() const;
00095 
00096    virtual void setLandingDir(const DtVector& landingDir);
00097    virtual const DtVector& landingDir() const;
00098 
00100    virtual void setEntityToFollow(const DtString& objectName);
00101    virtual const DtString& entityToFollow() const;
00102 
00105    virtual void setFollowOffsetVector(const DtVector& offset);
00106    virtual const DtVector& followOffsetVector() const;
00107 
00110    virtual void setLoiterRadius(double radius);
00111    virtual double loiterRadius() const;
00112 
00115    virtual void setLoiterClockwise(bool flag);
00116    virtual bool loiterClockwise() const;
00117 
00119    virtual void setLoiterCenter(const DtVector& center);
00120    virtual const DtVector& loiterCenter() const;
00121 
00123    virtual void setControlPointName(const DtString& objectName);
00124    virtual const DtString& controlPointName() const;
00125 
00128    virtual void setMovementStatus(const DtFixedWingMovementStatus movementStatus);
00129    virtual const DtFixedWingMovementStatus movementStatus() const;
00130 
00131    virtual void setPreviousAltitude(const double speed);
00132    virtual const double previousAltitude() const;
00133 
00135    virtual void setFirstWaypointName(const DtString& objectName);
00136    virtual const DtString& firstWaypointName() const;
00137 
00139    virtual void setSecondWaypointName(const DtString& objectName);
00140    virtual const DtString& secondWaypointName() const;
00141 
00143    virtual void setReversePatrol(bool reverse);
00144    virtual bool reversePatrol() const;
00145 
00147    virtual void setRouteName(const DtString& objectName);
00148    virtual const DtString& routeName() const;
00149 
00151    virtual void setUseFixedPitch(bool);
00152    virtual bool useFixedPitch() const;
00153 
00156    virtual void setRouteVertices(const DtLocalVectorIterator& routeIterator);
00157    virtual const DtLocalVertexList& routeVertices() const;
00158 
00160    virtual void emptyRouteVertices();
00161 
00164    virtual DtLocalVectorIterator* routeState() const;
00165 
00167    virtual void putSelf(FILE *fp, int indentLevel = 0, bool writeUnspecified = false,
00168       const DtFilename& path = DtReaderWriter::appPath());
00169 
00171    virtual void resetRouteState();
00172 
00176    virtual void setWorldAimingPoint(const DtVector& pnt);
00177    virtual const DtVector& worldAimingPoint() const;
00178    
00180    virtual void setMovingToAltitude(bool movingToAlt);
00182    virtual bool movingToAltitude() const;
00183 
00185    virtual void setMoveToAltitudeValue(double altitude);
00187    virtual double moveToAltitudeValue() const;
00188 
00191 
00192    virtual void setWaitingToSetMovementStatus(bool);
00193    virtual bool waitingToSetMovementStatus() const;
00195 
00196 
00197 public:
00198 
00200    static DtVrfProcessStateRepository* creator (const DtString& rwName,
00201       DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
00202 
00203 protected:
00204 
00208 
00212    double                           myMaxThrustAcceleration;
00213 
00214    DtRwVector                         myNormalizedBodyVelocity;
00215    DtRwReal                           myLocalAngularVelocity;
00216    DtRwReal                           mySpeedRatioSquared;
00217 
00218    DtRwBoolean                        myFinishing;
00219 
00220    DtRwBoolean                        myApproachingVertex;
00221    DtRwBoolean                        myBanking;
00222    DtRwReal                           myLastDistanceSquared;
00223    DtRwReal                           myDistanceSquared;
00224 
00225    DtRwVector                         myTakeOffDir;
00226    DtRwVector                         myLandingDir;
00227 
00232    DtRwString                         myEntityToFollow;
00233    DtRwVector                         myOffsetVector;
00234 
00236    DtRwReal                           myRadius;
00237    DtRwBoolean                        myClockwise;
00239    DtRwVector                         myLoiterCircleCenter;
00240 
00246    DtRwString                         myControlObjectName;
00247    DtRwInt                            myMovementStatus;
00248 
00252    DtRwReal                           myPreviousAltitude;
00253 
00258    DtRwString                         myFirstWaypoint;
00259    DtRwString                         mySecondWaypoint;
00260    DtRwBoolean                        myReverseFlag;
00261 
00267    DtRwString                         myRouteName;
00270    DtLocalVectorIterator*             myRouteState;   
00272    DtLocalVertexList                  myVertices;
00274    DtRwInt                            myCurrentVertex;
00275 
00277    DtRwVector  myWorldAimingPoint;
00278 
00279    DtRwBoolean myMovingToAltitude;
00280    DtRwReal myMoveToAltitudeValue;
00281 
00282    DtRwBoolean myUseFixedPitch;
00283    
00284    DtRwBoolean myWaitingToSetMovementStatus;
00285 };
00286 

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)