![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: regionSetList.h,v $ $Revision: 1.18 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtRegionSetList_H_ 00013 #define DtRegionSetList_H_ 00014 #ifdef DDM 00015 00016 #include "rtiMsConfig.h" 00017 #include <vlutil/vlHashlist.h> 00018 #include "internalTypes.h" 00019 00020 class DtRegionSet; 00021 class DtRegionEntryList; 00022 class DtRegionMatchList; 00023 00029 class DT_DLL_LRC DtRegionSetList : public MAKRti::DtHashList 00030 { 00031 public: 00032 00035 DtRegionSetList(bool regionSetElementsAreOwned); 00036 00038 DtRegionSetList(const DtRegionSetList& orig); 00039 00043 virtual ~DtRegionSetList(); 00044 00046 virtual MAKRti::DtListItem* add(DtRegionHandle regionSetHandle, 00047 DtRegionSet* data, DtRegionSet** oldData = NULL); 00048 00050 virtual DtRegionSet* remove(DtRegionHandle regionSetHandle); 00051 00053 virtual DtRegionSet* lookup(DtRegionHandle regionSetHandle) const; 00054 virtual DtRegionSet* operator[] (DtRegionHandle regionSetHandle) const; 00055 00059 virtual DtRegionSet* getRegionSetAddHandle(DtRegionHandle regionHandle, 00060 DtRegionSet* regionSet); 00061 virtual DtRegionSet* getRegionSetAddHandleList( 00062 DtRegionEntryList const& regionList, DtRegionSet* regionSet); 00063 00068 virtual DtRegionSet* getRegionSetSubHandle(DtRegionHandle regionHandle, 00069 DtRegionSet* regionSet); 00070 virtual DtRegionSet* getRegionSetSubHandleList( 00071 DtRegionEntryList const& regionList, DtRegionSet* regionSet); 00072 00074 virtual DtRegionSet* getRegionSet(DtRegionEntryList& regionList); 00075 00078 void removeRegionSets(const MAKRti::DtHashList& regSetList, 00079 MAKRti::DtHashList& removedRegSets); 00080 00084 virtual void destroy(DtRegionHandle regionSetHandle); 00085 00089 virtual void destroyAll(); 00090 00091 protected: 00092 bool myRegionSetsOwned; 00093 }; 00094 00104 class DT_DLL_LRC DtRegionSetListByClass : public MAKRti::DtHashList 00105 { 00106 public: 00107 00110 DtRegionSetListByClass(bool regionSetElementsAreOwned); 00111 00113 DtRegionSetListByClass(const DtRegionSetListByClass& orig); 00114 00118 virtual ~DtRegionSetListByClass(); 00119 00121 virtual MAKRti::DtListItem* add(DtHandle classHandle, 00122 DtRegionSetList* data, DtRegionSetList** oldData = NULL); 00123 00125 virtual void add(DtHandle classHandle, DtRegionSet* regionSet); 00126 00128 virtual DtRegionSetList* remove(DtHandle classHandle); 00129 00133 virtual DtRegionSet* remove(DtHandle classHandle, 00134 DtRegionHandle regionSetHandle, bool destroyEmptyClassList=false); 00135 00137 virtual DtRegionSetList* lookup(DtHandle classHandle); 00138 00141 virtual DtRegionSetList& operator[] (DtHandle classHandle); 00142 00144 virtual void destroy(DtHandle classHandle); 00145 00148 virtual void destroyAll(); 00149 00150 protected: 00151 bool myRegionSetsOwned; 00152 }; 00153 00154 #endif 00155 #endif