![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1999 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: dmgMunEntry.h,v $ $Revision: 1.10 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef DtDmgMunitionEntry_H_ 00015 #define DtDmgMunitionEntry_H_ 00016 00017 #include "vrfutil/simMunition.h" 00018 #include "vrfutil/rwFile.h" 00019 #include "vrfobjparam/surfaceTbl.h" 00020 00029 #include "vrfobjparam/vrfobjparamDefines.h" 00030 class DT_DLL_vrfobjparam DtDmgMunitionEntry : public DtReaderWriter 00031 { 00032 public: 00034 DtDmgMunitionEntry(); 00035 00037 DtDmgMunitionEntry(const DtString& name, DtReaderWriterRegistry* 00038 parentRegistry = NULL); 00039 00040 DtDmgMunitionEntry(const DtSymbolString& name, DtReaderWriterRegistry* 00041 parentRegistry = NULL); 00042 00044 DtDmgMunitionEntry(const DtString& name, const DtDmgMunitionEntry& orig, 00045 DtReaderWriterRegistry* parentRegistry = NULL); 00046 00047 DtDmgMunitionEntry(const DtSymbolString& name, const DtDmgMunitionEntry& orig, 00048 DtReaderWriterRegistry* parentRegistry = NULL); 00049 00051 const DtDmgMunitionEntry& operator=(const DtDmgMunitionEntry & orig); 00052 00053 virtual ~DtDmgMunitionEntry(); 00054 00055 virtual DtDmgMunitionEntry* clone(const DtString& name, 00056 DtReaderWriterRegistry* parentRegistry = NULL) const; 00057 00058 virtual DtDmgMunitionEntry* clone(const DtSymbolString& name, 00059 DtReaderWriterRegistry* parentRegistry = NULL) const; 00060 00063 virtual const DtSimMunition& munition() const; 00064 virtual void setMunition(const DtSimMunition& munition); 00066 00069 virtual const DtString& directDamageFilename(); 00070 virtual void setDirectDamageFilename(const DtString& filename); 00072 00075 virtual const DtString& collateralDamageFilename(); 00076 virtual void setCollateralDamageFilename(const DtString& filename); 00078 00081 virtual void addSurfaceEntry(const DtDmgSurfaceEntry& surfaceEntry, bool isDirectDamge = true); 00082 00085 virtual bool getProbabilities(const DtString& surface, DtReal 00086 angleOfIncidence, DtReal range, DtPrbRangeTableEntry* rangeEntry, bool isDirectDamage = true); 00087 00089 virtual double getMaximumDamageRadius(); 00090 00091 protected: 00093 virtual void removeSurfaceEntry(DtDmgSurfaceEntry* surfaceEntry, bool isDirectDamage = true); 00094 00095 protected: 00099 00103 DtSimMunition myMunition; 00104 00108 DtReaderWriterFile myDirectDamageFile; 00109 00113 DtReaderWriterFile myCollateralDamageFile; 00114 00119 DtDmgSurfaceTable myDirectDamageTable; 00120 00125 DtDmgSurfaceTable myCollateralDamageTable; 00126 00128 }; 00129 00130 #endif 00131 00132 00133