VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/fixWingSR.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1999 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00006 #pragma once
00007 
00011 
00015 
00016 #include <vlutil/vlMachineTypes.h>
00017 #include "vrfobjcore/groundInter.h"
00018 #include "vrfobjcore/vrfMvObjSR.h"
00019 #include "vrfutil/rwReal.h"
00020 
00021 class DtFixedWingEntityParameters;
00022 class DtVector;
00023 
00024 enum DtFixedWingCurrentState
00025 {
00026    DtFWOnGround = 0,
00027    DtFWInAir = 1
00028 };
00029 
00036 #include "vrfobjcore/vrfobjcoreDefines.h"
00037 class DT_DLL_vrfobjcore DtFixedWingEntityStateRepository : public DtVrfMovingObjectStateRepository
00038 {
00039 
00040 protected:
00042    DtFixedWingEntityStateRepository();
00043 
00044 public:
00045 
00047    DtFixedWingEntityStateRepository (DtVrfObject* vrfObject,
00048                                      const DtObjectType& objectType,
00049                                      DtVrfObjectParameters* parameters,
00050                                      const DtString& name,
00051                                      DtReaderWriterRegistry* parentRegistry = 0);
00052 
00054    DtFixedWingEntityStateRepository (const DtFixedWingEntityStateRepository & orig,
00055                                      const DtString& rwName = DtString::nullString(),
00056                                      DtReaderWriterRegistry* parentRegistry = 0);
00057 
00059    const DtFixedWingEntityStateRepository & operator=
00060       (const DtFixedWingEntityStateRepository & orig);
00061 
00063    virtual ~DtFixedWingEntityStateRepository();
00064 
00065    virtual bool init();
00066 
00068    virtual DtString type() const;
00069 
00071    virtual const int vrfMovingObjectStateRepositorySubType() const;
00072 
00074    virtual const int fixedWingEntityStateRepositorySubType() const;
00075 
00076    virtual bool createParameters();
00077    virtual void initializeFromParameters();
00078    virtual const DtFixedWingEntityParameters* fixedWingEntityParameters() const;
00079 
00081    virtual DtReal AOA() const;
00082    virtual void setAOA (DtReal aoa);
00083 
00086    virtual DtReal minLiftSpeed() const;
00087    virtual void setMinLiftSpeed (DtReal minLiftSpeed);
00088 
00090    virtual DtReal maxAltitude() const;
00091    virtual void setMaxAltitude (DtReal maxAltitude);
00092 
00095    virtual DtReal maxYawRate() const;
00096    virtual void setMaxYawRate (DtReal maxYawRate);
00097 
00100    virtual DtReal maxPitchRate() const;
00101    virtual void setMaxPitchRate (DtReal maxPitchRate);
00102 
00105    virtual DtReal maxRollRate() const;
00106    virtual void setMaxRollRate (DtReal maxRollRate);
00107 
00109    virtual DtReal maxClimbRate() const;
00110    virtual void setMaxClimbRate (DtReal maxClimbRate);
00111 
00114    virtual DtReal orderedAltitude() const;
00115    virtual void setOrderedAltitude(DtReal orderedAltitude);
00116 
00117    virtual DtReal orderedGroundSpeed() const;
00118    virtual void setOrderedGroundSpeed (DtReal orderedGroundSpeed);
00119 
00120    virtual DtReal maxGroundSpeed() const;
00121    virtual void setMaxGroundSpeed (DtReal maxGroundSpeed);
00122 
00123    virtual DtReal maxGroundStoppingDeceleration() const;
00124    virtual void setMaxGroundStoppingDeceleration (DtReal maxGroundStoppingDeceleration);
00125 
00126    virtual DtReal groundTurningRadius() const;
00127    virtual void setGroundTurningRadius (DtReal groundTurningRadius);
00128 
00129    virtual DtReal maxGroundSlope() const;
00130    virtual void setMaxGroundSlope (DtReal maxGroundSlope);
00131 
00135    virtual bool onGround() const;
00136 
00140    virtual void setOnGround(bool onGround);
00141 
00145    virtual void setCurrentOrderedSpeed(const double currentOrderedSpeed);
00146    virtual const double currentOrderedSpeed() const;
00147 
00148    virtual void setCurrentMaxSpeed(const double currentMaxSpeed);
00149    virtual const double currentMaxSpeed() const;
00150 
00151    virtual void setCurrentMaxStoppingDeceleration(const double currentMaxStoppingDeceleration);
00152    virtual const double currentMaxStoppingDeceleration() const;
00153 
00154    virtual void setCurrentTurningRadius(const double currentTurningRadius);
00155    virtual const double currentTurningRadius() const;
00156 
00157    virtual void setCurrentMaxSlope(const double currentMaxSlope);
00158    virtual const double currentMaxSlope() const;
00159 
00160    virtual void setOnGroundTolerance(double);
00161    virtual double onGroundTolerance() const;
00162 
00187    virtual void place (const DtVector& location, const DtReal heading, 
00188       bool clampToGroundFlag = true, bool* dataAvailable = 0, 
00189       bool requireAllData = false);
00190 
00191    virtual void placeAtAltitude (const DtVector& location, const DtReal heading);
00192 
00195    virtual void updateCurrentStateVars();
00196 
00200    virtual const DtGroundInteractionPt* noseSupport() const;
00201    virtual DtGroundInteractionPt* noseSupport();
00202    virtual void setNoseSupport(const DtVector& noseSupport);
00203 
00204    static DtVrfObjectStateRepository* creator (const DtString& name,
00205       DtVrfObject* vrfObject, const DtObjectType& objectType,
00206       DtVrfObjectParameters* parameters, 
00207       DtReaderWriterRegistry* parentRegistry);
00208 
00211    static DtFixedWingEntityStateRepository* isFixedWingEntityStateRepository(
00212       DtSimObjectStateRepository* repository);
00213 
00214    static const DtFixedWingEntityStateRepository* isFixedWingEntityStateRepository(
00215       const DtSimObjectStateRepository* repository);
00216 
00218    virtual void restoreEntity();
00219 
00222    virtual void updateAppearanceFromState();
00223 
00224 protected:
00225    DtRwReal     myAOA;
00226    DtRwReal     myMinLiftSpeed;
00227    DtRwReal     myMaxAltitude;
00228    DtRwReal     myOrderedAltitude;
00229    DtRwReal     myMaxClimbRate;
00230    DtRwReal     myMaxYawRate;
00231    DtRwReal     myMaxPitchRate;
00232    DtRwReal     myMaxRollRate;
00233    
00234    DtRwReal     myOrderedGroundSpeed;
00235    DtRwReal     myMaxGroundSpeed;
00236    DtRwReal     myMaxGroundStoppingDeceleration;
00237    DtRwReal     myGroundTurningRadius;
00238    DtRwReal     myMaxGroundSlope;
00239 
00240    DtRwBoolean  myOnGround;
00244    DtRwReal     myCurrentOrderedSpeed;
00245    DtRwReal     myCurrentMaxSpeed;
00246    DtRwReal     myCurrentMaxStoppingDeceleration;
00247    DtRwReal     myCurrentTurningRadius;
00248    DtRwReal     myCurrentMaxSlope;
00249 
00252    DtRwReal     myOnGroundTolerance;
00253 };

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)