MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
handleValSet.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: handleValSet.h,v $ $Revision: 1.20 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifdef DtIFSPEC13
13 #ifdef DtIFSPEC13DLC
17 #include "RTI13.h"
18 #define RTI rti13
19 #else
20 #include "RTI.hh"
21 #endif
22 #include "attrInfo.h"
23 #include "attrVal.h"
24 
25 #ifdef DDM
26 #include "region13.h"
27 class DtRegion;
28 #endif
29 
30 
32 {
33 public:
34 
36  DtHvps(RTI::ULong count, RTI::Handle handle = theDefaultChannel);
37 
39  virtual ~DtHvps();
40 
41  virtual RTI::ULong size() const;
42 
43  virtual RTI::Handle getHandle(RTI::ULong i) const
44  throw (
45  RTI::ArrayIndexOutOfBounds);
46 
47  virtual RTI::ULong getValueLength(RTI::ULong i) const
48  throw (
49  RTI::ArrayIndexOutOfBounds);
50 
51  virtual void getValue(RTI::ULong i, char *buff,
52  RTI::ULong &valueLength) const
53  throw (
54  RTI::ArrayIndexOutOfBounds);
55 
56  virtual char *getValuePointer(
57  RTI::ULong i, RTI::ULong& valueLength) const
58  throw (
59  RTI::ArrayIndexOutOfBounds);
60 
61 #ifdef DtDEFINING_AHVPS
62  virtual RTI::TransportType getTransportType( RTI::ULong i) const
63  throw (
64  RTI::ArrayIndexOutOfBounds,
65  RTI::InvalidHandleValuePairSetContext);
66 
67  virtual RTI::OrderType getOrderType( RTI::ULong i) const
68  throw (
69  RTI::ArrayIndexOutOfBounds,
70  RTI::InvalidHandleValuePairSetContext);
71 
72  virtual RTI::Region *getRegion(RTI::ULong i) const
73  throw (
74  RTI::ArrayIndexOutOfBounds,
75  RTI::InvalidHandleValuePairSetContext);
76 
78  virtual void print(DtObjectClassInfo* fomClass) const;
79 
80 #else
81  virtual RTI::TransportType getTransportType() const
82  throw (RTI::InvalidHandleValuePairSetContext);
83 
84  virtual RTI::OrderType getOrderType() const
85  throw (RTI::InvalidHandleValuePairSetContext);
86 
87  virtual RTI::Region *getRegion() const
88  throw (RTI::InvalidHandleValuePairSetContext);
89 
91  virtual void print(DtInteractionClassInfo* fomClass) const;
92 
93 #endif
94 
95  virtual void add(
96  RTI::Handle h,
97  const char *buff,
98  RTI::ULong valueLength)
99  throw (
100  RTI::ValueLengthExceeded,
101  RTI::ValueCountExceeded);
102 
103  virtual void addPointer(
104  RTI::Handle h,
105  const char *buff,
106  RTI::ULong valueLength)
107  throw (
108  RTI::ValueLengthExceeded,
109  RTI::ValueCountExceeded);
110 
111  virtual void remove(RTI::Handle h)
112  throw (
113  RTI::ArrayIndexOutOfBounds);
114 
115  virtual void moveFrom(const RTI::HandleValuePairSet& ahvp,
116  RTI::ULong &i)
117  throw (
118  RTI::ValueCountExceeded,
119  RTI::ArrayIndexOutOfBounds);
120 
121  virtual void empty();
122 
124  virtual void print() const;
125 
126  virtual RTI::ULong start() const;
127  virtual RTI::ULong valid(RTI::ULong i) const;
128  virtual RTI::ULong next(RTI::ULong i) const;
129 
131  virtual void setChannel(RTI::Handle channelValue);
132  virtual RTI::Handle channel() const;
133 
134 #ifdef DDM
135  virtual void setRegion(DtRegion* region);
137 #endif
138  virtual void setTransportType(RTI::TransportationHandle type);
140  virtual RTI::TransportationHandle transportType() const;
141 
143  virtual void setOrderType(RTI::OrderingHandle type);
144  virtual RTI::OrderingHandle orderType() const;
145 
147  virtual void setOffset(unsigned int offset);
148  virtual void setMinOffset(unsigned int offset);
149  virtual unsigned int offset(void) const ;
150 
151 public:
152  static void setDefaultChannel(RTI::Handle defaultChannelValue);
153  static RTI::Handle defaultChannel();
154 
155 protected:
156  static RTI::Handle theDefaultChannel;
157 
158 protected:
159  RTI::ULong myMaxSize;
160  RTI::ULong mySize;
161  RTI::Handle myChannel;
162  RTI::TransportationHandle myTransport;
163  RTI::OrderingHandle myOrder;
164  DtAttrVal **myVals;
165 #ifdef DDM
166  DtRegion13 myRegion;
167 #endif
168  unsigned int myUpdateRateOffset;
169 };
170 
171 #ifndef __alpha
172 inline RTI::ULong DtHvps::start() const
173 {
174  return 0;
175 }
176 
177 inline RTI::ULong DtHvps::valid(RTI::ULong i) const
178 {
179  return (i >= start() && i < size());
180 }
181 
182 inline RTI::ULong DtHvps::next(RTI::ULong i) const
183 {
184  return i+1;
185 }
186 #endif
187 
188 #endif
OrderType
Definition: Enums.h:13
#define HandleValuePairSet
Definition: aHandValSet.h:111
#define DtHvps
!DtIFSPEC1516
Definition: aHandValSet.h:109
Definition: intClassInfo.h:41
#define DT_DLL_LRC
Definition: rtiMsConfig.h:126
Definition: objClassInfo.h:37

Document ID: Generated on Mon Sep 7 15:40:32 EDT 2020 from SVN revision 217499
Copyright © 2005-2020 MAK Technologies Inc. All Rights Reserved (www.mak.com)