MAK RTIspy API Documentation for HLA 1516
 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  DtDimensionHandleStdSet const & dimHandles, unsigned long numberExtents = 1);
44 
46  DtDistributedRegion(DtRegionHandle regionHandle, const DtSpaceInfo* space, unsigned long numberExtents);
47 
49  DtDistributedRegion(DtRegionHandle regionHandle, const DtSpaceInfo* space, const DtRegionExtent* extentList,
50  unsigned long numberExtents);
51 
53  virtual ~DtDistributedRegion();
54 
55 private:
56 
58  DtDistributedRegion(DtDistributedRegion const& );
59 
61  DtDistributedRegion& operator= (DtDistributedRegion const& );
62 
63 public:
64 
66  virtual unsigned long getRangeLowerBound(
67  DtExtentIndex extentIndex,
68  DtDimensionHandle dimensionHandle) const;
69  virtual void setRangeLowerBound(
70  DtExtentIndex extentIndex,
71  DtDimensionHandle dimensionHandle,
72  unsigned long lowerBound);
73 
75  virtual unsigned long getRangeUpperBound(
76  DtExtentIndex extentIndex,
77  DtDimensionHandle dimensionHandle) const;
78  virtual void setRangeUpperBound(
79  DtExtentIndex extentIndex,
80  DtDimensionHandle dimensionHandle,
81  unsigned long upperBound);
82 
84  virtual DtRegionHandle handle() const;
85  virtual void setHandle(DtRegionHandle handleValue);
86 
88  virtual const DtSpaceInfo* space() const;
89  virtual void setSpace(const DtSpaceInfo* space);
90 
92  virtual DtSpaceHandle getSpaceHandle() const;
93 
95  virtual DtDimensionHandleStdSet const & dimensionHandles() const;
96 
98  virtual bool hasDimension(DtDimensionHandle dimHandle) const;
99 
101  virtual unsigned long getNumberOfExtents() const;
102 
104  virtual void commitModifications();
105 
107  virtual bool inUse() const;
108 
110  virtual void addRealization(DtRegionRealization* realization);
111  virtual void removeRealization(DtRegionHandle handleValue);
112 
114  virtual bool validForService() const;
115 
117  virtual bool wasCommited() const;
118 
120  virtual bool validExtents() const;
121 
123  virtual unsigned long addExtent();
124 
126  virtual void setExtents(const DtRegionExtent* extentList,
127  unsigned long numberExtents);
128  virtual void setExtents(std::vector<const DtRegionExtent*> extentList);
129  virtual const DtRegionExtent* getExtents() const;
130 
132  virtual void addExtents(const DtRegionExtent* extentList,
133  unsigned long numberExtents);
134 
136  virtual void setDimensionExtent(DtExtentIndex extentIndex,
137  DtDimensionHandle dim, unsigned long lower, unsigned long upper);
138 
140  virtual void setDimensionExtent(DtExtentIndex extentIndex,
141  DtDimBounds const & dimBounds);
142 
144  virtual DtDimBounds getDimensionExtent(DtExtentIndex extentIndex,
145  DtDimensionHandle dim) const;
146 
148  virtual bool intersect(const DtDistributedRegion& region) const;
149 
151  virtual bool intersect(const DtRegionExtent& extent) const;
152 
154  virtual bool save( DtRtiSaveFile& file, DtFederateHandle handle = 0);
155 
157  virtual bool restore( DtRtiSaveFile& file, DtFederateHandle& fedHandle,
158  DtFomClassMgr* fom);
159 
160 protected:
161 
163  virtual void createWorkingExtents();
164 
166  virtual const DtRegionExtent& extent(DtExtentIndex extentIndex) const;
167 
168 protected:
169 
171  DtRegionHandle myHandle;
172 
174  const DtSpaceInfo* mySpace;
175 
177  DtDimensionHandleStdSet myDimensions;
178 
180  unsigned long myNumberExtents;
181 
183  DtRegionExtent* myExtents;
184 
186  DtRegionExtent* myWorkingExtents;
187 
189  bool myCommited;
190 
192  bool myValidForService;
193 
195  MAKRti::DtHashlist myRealizations;
196 };
197 
198 #endif
199 #endif
DtHandle DtRegionHandle
Definition: internalTypes.h:65
DtHandle DtDimensionHandle
Definition: internalTypes.h:62
DtHandle DtFederateHandle
Definition: internalTypes.h:46
std::set< DtDimensionHandle > DtDimensionHandleStdSet
Definition: internalTypes.h:63
Definition: fomMgr.h:49
long DtSpaceHandle
Definition: internalTypes.h:42
DtHandle DtExtentIndex
Definition: internalTypes.h:67
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
Definition: saveFile.h:21
The declaration of internal types.

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)