![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: regMatchList.h,v $ $Revision: 1.21 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtRegionMatchList_H_ 00013 #define DtRegionMatchList_H_ 00014 #ifdef DDM 00015 00016 #include "rtiMsConfig.h" 00017 #include "internalTypes.h" 00018 #include <vlutil/vlHashlist.h> 00019 #include <vlutil/vlHashKeys.h> 00020 00021 class DtRegionSet; 00022 class DtRegionMatches; 00023 00029 class DT_DLL_LRC DtRegionMatchList : public MAKRti::DtHashList 00030 { 00031 public: 00032 00035 DtRegionMatchList(bool regionMatchElementsAreOwned); 00036 00038 DtRegionMatchList(const DtRegionMatchList& orig); 00039 00043 virtual ~DtRegionMatchList(); 00044 00046 virtual MAKRti::DtListItem* add(DtHandle regionSetHandle, 00047 DtRegionMatches* data, DtRegionMatches** oldData = NULL); 00048 00050 virtual DtRegionMatches* remove(DtHandle regionSetHandle); 00051 00053 virtual DtRegionMatches* lookup(DtHandle regionSetHandle) const; 00054 virtual DtRegionMatches* operator[] (DtHandle regionSetHandle) const; 00055 00057 virtual void addMatch(DtRegionSet& localRegionSet, 00058 DtRegionSet& remoteRegionSet); 00059 00061 virtual void removeMatch(DtRegionSet& localRegionSet, 00062 DtRegionSet& remoteRegionSet); 00063 00067 virtual void destroy(DtHandle regionSetHandle); 00068 00072 virtual void destroyAll(); 00073 00074 protected: 00075 bool myRegionSetsOwned; 00076 }; 00077 00087 class DT_DLL_LRC DtRegionMatchListByClass : public MAKRti::DtHashList 00088 { 00089 public: 00090 00093 DtRegionMatchListByClass(bool regionMatchElementsAreOwned); 00094 00096 DtRegionMatchListByClass(const DtRegionMatchListByClass& orig); 00097 00101 virtual ~DtRegionMatchListByClass(); 00102 00104 virtual MAKRti::DtListItem* add(DtHandle classHandle, 00105 DtRegionMatchList* data, DtRegionMatchList** oldData = NULL); 00106 00108 virtual void add(DtHandle classHandle, DtRegionMatches* regionSetMatch); 00109 00111 virtual void addMatch(DtHandle classHandle, DtRegionSet& localRegionSet, 00112 DtRegionSet& remoteRegionSet); 00113 00115 virtual DtRegionMatchList* remove(DtHandle classHandle); 00116 00120 virtual DtRegionMatches* remove(DtHandle classHandle, 00121 DtHandle regionSetHandle); 00122 00126 virtual void removeMatch(DtHandle classHandle, DtRegionSet& localRegionSet, 00127 DtRegionSet& remoteRegionSet); 00128 00130 virtual DtRegionMatchList* lookup(DtHandle classHandle); 00131 00134 virtual DtRegionMatchList& operator[] (DtHandle classHandle); 00135 00137 virtual void destroy(DtHandle classHandle); 00138 00141 virtual void destroyAll(); 00142 00143 protected: 00144 bool myRegionSetsOwned; 00145 }; 00146 00147 00148 #endif 00149 #endif