VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfObjectDataState.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrfGuiCore/vrfGuiCore.h>
15 
16 #include <vrvCore/DtSimState.h>
17 #include <vrvCore/DtStateView.h>
21 #include <vrvUtil/DtMessage.h>
23 #include <vlutil/vlString.h>
24 #include <matrix/vlVector.h>
25 #include <vector>
26 #include <string>
27 
28 namespace makVrv
29 {
30  class DtMessage;
31 }
32 
33 namespace makVrf
34 {
36  {
37  int myType;
38  double myRange;
40  std::string myName;
41  int myColor;
42  std::vector<double> myWedgeSizes;
43 
44  void getColor(float& r, float& g, float& b, float& a) const
45  {
46  a = (float)((myColor & 0xFF000000) >> 24) / 255.0;
47  r = (float)((myColor & 0x00FF0000) >> 16) / 255.0f;
48  g = (float)((myColor & 0x0000FF00) >> 8) / 255.0f;
49  b = (float)(myColor & 0x000000FF) / 255.0f;
50  }
51 
52  bool operator==(const DtRangeItem& rhs) const
53  {
54  return ((myType == rhs.myType) &&
55  (myRange == rhs.myRange) &&
56  (myName == rhs.myName) &&
57  (myColor == rhs.myColor) &&
58  (myWedgeSizes == rhs.myWedgeSizes) &&
59  (myOffsetPosition == rhs.myOffsetPosition));
60  }
61  };
62 
65  {
66  public:
70 
73 
74  bool operator==(const DtVrfNetworkUpdateObjectDataState& rhs) const;
75 
77  {
78  return !(*this == rhs);
79  }
80 
81  public:
82  std::string myObjectType;
83  std::string myObjectLabel;
84  std::string myEchelonIdString;
85  std::string myOverlayParent;
86  std::string myUUID;
87  std::map<std::string, std::string> myExtendedData;
95  bool myHasPlan;
98  std::string myRulesOfEngagement;
101  std::vector<DtRangeItem> myRangeItems;
103 
105  std::map<int, uintptr_t> myStateDataUpdateBuffers;
106  std::map<int, uintptr_t> myGuiStateDataUpdateBuffers;
107  };
108 
110  {
111 
112  public:
113 
117 
119  virtual ~DtVrfObjectDataState();
120 
121  DtVrfObjectDataState& operator=(const DtVrfObjectDataState&);
123  bool operator==(const DtVrfObjectDataState&) const;
124  bool operator!=(const DtVrfObjectDataState& rhs) const
125  {
126  return !(*this == rhs);
127  }
128 
129  public:
133  };
134 
137 
140 
143 
146 
147  template <typename T> makVrv::DtMessage& operator << (makVrv::DtMessage& msg, const std::vector<T>& t)
148  {
149  msg << t.size();
150 
151  typename std::vector<T>::const_iterator iter = t.begin();
152 
153  while (iter != t.end())
154  {
155  msg << (*iter);
156  ++iter;
157  }
158 
159  return msg;
160  }
161 
162  template <typename K, typename V> makVrv::DtMessage& operator << (makVrv::DtMessage& msg, const std::map<K, V>& t)
163  {
164  msg << t.size();
165 
166  typename std::map<K, V>::const_iterator iter = t.begin();
167 
168  while (iter != t.end())
169  {
170  msg << iter->first;
171  msg << iter->second;
172  ++iter;
173  }
174 
175  return msg;
176  }
177 
178  template <typename T> makVrv::DtMessage& operator >> (makVrv::DtMessage& msg, std::vector<T>& t)
179  {
180  size_t iLimit;
181  size_t i;
182  msg >> iLimit;
183 
184  for (i = 0; i < iLimit; i++)
185  {
186  T item;
187 
188  msg >> item;
189  t.push_back(item);
190  }
191 
192  return msg;
193  }
194 
195  template <typename K, typename V> makVrv::DtMessage& operator >> (makVrv::DtMessage& msg, std::map<K, V>& t)
196  {
197  size_t iLimit;
198  size_t i;
199  msg >> iLimit;
200 
201  for (i = 0; i < iLimit; i++)
202  {
203  K key;
204  V value;
205 
206  msg >> key;
207  msg >> value;
208  t[key] = value;
209  }
210 
211  return msg;
212  }
213 
216 
219 
223  {
224  public:
226  makVrv::DtStateViewCollection<DtVrfObjectDataState>(de, makVrv::DtSimEntryUpdater::NoUpdates)
227  {
228  }
229  };
230 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)