VR-Forces 4.0.4 Class Documentation
include/vrfobjparam/dmgCompDesc.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2003 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: dmgCompDesc.h,v $ $Revision: 1.17 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 #ifndef DtDamageComponentDescriptor_H_
00016 #define DtDamageComponentDescriptor_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 DtDamageComponentDescriptor : public DtActuatorComponentDescriptor
00031 {
00032 public:
00034    DtDamageComponentDescriptor(const DtString& name, 
00035       DtReaderWriterRegistry* parentRegistry = NULL);
00036    DtDamageComponentDescriptor(const DtSymbolString& name, 
00037       DtReaderWriterRegistry* parentRegistry = NULL);
00038    
00042    DtDamageComponentDescriptor(const DtDamageComponentDescriptor& orig, 
00043       DtReaderWriterRegistry* parentRegistry = NULL);
00044    
00046    DtDamageComponentDescriptor& operator=(
00047       const DtDamageComponentDescriptor& orig);
00048    
00050    virtual ~DtDamageComponentDescriptor();
00051 
00054    virtual DtString type() const;
00055 
00056    virtual DtComponentDescriptor* clone(
00057       DtReaderWriterRegistry* parentRegistry = NULL) const;
00058 
00060    virtual bool init();
00061 
00068    virtual void setDamageModel(const DtDmgMunitionTable* model);
00069 
00071    virtual const DtDmgMunitionTable* damageModel() const;
00072 
00075    virtual DtReal smokeTime() const;
00076    virtual void setSmokeTime(DtReal smokeTime);
00078 
00081    virtual DtTime flameTime() const;
00082    virtual void setFlameTime(DtTime flameTime);
00084 
00087    virtual bool terminateOnDestroy() const;
00088    virtual void setTerminateOnDestroy(bool yesNo);
00090 
00094    virtual bool getKillProbabilities(const DtSimMunition& munition, const
00095       DtString& surface, DtReal angleOfIncidence, DtReal range, 
00096       DtPrbRangeTableEntry * rangeEntry) const;
00097 
00098 
00101    virtual void setUnderFireTime(DtTime underFireTime);
00102    virtual DtTime underFireTime() const;
00104 
00107    virtual DtReal underFireDistance() const;
00108    virtual void setUnderFireDistance(DtReal underFireDistance);
00110 
00113    virtual bool underFireFromFriendly() const;
00114    virtual void setUnderFireFromFriendly(bool b);
00116 
00119    virtual void putSelf(FILE* fp, int indentLevel = 0, bool writeUnspecified = false,
00120       const DtFilename& path = DtReaderWriter::appPath());
00121 
00123    static DtComponentDescriptor* creator();
00124 
00125 protected:
00127    DtDamageComponentDescriptor();
00128 
00129 protected:
00133 
00139    DtRwTime                  mySmokeTime;
00140 
00146    DtRwTime                  myFlameTime;
00147 
00152    DtRwBoolean               myTerminateOnDestroy;
00153 
00159    DtRwTime                  myUnderFireTime;
00160 
00166    DtRwReal                  myUnderFireDistance;   
00167 
00172    DtRwBoolean               myUnderFireFromFriendly;
00173    
00177    const DtDmgMunitionTable* myDamageModel;
00178 
00180 
00181    bool                      myOwnDamageModel;
00182 };
00183 
00184 #endif
00185 
00186 
00187 

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)