VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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>
14 
15 #include <vrvCore/DtSimState.h>
16 #include <vrvCore/DtStateView.h>
20 #include <vrvUtil/DtMessage.h>
21 #include <vlutil/vlString.h>
22 #include <matrix/vlVector.h>
23 #include <vector>
24 #include <string>
25 
26 namespace makVrv
27 {
28  class DtMessage;
29 }
30 
31 namespace makVrf
32 {
34  {
35  int myType;
36  double myRange;
38  std::string myName;
39  int myColor;
40  std::vector<double> myWedgeSizes;
41 
42  void getColor(float& r, float& g, float& b, float& a) const
43  {
44  a = (float)((myColor & 0xFF000000) >> 24) / 255.0;
45  r = (float)((myColor & 0x00FF0000) >> 16) / 255.0f;
46  g = (float)((myColor & 0x0000FF00) >> 8) / 255.0f;
47  b = (float)(myColor & 0x000000FF) / 255.0f;
48  }
49 
50  bool operator==(const DtRangeItem& rhs) const
51  {
52  return ((myType == rhs.myType) &&
53  (myRange == rhs.myRange) &&
54  (myName == rhs.myName) &&
55  (myColor == rhs.myColor) &&
56  (myWedgeSizes == rhs.myWedgeSizes) &&
57  (myOffsetPosition == rhs.myOffsetPosition));
58  }
59  };
60 
63  {
64  public:
68 
70  virtual ~DtVrfObjectDataState();
71 
72  bool operator==(const DtVrfObjectDataState& rhs) const;
73 
74  bool operator!=(const DtVrfObjectDataState& rhs) const
75  {
76  return !(*this == rhs);
77  }
78 
79  public:
80  std::string myObjectType;
81  std::string myObjectLabel;
82  std::string myEchelonIdString;
83  std::string myOverlayParent;
84  std::map<std::string, std::string> myExtendedData;
92  bool myHasPlan;
95  std::string myRulesOfEngagement;
98  std::vector<DtRangeItem> myRangeItems;
99  };
100 
103 
106 
109 
112 
113  template <typename T> makVrv::DtMessage& operator << (makVrv::DtMessage& msg, const std::vector<T>& t)
114  {
115  msg << t.size();
116 
117  typename std::vector<T>::const_iterator iter = t.begin();
118 
119  while (iter != t.end())
120  {
121  msg << (*iter);
122  ++iter;
123  }
124 
125  return msg;
126  }
127 
128  template <typename K, typename V> makVrv::DtMessage& operator << (makVrv::DtMessage& msg, const std::map<K, V>& t)
129  {
130  msg << t.size();
131 
132  typename std::map<K, V>::const_iterator iter = t.begin();
133 
134  while (iter != t.end())
135  {
136  msg << iter->first;
137  msg << iter->second;
138  ++iter;
139  }
140 
141  return msg;
142  }
143 
144  template <typename T> makVrv::DtMessage& operator >> (makVrv::DtMessage& msg, std::vector<T>& t)
145  {
146  size_t iLimit;
147  size_t i;
148  msg >> iLimit;
149 
150  for (i = 0; i < iLimit; i++)
151  {
152  T item;
153 
154  msg >> item;
155  t.push_back(item);
156  }
157 
158  return msg;
159  }
160 
161  template <typename K, typename V> makVrv::DtMessage& operator >> (makVrv::DtMessage& msg, std::map<K, V>& t)
162  {
163  size_t iLimit;
164  size_t i;
165  msg >> iLimit;
166 
167  for (i = 0; i < iLimit; i++)
168  {
169  K key;
170  V value;
171 
172  msg >> key;
173  msg >> value;
174  t[key] = value;
175  }
176 
177  return msg;
178  }
179 
182 
185 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)