MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
regionSet.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2001 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: regionSet.h,v $ $Revision: 1.23 $ $State: Exp $
7 *********************************************************************/
8 #ifndef regionSet_H_
9 #define regionSet_H_
10 #ifdef DDM
11 
14 
15 #include <vlutil/vlHashlist.h>
16 #include "regionRealization.h"
17 #include "regionList.h"
18 #include "regionSetList.h"
19 #include <vlutil/vlUtil.h>
20 #include <vlutil/vlInetAddr.h>
21 
22 class DtObjectClassInfo;
23 class DtObjRegSetMsg;
24 class DtInterRegSetMsg;
25 
32 class DT_DLL_LRC DtRegionSet
33 {
34 public:
35 
37  DtRegionSet();
38 
40  DtRegionSet(DtRegionHandle setHandleValue, DtRegionRealization* region);
41 
43  virtual ~DtRegionSet();
44 
45 private:
46 
48  DtRegionSet(DtRegionSet const & rhs);
49 
51  DtRegionSet &operator=(DtRegionSet const & rhs);
52 
53 public:
54 
56  virtual void setRegionSetHandle(DtRegionHandle setHandleValue);
57  virtual DtRegionHandle regionSetHandle() const;
58 
60  virtual void setFederateHandle(DtFederateHandle handleValue);
61  virtual DtFederateHandle federateHandle() const;
62 
64  virtual void setAddress(const MAKRti::DtInetAddr& addrValue);
65  virtual const MAKRti::DtInetAddr& address() const;
66 
68  virtual void addRegions(const DtRegionEntryList& regionList);
69 
71  virtual void addRegionHdl(DtRegionHandle regionHandle);
72 
74 
75  virtual void addRegion(DtRegionRealization* region);
76  virtual void removeRegion(DtRegionHandle regionHandle);
78 
80  virtual void emptyRegions();
81 
83  virtual void fillInRegions(DtObjRegSetMsg* msg) const;
84  virtual void fillInRegions(DtInterRegSetMsg* msg) const;
85 
87  virtual DtRegionRealization* region(DtRegionHandle regionHandle);
88 
91  virtual const DtDistributedRegion* boundingRegion() const;
92 
94  virtual bool inUse()=0;
95 
97  virtual bool isEmptyRegions() const;
98 
100  virtual bool isMemberRegion(DtRegionHandle regionHandle) const;
101 
103  virtual bool isMemberRegion(const DtRegionSet& regionSet) const;
104 
107  virtual bool isMemberRegion(const DtRegionSet& regionSet,
108  DtRegionHandle regionHandle) const;
109 
111  virtual bool isMemberRegions(DtRegionEntryList const & regionList) const;
112 
114  virtual int commonRegions(const DtRegionSet& regionSet) const;
115 
117  virtual int commonRegions(DtRegionEntryList const & regionList) const;
118 
120  virtual const DtRegionEntryList& regionList() const;
121 
123  virtual bool intersect(const DtRegionRealization& region) const;
124 
126  virtual bool intersect(const DtRegionSet& regionSet) const;
127 
130  virtual bool hasDimensions() const;
131 
133  virtual DtDimensionHandleSet const & dimensionHandles() const;
134 
136  virtual unsigned int regionCount() const;
137 
138 protected:
139 
141  DtRegionSet* self() const;
142 
143 protected:
144 
146  DtRegionHandle myHandle;
147 
149  DtFederateHandle myFederateHandle;
150 
152  DtRegionEntryList myRegions;
153 
155  MAKRti::DtInetAddr myAddress;
156 
158  DtDimensionHandleSet myDimensions;
159 
161  DtDistributedRegion* myBoundingRegion;
162 };
163 
164 inline DtRegionSet* DtRegionSet::self() const
165 {
166  return const_cast<DtRegionSet*>( this );
167 }
168 
169 inline DtRegionHandle DtRegionSet::regionSetHandle() const
170 {
171  return myHandle;
172 }
173 
174 inline DtFederateHandle DtRegionSet::federateHandle() const
175 {
176  return myFederateHandle;
177 }
178 
179 inline const MAKRti::DtInetAddr& DtRegionSet::address() const
180 {
181  return myAddress;
182 }
183 
184 inline const DtRegionEntryList& DtRegionSet::regionList() const
185 {
186  return myRegions;
187 }
188 
189 #endif
190 #endif

Document ID: Generated on Mon Jul 9 10:30:41 EDT 2018 from SVN revision 190224
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)