MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
distributedRegion.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2001 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: distributedRegion.h,v $ $Revision: 1.6 $ $State: Exp $
7 *********************************************************************/
8 #ifndef distributedRegion_H_
9 #define distributedRegion_H_
10 #ifdef DDM
11 
14 
15 #include "rtiMsConfig.h"
16 #include "region.h"
17 #include <vlutil/vlMachineTypes.h>
18 #include "internalTypes.h"
19 #include "regionSetList.h"
20 #include "dimRangeBounds.h"
21 
22 class DtRtiSaveFile;
23 class DtSpaceInfo;
24 class DtRegionRealization;
25 class DtObjectRegionSet;
26 class DtInteractionRegionSet;
27 class DtFomClassMgr;
28 
34 class DT_DLL_LRC DtDistributedRegion : public DtRegion
35 {
36 public:
37 
39  DtDistributedRegion();
40 
42  DtDistributedRegion(DtRegionHandle handleValue, const DtSpaceInfo* space,
43  DtDimensionHandleSet const & dimHandles, unsigned long numberExtents=1);
44 
46  DtDistributedRegion(DtRegionHandle regionHandle, const DtSpaceInfo* space,
47  unsigned long numberExtents);
48 
50  DtDistributedRegion(DtRegionHandle regionHandle, const DtSpaceInfo* space,
51  const DtRegionExtent* extentList, unsigned long numberExtents);
52 
54  virtual ~DtDistributedRegion();
55 
56 private:
57 
59  DtDistributedRegion(DtDistributedRegion const& );
60 
62  DtDistributedRegion& operator= (DtDistributedRegion const& );
63 
64 public:
65 
67  virtual unsigned long getRangeLowerBound(
68  DtExtentIndex extentIndex,
69  DtDimensionHandle dimensionHandle) const;
70  virtual void setRangeLowerBound(
71  DtExtentIndex extentIndex,
72  DtDimensionHandle dimensionHandle,
73  unsigned long lowerBound);
74 
76  virtual unsigned long getRangeUpperBound(
77  DtExtentIndex extentIndex,
78  DtDimensionHandle dimensionHandle) const;
79  virtual void setRangeUpperBound(
80  DtExtentIndex extentIndex,
81  DtDimensionHandle dimensionHandle,
82  unsigned long upperBound);
83 
85  virtual DtRegionHandle handle() const;
86  virtual void setHandle(DtRegionHandle handleValue);
87 
89  virtual const DtSpaceInfo* space() const;
90  virtual void setSpace(const DtSpaceInfo* space);
91 
93  virtual DtSpaceHandle getSpaceHandle() const;
94 
96  virtual DtDimensionHandleSet const & dimensionHandles() const;
97 
99  virtual bool hasDimension(DtDimensionHandle dimHandle) const;
100 
102  virtual unsigned long getNumberOfExtents() const;
103 
105  virtual void commitModifications();
106 
108  virtual bool inUse() const;
109 
111  virtual void addRealization(DtRegionRealization* realization);
112  virtual void removeRealization(DtRegionHandle handleValue);
113 
115  virtual bool validForService() const;
116 
118  virtual bool wasCommited() const;
119 
121  virtual bool validExtents() const;
122 
124  virtual unsigned long addExtent();
125 
127  virtual void setExtents(const DtRegionExtent* extentList,
128  unsigned long numberExtents);
129  virtual void setExtents(std::vector<const DtRegionExtent*> extentList);
130  virtual const DtRegionExtent* getExtents() const;
131 
133  virtual void addExtents(const DtRegionExtent* extentList,
134  unsigned long numberExtents);
135 
137  virtual void setDimensionExtent(DtExtentIndex extentIndex,
138  DtDimensionHandle dim, unsigned long lower, unsigned long upper);
139 
141  virtual void setDimensionExtent(DtExtentIndex extentIndex,
142  DtDimBounds const & dimBounds);
143 
145  virtual DtDimBounds getDimensionExtent(DtExtentIndex extentIndex,
146  DtDimensionHandle dim) const;
147 
149  virtual bool intersect(const DtDistributedRegion& region) const;
150 
152  virtual bool intersect(const DtRegionExtent& extent) const;
153 
155  virtual bool save( DtRtiSaveFile& file, DtFederateHandle handle = 0);
156 
158  virtual bool restore( DtRtiSaveFile& file, DtFederateHandle& fedHandle,
159  DtFomClassMgr* fom);
160 
161 protected:
162 
164  virtual void createWorkingExtents();
165 
167  virtual const DtRegionExtent& extent(DtExtentIndex extentIndex) const;
168 
169 protected:
170 
172  DtRegionHandle myHandle;
173 
175  const DtSpaceInfo* mySpace;
176 
178  DtDimensionHandleSet myDimensions;
179 
181  unsigned long myNumberExtents;
182 
184  DtRegionExtent* myExtents;
185 
187  DtRegionExtent* myWorkingExtents;
188 
190  bool myCommited;
191 
193  bool myValidForService;
194 
196  MAKRti::DtHashlist myRealizations;
197 };
198 
199 #endif
200 #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)