![]() |
VR-Forces 4.0.4 Class Documentation
|
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