MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
regionRealizationMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2004 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: regionRealizationMsg.h,v $ $Revision: 1.7 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtRegionRealizationMsg_H_
13 #define DtRegionRealizationMsg_H_
14 #ifdef DDM
15 
16 #include "rtiMsg.h"
17 #include "netRegionRealization.h"
18 #include "internalTypes.h"
19 
20 class DtConnectionMgr;
21 class DtRegionRealizationMsg;
22 class DtRegionExtent;
23 class DtNetExtent;
24 typedef void (*DtRegionRealizationCb)(const DtRegionRealizationMsg& msg, void* usr);
25 
26 class DT_DLL_LRC DtRegionRealizationMsg : public DtRtiMsg
27 {
28 public:
29 
31  DtRegionRealizationMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
32 
34  DtRegionRealizationMsg(DtRegionHandle handleValue,
35  DtRegionHandle regionHandleValue,
36  DtDimensionHandleStdSet const* dimHandles = NULL,
37  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
38 
40  DtRegionRealizationMsg(const DtNetRegionReliazationMsg* netRepMsg,
41  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
42 
44  virtual ~DtRegionRealizationMsg();
45 
47  virtual DtRtiMsg* clone(bool copy = true) const;
48 
50  virtual void set(DtRegionHandle handleValue, DtRegionHandle regionHandleValue,
51  DtDimensionHandleStdSet const* dimHandles = NULL);
52 
54  virtual void setRegionRealizationHandle(DtRegionHandle handleValue);
55  virtual DtRegionHandle regionRealizationHandle() const;
56 
58  virtual void setRegionHandle(DtRegionHandle handleValue);
59  virtual DtRegionHandle regionHandle() const;
60 
62  virtual void setDimensionHandles(DtDimensionHandleStdSet const& dimHandles);
63  virtual DtDimensionHandleStdSet const& dimensionHandles() const;
64 
66  unsigned long numberDimensions() const;
67 
69  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
70 
71 public:
72 
74  static DtRtiMsg* create(const DtNetMsgHeader* initial,
75  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
76 
78  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
79 
81  static void addCallback(DtConnectionMgr *conn,
82  DtRegionRealizationCb cb, void *usr);
83  static void removeCallback(DtConnectionMgr *conn,
84  DtRegionRealizationCb cb, void *usr);
85 
86 protected:
87 
89  virtual DtNetU32* netDimensionHandles();
90 
91  virtual void fillFromNetRep(DtNetU32* netDimHandles, DtDimensionHandleStdSet& dimHandles) const;
92 
93  virtual void fillNetRep(DtDimensionHandleStdSet const& dimHandles, DtNetU32* netDimHandles);
94 
96  virtual DtNetRegionReliazationMsg* netRegionRealizationMsg();
97  virtual const DtNetRegionReliazationMsg* netRegionRealizationMsg() const;
98 
101 
103  virtual int minSize(int numberDimensions=0) const;
104 
106  virtual DtRegionRealizationMsg* self() const;
107 
108 protected:
109 
110  DtDimensionHandleStdSet myDimensionHandles;
111  bool myDirty;
112 
114  unsigned int myDimensionSlotCount;
115 };
116 
117 
118 inline DtRegionRealizationMsg* DtRegionRealizationMsg::self() const
119 {
120  return const_cast<DtRegionRealizationMsg*>( this );
121 }
122 
123 #endif
124 #endif
125 
Definition: netRegionRealization.h:17
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
Definition: fedTimeFactory.h:73
virtual void printData(DtLogicalTimeFactory *logicalTimeFactory) const
DtHandle DtRegionHandle
Definition: internalTypes.h:65
#define NULL
Definition: baseTypes13.h:8
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:67
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:34
Definition: netNotRegMsg.h:31
std::set< DtDimensionHandle > DtDimensionHandleStdSet
Definition: internalTypes.h:63
virtual DtRtiMsg * clone(bool copy=true) const =0
Return a copy/empty object of the same type as this.
virtual DtRtiMsgKind internalDtRtiMsgKind()=0
#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)