![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 1999 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: surfaceTbl.h,v $ $Revision: 1.13 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00013 00014 #ifndef DtDmgSurfaceTable_H_ 00015 #define DtDmgSurfaceTable_H_ 00016 00017 #include "vrfutil/rwList.h" 00018 #include <vlutil/vlHashlist.h> 00019 00020 class DtDmgSurfaceEntry; 00021 class DtPrbRangeTableEntry; 00022 00028 #include "vrfobjparam/vrfobjparamDefines.h" 00029 class DT_DLL_vrfobjparam DtDmgSurfaceTable : public DtRwList 00030 { 00031 protected: 00032 00034 DtDmgSurfaceTable(); 00035 00036 public: 00037 00039 DtDmgSurfaceTable(const DtString& name, DtReaderWriterRegistry* 00040 parentRegistry = NULL); 00041 DtDmgSurfaceTable(const DtSymbolString& name, DtReaderWriterRegistry* 00042 parentRegistry = NULL); 00043 00045 DtDmgSurfaceTable(const DtString& name, const DtDmgSurfaceTable& orig, 00046 DtReaderWriterRegistry* parentRegistry = NULL); 00047 DtDmgSurfaceTable(const DtSymbolString& name, const DtDmgSurfaceTable& orig, 00048 DtReaderWriterRegistry* parentRegistry = NULL); 00049 00053 DtDmgSurfaceTable& operator=(const DtDmgSurfaceTable& orig); 00054 00056 virtual ~DtDmgSurfaceTable(); 00057 00058 virtual DtDmgSurfaceTable* clone(const DtString& name, 00059 DtReaderWriterRegistry* parentRegistry = NULL); 00060 virtual DtDmgSurfaceTable* clone(const DtSymbolString& name, 00061 DtReaderWriterRegistry* parentRegistry = NULL); 00062 00063 virtual void addSurfaceEntry(const DtDmgSurfaceEntry& surfaceEntry); 00064 00066 virtual void removeSurfaceEntry(DtDmgSurfaceEntry* surfaceEntry); 00067 00070 virtual bool getProbabilities(const DtString& surface, DtReal 00071 angleOfIncidence, DtReal range, DtPrbRangeTableEntry* rangeEntry); 00072 00074 virtual double getMaximumDamageRadius(); 00075 00076 protected: 00079 virtual DtlObjPtr getData(DtlObjPtr args, const DtFilename& searchPath, 00080 const DtVariableBindingsList& variableBindings); 00081 00083 virtual void emptyList(); 00084 00085 virtual void copyList(const DtDmgSurfaceTable& orig); 00086 00087 virtual void addSurfaceEntry(DtDmgSurfaceEntry* surfaceEntry); 00088 virtual void removeSurfaceEntry(DtDmgSurfaceEntry* surfaceEntry, 00089 DtListItem* item); 00090 00091 protected: 00092 DtHashlist myHashIndex; 00093 }; 00094 00095 #endif 00096 00097 00098