![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: regionList.h,v $ $Revision: 1.17 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtRegionList_H_ 00013 #define DtRegionList_H_ 00014 #ifdef DDM 00015 00016 #include "attrHandSet.h" 00017 #include "internalTypes.h" 00018 00019 class DtRegionRealization; 00020 00021 typedef std::map<DtRegionHandle,DtRegionRealization*> DtHandleToRegionRealizationMap; 00022 00023 class DT_DLL_LRC DtRegionEntryList 00024 { 00025 public: 00026 00028 DtRegionEntryList(); 00029 00031 DtRegionEntryList(const DtRegionEntryList& orig); 00032 00034 virtual ~DtRegionEntryList(); 00035 00037 virtual bool operator==(const DtRegionEntryList& regionList) const; 00038 00040 virtual bool contains(const DtRegionEntryList& regionList) const; 00041 00044 virtual bool contains(const DtRegionEntryList* regionList, 00045 DtRegionHandle regionHandle) const; 00046 00049 virtual bool contains(const DtRegionEntryList* regionList, 00050 DtRegionRealization& region) const; 00051 00053 virtual int commonRegions(const DtRegionEntryList& regionList) const; 00054 00057 virtual bool equal(const DtRegionEntryList* regionList, 00058 DtRegionHandle regionHandle) const; 00059 00062 virtual bool equal(const DtRegionEntryList* regionList, 00063 DtRegionRealization& region) const; 00064 00067 virtual bool equal(const DtRegionEntryList* seedList, 00068 DtRegionEntryList const & regionList) const; 00069 00073 virtual void addRegionHdl(DtRegionHandle regionHandle); 00074 00077 virtual void addRegion(DtRegionRealization* region); 00078 00080 virtual void addRegions(DtRegionEntryList const& regionList); 00081 00083 virtual DtRegionRealization* lookup(DtRegionHandle regionHandle) const; 00084 virtual DtRegionRealization* operator[] (DtRegionHandle regionHandle) const; 00085 00087 virtual void remove(DtRegionHandle regionHandle); 00088 00090 virtual void remove(DtRegionEntryList const& regionList); 00091 00093 virtual void removeAll(); 00094 00096 virtual unsigned size() const; 00097 00099 virtual const DtHandleToRegionRealizationMap& map() const; 00100 00101 protected: 00102 00104 DtHandleToRegionRealizationMap myHdlToRealizationMap; 00105 }; 00106 00107 00108 inline unsigned DtRegionEntryList::size() const 00109 { 00110 return myHdlToRealizationMap.size(); 00111 } 00112 00113 inline DtHandleToRegionRealizationMap const& DtRegionEntryList::map() const 00114 { 00115 return myHdlToRealizationMap; 00116 } 00117 00118 class DT_DLL_LRC DtRegionEntryListWithAttributes : public DtRegionEntryList 00119 { 00120 public: 00121 00123 DtRegionEntryListWithAttributes (); 00124 00126 DtRegionEntryListWithAttributes(const DtRegionEntryListWithAttributes& orig); 00127 00129 virtual ~DtRegionEntryListWithAttributes (); 00130 00132 virtual void addAttribute(DtAttributeHandle attrHandle); 00133 virtual void removeAttribute(DtAttributeHandle attrHandle); 00134 00136 virtual void addAttributeSet(DtAttributeHandleSet attrSet); 00137 virtual void removeAttributeSet(DtAttributeHandleSet attrSet); 00138 00139 virtual DtAttributeHandleSet const& attributes() const; 00140 00141 protected: 00142 00143 DtAttributeHandleSet myAttributes; 00144 00145 }; 00146 00147 inline DtAttributeHandleSet const& DtRegionEntryListWithAttributes ::attributes() const 00148 { 00149 return myAttributes; 00150 } 00151 00152 00153 #endif 00154 #endif