MAK RTIspy API Documentation for HLA 4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
fixedGrid.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2006 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: fixedGrid.h,v $ $Revision: 1.11 $ $State: Exp $
7 *********************************************************************/
8 #ifndef fixedGrid_H_
9 #define fixedGrid_H_
10 #ifdef DDM
11 
14 
15 #include "rtiMsConfig.h"
16 #include <set>
17 #include <vector>
18 #include <vlutil/vlUtil.h>
19 #include <vlutil/vlString.h>
20 #include <vlutil/vlInetAddr.h>
21 #include "internalTypes.h"
22 
23 
24 class DtFixedGridRegion;
25 class DtFederateMgr;
26 
38 
39 class DT_DLL_LRC DtFixedGrid
40 {
41 public:
42 
44  typedef std::set<MAKRti::DtInetAddr> DtNetworkAddressSet;
45 
46 public:
47 
49  DtFixedGrid(DtFederateMgr* fedMgrPtr);
50 
52  virtual ~DtFixedGrid();
53 
56  virtual void getOverlapAddressSet(DtFixedGridRegion const& region,
57  DtNetworkAddressSet& addressSet);
58 
61  virtual void getOverlapAddressSet(DtFixedGridRegion const& region,
62  DtNetworkAddressSet& addressSet, unsigned int extentIndex);
63 
67  virtual MAKRti::DtInetAddr getOverlapAddress(DtFixedGridRegion const& region);
68 
70  virtual MAKRti::DtString const& routingSpaceName() const;
71 
73  virtual DtDimensionHandleStdSet const& dimensionHandles() const;
74 
76  virtual DtDimensionHandleVector const& orderedDimensions() const;
77 
80  virtual int dimensionIndex(DtDimensionHandle dimHandleValue) const;
81 
82 protected:
83 
85  typedef std::map<DtDimensionHandle, int> DtDimensionIndexMap;
86 
88  typedef std::pair<unsigned int, double> DtDimensionPartition;
89 
91  typedef std::vector<DtDimensionPartition> DtSubspacePartition;
92 
94  typedef std::vector<DtSubspacePartition> DtSubspaceVector;
95 
96 protected:
97 
99  virtual bool usingSubspacePartition() const;
100 
110  virtual void getAddressSet(
111  DtFixedGridRegion const& region,
112  unsigned int extentIndex,
113  MAKRti::DtInetAddr baseAddress,
114  unsigned int subspaceSize,
115  unsigned int dimIndex,
116  DtSubspacePartition const& subSpace,
117  DtNetworkAddressSet& addressSet);
118 
128  virtual unsigned int getAddressOffset(
129  DtFixedGridRegion const& region,
130  unsigned int subspaceSize,
131  unsigned int dimIndex,
132  DtSubspacePartition const& subSpace);
133 
134 protected:
135 
137  std::vector<unsigned int> mySubspaceAddressOffset;
138 
140  std::vector<unsigned int> mySubspaceSize;
141 
143  DtSubspaceVector mySubspace;
144 
146  double mySubspacePartition;
147 
149  MAKRti::DtInetAddr myBaseAddress;
150 
152  DtDimensionIndexMap myDimensionIndex;
153 
155  DtDimensionHandleVector myOrderedDimensions;
156 
158  DtDimensionHandleStdSet myDimensionHandles;
159 
161  DtDimensionHandle mySubspaceDimensionHandle;
162 
164  MAKRti::DtString mySubspaceDimensionName;
165 
167  MAKRti::DtString myRoutingSpaceName;
168 };
169 
170 #endif
171 #endif
std::vector< DtDimensionHandle > DtDimensionHandleVector
Definition: internalTypes.h:64
DtHandle DtDimensionHandle
Definition: internalTypes.h:62
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
std::set< DtDimensionHandle > DtDimensionHandleStdSet
Definition: internalTypes.h:63
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
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)