VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/missileFlightPSR.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2003 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: missileFlightPSR.h,v $ $Revision: 1.4 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef DtMissileFlightPSR_H_
00013 #define DtMissileFlightPSR_H_
00014 
00015 #include "vrfobjcore/processSR.h"
00016 #include <vlutil/vlTime.h>
00017 #include "vrfutil/rwBoolean.h"
00018 #include "vrfutil/rwReal.h"
00019 #include "vrfutil/rwVector.h"
00020 #include "vrfutil/rwString.h"
00021 #include "vrfutil/rwInt.h"
00022 
00023 
00024 enum DtMissileLaunchPhaseEnum
00025 {
00026    DtSimpleTargetAcquisition = 1,
00027    DtProportionalNavigation = 2
00028 };
00029 
00030 typedef DtMissileLaunchPhaseEnum DtMissileLaunchPhase;
00031 
00038 
00039 #include "vrfobjcore/vrfobjcoreDefines.h"
00040 class DT_DLL_vrfobjcore DtMissileFlightPSR : public DtVrfProcessStateRepository
00041 {
00042 public:
00043 
00045    DtMissileFlightPSR(DtVrfObject* vrfObject, 
00046       const DtString& rwName = DtString::nullString(), 
00047       DtReaderWriterRegistry*  parentRegistry = 0);
00048 
00050    DtMissileFlightPSR(const DtMissileFlightPSR& orig,
00051       const DtString& rwName = DtString::nullString(), 
00052       DtReaderWriterRegistry*  parentRegistry = 0);
00053 
00055    virtual ~DtMissileFlightPSR();
00056 
00058    DtMissileFlightPSR& operator=(const DtMissileFlightPSR& orig);
00059 
00061    virtual DtVrfProcessStateRepository* clone(
00062       const DtString& rwName = DtString::nullString(), 
00063       DtReaderWriterRegistry*  parentRegistry = 0) const;
00064 
00067    virtual DtString type() const;
00068 
00070    virtual void setMaxBurnTime(DtTime seconds);
00071    virtual DtTime maxBurnTime() const;
00072 
00074    virtual void setMaxBurnTimeSet(bool flag);
00075    virtual bool maxBurnTimeSet() const;
00076 
00078    virtual void setCurrentBurnTime(DtTime seconds);
00079    virtual DtTime currentBurnTime() const;
00080 
00082    virtual void setTargetPoint(const DtVector& targetPoint);
00083    virtual const DtVector& targetPoint() const;
00084 
00086    virtual bool isMissileTargetted() const;
00087 
00089    virtual void setTargetVelocity(const DtVector& velocity);
00090    virtual const DtVector& targetVelocity() const;
00091 
00093    virtual void setTargetEntity(const DtString& objectName);
00094    virtual const DtString& targetEntity() const;
00095 
00098    virtual void setLaunchPhase(DtMissileLaunchPhase phase);
00099    virtual DtMissileLaunchPhase launchPhase() const;
00100 
00101 public:
00102 
00104    static DtVrfProcessStateRepository* creator (const DtString& rwName,
00105       DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
00106 
00107 protected:
00108 
00112 
00114    DtRwBoolean myMaxBurnTimeSet;
00115 
00117    DtRwReal myMaxBurnTime;
00118 
00120    DtRwReal myCurrentBurnTime;
00121 
00125 
00127    DtRwVector myTargetPoint;
00128 
00130    DtRwVector myTargetVelocity;
00131 
00133    DtRwBoolean myIsMissileTargetted;
00134 
00139    DtRwString myEntityToTrack;
00140 
00145    DtRwInt myLaunchPhase;
00146 
00147 };
00148 
00149 #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)