MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
fixedGridDdmMgr.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2006 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: fixedGridDdmMgr.h,v $ $Revision: 1.5 $ $State: Exp $
7 *********************************************************************/
8 #ifndef fixedGridDdmMgr_H_
9 #define fixedGridDdmMgr_H_
10 #ifdef DDM
11 
14 
15 #include "rtiMsConfig.h"
16 #include "ddmMgr.h"
17 #include "internalTypes.h"
18 #include "fixedGrid.h"
19 
20 class DtRIDParameters;
21 class DtConnectionMgr;
22 class DtObjectMgr;
23 class DtInteractionMgr;
24 class DtFomClassMgr;
25 class DtFixedGridRegion;
26 
31 class DT_DLL_LRC DtFixedGridDataDistMgr : public DtDataDistMgr
32 {
33 protected:
34 
36  DtFixedGridDataDistMgr(DtFederateMgr* fedMgrPtr);
37 
38 public:
39 
41  virtual ~DtFixedGridDataDistMgr();
42 
43 private:
44 
46  DtFixedGridDataDistMgr(DtFixedGridDataDistMgr const& );
47 
49  DtFixedGridDataDistMgr& operator= (DtFixedGridDataDistMgr const& );
50 
51 public:
52 
54  virtual void clearRegions();
55 
58  virtual void getOverlapAddressSet(DtFixedGridRegion const& region,
59  DtFixedGrid::DtNetworkAddressSet& addressSet);
60 
62  virtual void subscribeObjectClass(DtObjectClassHandle handle, DtFixedGridRegion& region);
63 
65  virtual void unsubscribeObjectClass(DtObjectClassHandle handle, DtFixedGridRegion& region);
66 
68  virtual void subscribeInteractionClass(DtInteractionClassHandle handle, DtFixedGridRegion& region);
69 
71  virtual void unsubscribeInteractionClass(DtInteractionClassHandle handle, DtFixedGridRegion& region);
72 
74  virtual DtRegion* localRegion(DtRegionHandle regionHandle);
75 
77  virtual DtFixedGridRegion* localFixedGridRegion(DtRegionHandle regionHandle);
78 
79 #if !defined(DtIFSPEC13)
80  virtual DtFixedGridRegion* localFixedGridRegion(RTI_API::RegionHandle regionHandle);
82 #endif
83 
85  virtual bool isMemberLocalRegions(DtRegionHandle regionHandle);
86 
88  virtual DtRegion* remoteRegion(DtRegionHandle regionHandle);
89 
91  virtual bool isMemberRemoteRegions(DtRegionHandle regionHandle);
92 
94 #if defined(DtIFSPEC13)
95  virtual DtRegion* createRegion(DtSpaceHandle spaceHandleValue, unsigned long numberOfExtents);
96 #else
97  virtual DtRegionHandle createRegion(DtDimensionHandleStdSet const & dimHandles);
98 #endif
99 
101  virtual void deleteRegion(DtRegion *regionPtr);
102  virtual void deleteRegion(DtRegionHandle regionHandle);
103 
105  virtual void notifyAboutRegionModification(DtRegion* theRegion);
106  virtual void notifyAboutRegionModification(DtRegionHandle regionHandle);
107 
109  virtual DtSpaceHandle getAttributeRoutingSpaceHandle(
110  DtAttributeHandle theHandle,
111  DtObjectClassHandle whichClass);
112 
114  virtual DtSpaceHandle getInteractionRoutingSpaceHandle(
115  DtInteractionClassHandle theHandle);
116 
117 #if !defined(DtIFSPEC13)
118  virtual void setRangeBounds(DtRegionHandle regionHandle, DtExtentIndex extentIndex, DtDimensionHandle dimHandle,
120  unsigned long lower, unsigned long upper);
121 
123  virtual void setRangeBounds(DtRegionHandle regionHandle, DtExtentIndex extentIndex, DtDimBounds const & dimBounds);
124 
126  virtual DtDimBounds getRangeBounds(DtRegionHandle regionHandle, DtExtentIndex extentIndex, DtDimensionHandle dimHandle);
127 
129  virtual unsigned long maxUpperBound(DtSpaceHandle spaceHandle, DtDimensionHandle dimHandle) const;
130 
133  virtual bool getDimensionHandleSet(DtRegionHandle theRegionHandle, RTI_API::DimensionHandleSet& dimSet) const;
134 #endif
135 
137  virtual void postTick();
138 
139 public:
140 
144  static DtDataDistMgr* create(DtFederateMgr* fedMgrPtr);
145 
146 protected:
147 
149  virtual DtRegionHandle uniqueRegionHandle();
150 
152  virtual void addLocalRegion(DtFixedGridRegion* region);
153 
155  virtual void removeLocalRegion(DtRegionHandle regionHandle);
156 
157 protected:
158 
160  typedef std::set<DtFixedGridRegion*> DtFixedGridRegionSet;
161 
163  typedef std::map<MAKRti::DtInetAddr, DtFixedGridRegionSet> DtFixedGridAddressRegionMap;
164 
166  typedef std::map<DtRegionHandle, DtFixedGridRegion*> DtRegionMap;
167 
168 protected:
169 
171  DtRegionMap myLocalRegions;
172 
174  DtRegionHandle myNextRegionHandle;
175 
178  DtFixedGrid myFixedGrid;
179 
181  DtFixedGridAddressRegionMap myObjectClassRegionOverlap;
182 
184  DtFixedGridAddressRegionMap myInteractionClassRegionOverlap;
185 };
186 
187 #endif
188 #endif
189 
190 
This class manages the RTI&#39;s start-up configuration using both MTL variables and functions.
Definition: RIDparams.h:87
DtHandle DtRegionHandle
Definition: internalTypes.h:65
DtHandle DtObjectClassHandle
Definition: internalTypes.h:48
DtHandle DtDimensionHandle
Definition: internalTypes.h:62
DtHandle DtInteractionClassHandle
Definition: internalTypes.h:52
std::set< DimensionHandle > DimensionHandleSet
Definition: Typedefs.h:30
Instances of DtFederateMgr process federation-level messages (such as create, destroy, join, resign, and sync points) and manages the objects responsible for handling general communication, objects, interactions, the FOM, MOM, and data distribution mmg.
Definition: fedMgr.h:93
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:67
Instances of DtInteractionMgr manage the sending and receiving of interactions.
Definition: interMgr.h:46
std::set< DtDimensionHandle > DtDimensionHandleStdSet
Definition: internalTypes.h:63
Definition: fomMgr.h:49
long DtSpaceHandle
Definition: internalTypes.h:42
The object manager class processes the object management services.
Definition: objMgr.h:81
DtHandle DtAttributeHandle
Definition: internalTypes.h:54
DtHandle DtExtentIndex
Definition: internalTypes.h:67
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
The declaration of internal types.

Document ID: Generated on Wed Jul 8 16:20:32 EDT 2026 from SVN revision 291616
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)