MAK RTIspy API Documentation for HLA 1.3
 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 class DtObjectClassInfo;
31 
32 class DT_DLL_LRC DtHvps : public RTI::HandleValuePairSet
33 {
34 public:
35 
37  DtHvps(RTI::ULong count, RTI::Handle handle = theDefaultChannel);
38 
40  virtual ~DtHvps();
41 
42  virtual RTI::ULong size() const;
43 
44  virtual RTI::Handle getHandle(RTI::ULong i) const
45  throw (
46  RTI::ArrayIndexOutOfBounds);
47 
48  virtual RTI::ULong getValueLength(RTI::ULong i) const
49  throw (
50  RTI::ArrayIndexOutOfBounds);
51 
52  virtual void getValue(RTI::ULong i, char *buff,
53  RTI::ULong &valueLength) const
54  throw (
55  RTI::ArrayIndexOutOfBounds);
56 
57  virtual char *getValuePointer(
58  RTI::ULong i, RTI::ULong& valueLength) const
59  throw (
60  RTI::ArrayIndexOutOfBounds);
61 
62 #ifdef DtDEFINING_AHVPS
63  virtual RTI::TransportType getTransportType( RTI::ULong i) const
64  throw (
65  RTI::ArrayIndexOutOfBounds,
66  RTI::InvalidHandleValuePairSetContext);
67 
68  virtual RTI::OrderType getOrderType( RTI::ULong i) const
69  throw (
70  RTI::ArrayIndexOutOfBounds,
71  RTI::InvalidHandleValuePairSetContext);
72 
73  virtual RTI::Region *getRegion(RTI::ULong i) const
74  throw (
75  RTI::ArrayIndexOutOfBounds,
76  RTI::InvalidHandleValuePairSetContext);
77 
79  virtual void print(DtObjectClassInfo* fomClass) const;
80 
81 #else
82  virtual RTI::TransportType getTransportType() const
83  throw (RTI::InvalidHandleValuePairSetContext);
84 
85  virtual RTI::OrderType getOrderType() const
86  throw (RTI::InvalidHandleValuePairSetContext);
87 
88  virtual RTI::Region *getRegion() const
89  throw (RTI::InvalidHandleValuePairSetContext);
90 
92  virtual void print(DtInteractionClassInfo* fomClass) const;
93 
94 #endif
95 
96  virtual void add(
97  RTI::Handle h,
98  const char *buff,
99  RTI::ULong valueLength)
100  throw (
101  RTI::ValueLengthExceeded,
102  RTI::ValueCountExceeded);
103 
104  virtual void addPointer(
105  RTI::Handle h,
106  const char *buff,
107  RTI::ULong valueLength)
108  throw (
109  RTI::ValueLengthExceeded,
110  RTI::ValueCountExceeded);
111 
112  virtual void remove(RTI::Handle h)
113  throw (
114  RTI::ArrayIndexOutOfBounds);
115 
116  virtual void moveFrom(const RTI::HandleValuePairSet& ahvp,
117  RTI::ULong &i)
118  throw (
119  RTI::ValueCountExceeded,
120  RTI::ArrayIndexOutOfBounds);
121 
122  virtual void empty();
123 
125  virtual void print() const;
126 
127  virtual RTI::ULong start() const;
128  virtual RTI::ULong valid(RTI::ULong i) const;
129  virtual RTI::ULong next(RTI::ULong i) const;
130 
132  virtual void setChannel(RTI::Handle channelValue);
133  virtual RTI::Handle channel() const;
134 
135 #ifdef DDM
136  virtual void setRegion(DtRegion* region);
138 #endif
139  virtual void setTransportType(RTI::TransportationHandle type);
141  virtual RTI::TransportationHandle transportType() const;
142 
144  virtual void setOrderType(RTI::OrderingHandle type);
145  virtual RTI::OrderingHandle orderType() const;
146 
148  virtual void setOffset(unsigned int offset);
149  virtual void setMinOffset(unsigned int offset);
150  virtual unsigned int offset(void) const ;
151 
152 public:
153  static void setDefaultChannel(RTI::Handle defaultChannelValue);
154  static RTI::Handle defaultChannel();
155 
156 protected:
157  static RTI::Handle theDefaultChannel;
158 
159 protected:
160  RTI::ULong myMaxSize;
161  RTI::ULong mySize;
162  RTI::Handle myChannel;
163  RTI::TransportationHandle myTransport;
164  RTI::OrderingHandle myOrder;
165  DtAttrVal **myVals;
166 #ifdef DDM
167  DtRegion13 myRegion;
168 #endif
169  unsigned int myUpdateRateOffset;
170 };
171 
172 #ifndef __alpha
173 inline RTI::ULong DtHvps::start() const
174 {
175  return 0;
176 }
177 
178 inline RTI::ULong DtHvps::valid(RTI::ULong i) const
179 {
180  return (i >= start() && i < size());
181 }
182 
183 inline RTI::ULong DtHvps::next(RTI::ULong i) const
184 {
185  return i+1;
186 }
187 #endif
188 
189 #endif
OrderType
Definition: datatypes.pb.h:472
TransportationHandle TransportType
Definition: RTItypes13.h:124
ULong Handle
Definition: RTItypes13.h:110
virtual Region * getRegion(RegionToken)
Handle OrderingHandle
Definition: RTItypes13.h:126
unsigned long ULong
Definition: baseTypes13.h:20
Definition: intClassInfo.h:40
Handle TransportationHandle
Definition: RTItypes13.h:122
virtual Boolean throw(SpecifiedSaveLabelDoesNotExist, ConcurrentAccessAttempted, RTIinternalError)
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
Definition: objClassInfo.h:36

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)