![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2003 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: balGunDesc.h,v $ $Revision: 1.15 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00014 00015 #ifndef DtBallisticGunDescriptor_H_ 00016 #define DtBallisticGunDescriptor_H_ 00017 00018 00019 #include "vrfobjparam/actCompDesc.h" 00020 #include "vrfutil/rwString.h" 00021 #include "vrfutil/rwReal.h" 00022 #include "vrfutil/rwInt.h" 00023 #include "vrfutil/rwVector.h" 00024 #include "vrfutil/rwFile.h" 00025 #include "vrfutil/rwBoolean.h" 00026 #include "vrfobjparam/rngProbTbl.h" 00027 00035 #include "vrfobjparam/vrfobjparamDefines.h" 00036 class DT_DLL_vrfobjparam DtBallisticGunDescriptor : public DtActuatorComponentDescriptor 00037 { 00038 public: 00040 DtBallisticGunDescriptor(const DtString& name, 00041 DtReaderWriterRegistry* parentRegistry = NULL); 00042 00043 DtBallisticGunDescriptor(const DtSymbolString& name, 00044 DtReaderWriterRegistry* parentRegistry = NULL); 00045 00047 DtBallisticGunDescriptor(const DtBallisticGunDescriptor& orig, 00048 DtReaderWriterRegistry* parentRegistry = NULL); 00049 00051 DtBallisticGunDescriptor & operator=(const DtBallisticGunDescriptor& orig); 00052 00054 virtual ~DtBallisticGunDescriptor(); 00055 00058 virtual DtString type() const; 00059 00060 virtual DtComponentDescriptor* clone( 00061 DtReaderWriterRegistry* parentRegistry = NULL) const; 00062 00065 virtual DtReal muzzleSpeed() const; 00066 virtual void setMuzzleSpeed(DtReal muzzleSpeed); 00068 00071 virtual int roundsPerMagazine() const; 00072 virtual void setRoundsPerMagazine(int roundsPerMagazine); 00074 00077 virtual int roundsPerMinute() const; 00078 virtual void setRoundsPerMinute(const int roundsPerMinute); 00080 00083 virtual DtReal extraTimeBetweenBursts() const; 00084 virtual void setExtraTimeBetweenBursts(const DtReal extraTimeBetweenBursts); 00086 00089 virtual const DtString& rangeName() const; 00090 virtual void setRangeName(const DtString& rangeName); 00092 00095 virtual DtReal elevationRate() const; 00096 virtual void setElevationRate(DtReal pElevationRate); 00098 00101 virtual DtReal maxElevationRange() const; 00102 virtual void setMaxElevationRange(DtReal pElevationRange); 00104 00107 virtual DtReal minElevationRange() const; 00108 virtual void setMinElevationRange(DtReal pElevationRange); 00110 00113 virtual DtReal neutralElevation() const; 00114 virtual void setNeutralElevation(DtReal elevation); 00116 00119 virtual const DtVector& muzzleOffset() const; 00120 virtual void setMuzzleOffset(const DtVector& muzzleOffset); 00122 00125 virtual bool velocityCheck() const; 00126 virtual void setVelocityCheck(bool check); 00128 00131 virtual const DtString& hitProbabilityFilename(); 00132 virtual void setHitProbabilityFilename(const DtString& filename); 00134 00137 virtual const DtRangeProbabilityTable& hitProbabilityTable() const; 00138 virtual void setHitProbabilityTable(const DtRangeProbabilityTable& table); 00140 00142 static DtComponentDescriptor* creator(); 00143 00144 protected: 00146 DtBallisticGunDescriptor(); 00147 00148 protected: 00152 00157 DtRwReal myElevationRate; 00158 00164 DtRwReal myMaxElevationRange; 00165 00171 DtRwReal myMinElevationRange; 00172 00178 DtRwReal myNeutralElevation; 00179 00186 DtRwReal myMuzzleSpeed; 00187 00194 DtRwInt myRoundsPerMagazine; 00195 00202 DtRwInt myRoundsPerMinute; 00203 00212 DtRwReal myExtraTimeBetweenBursts; 00213 00227 DtRwVector myMuzzleOffset; 00228 00234 DtRwBoolean myVelocityCheck; 00235 00240 DtReaderWriterFile myHitProbabilityFile; 00241 00246 DtRangeProbabilityTable myHitProbabilityTable; 00247 00250 DtRwString myRangeName; 00252 00253 }; 00254 00255 #endif 00256 00257 00258