![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2004 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: dmgAdjudicationCompDesc.h,v $ $Revision: 1.8 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00014 00015 #ifndef DtDamageAdjudicationComponentDescriptor_H_ 00016 #define DtDamageAdjudicationComponentDescriptor_H_ 00017 00018 #include "vrfobjparam/actCompDesc.h" 00019 #include "vrfobjparam/dmgMunTable.h" 00020 #include "vrfutil/rwReal.h" 00021 #include "vrfutil/vlClock.h" 00022 #include "vrfutil/rwBoolean.h" 00023 00024 class DtSimMunition; 00025 class DtPrbRangeTableEntry; 00026 00029 #include "vrfobjparam/vrfobjparamDefines.h" 00030 class DT_DLL_vrfobjparam DtDamageAdjudicationComponentDescriptor : public DtActuatorComponentDescriptor 00031 { 00032 public: 00034 DtDamageAdjudicationComponentDescriptor(const DtSymbolString& name, 00035 DtReaderWriterRegistry* parentRegistry = NULL); 00036 00040 DtDamageAdjudicationComponentDescriptor( 00041 const DtDamageAdjudicationComponentDescriptor& orig, 00042 DtReaderWriterRegistry* parentRegistry = NULL); 00043 00045 DtDamageAdjudicationComponentDescriptor& operator=( 00046 const DtDamageAdjudicationComponentDescriptor& orig); 00047 00049 virtual ~DtDamageAdjudicationComponentDescriptor(); 00050 00053 virtual DtString type() const; 00054 00055 virtual DtComponentDescriptor* clone( 00056 DtReaderWriterRegistry* parentRegistry = NULL) const; 00057 00059 virtual bool init(); 00060 00067 virtual const DtDmgMunitionTable* damageModel() const; 00068 00069 virtual void setDamageModel(const DtDmgMunitionTable* model); 00070 00073 virtual DtReal smokeTime() const; 00074 virtual void setSmokeTime(DtReal smokeTime); 00076 00079 virtual DtTime flameTime() const; 00080 virtual void setFlameTime(DtTime flameTime); 00082 00085 virtual bool terminateOnDestroy() const; 00086 virtual void setTerminateOnDestroy(bool yesNo); 00088 00092 virtual bool getDirectKillProbabilities(const DtSimMunition& munition, const 00093 DtString& surface, DtReal angleOfIncidence, DtReal range, 00094 DtPrbRangeTableEntry * rangeEntry) const; 00095 00096 virtual bool getCollateralDamageProbabilities(const DtSimMunition& munition, 00097 const DtString& surface, DtReal angleOfIncidence, 00098 DtReal range, DtPrbRangeTableEntry * rangeEntry) const; 00099 00102 virtual void putSelf(FILE* fp, int indentLevel = 0, 00103 bool writeUnspecified = false, 00104 const DtFilename& path = DtReaderWriter::appPath()); 00105 00107 static DtComponentDescriptor* creator(); 00108 00109 protected: 00111 DtDamageAdjudicationComponentDescriptor(); 00112 00113 protected: 00117 00123 DtRwTime mySmokeTime; 00124 00130 DtRwTime myFlameTime; 00131 00136 DtRwBoolean myTerminateOnDestroy; 00137 00141 const DtDmgMunitionTable* myDamageModel; 00142 00144 bool myOwnDamageModel; 00145 }; 00146 00147 #endif 00148 00149 00150