VR-Vantage 2.7 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
rangeItem.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
8 #include <vlpi/netStructs.h>
9 #include <vector>
10 
11 // class DtRangeItem:
12 //
13 // Item that will define a range object used in the system
14 
16 const int RangeItemUnknown = 0;
17 const int RangeItemBallisticGun = 1;
18 const int RangeItemIndirectFire = 2;
19 const int RangeItemMissileSystem = 3;
20 const int RangeItemRangeProperty = 4;
21 const int RangeItemSensorRange = 5;
23 const int RangeItemGeneric = 7;
24 
27 // const int RangeRingVersion = 200; // Future expansion
28 const int RangeRingVersion = 100;
29 
32 {
33 public:
34 
35  // default constructor
37 
38  // destructor
39  virtual ~DtRangeItem_V1();
40 
41  // copy constructor
42  DtRangeItem_V1(const DtRangeItem_V1& orig);
43 
44  // assignment operator
45  DtRangeItem_V1& operator=(const DtRangeItem_V1& orig);
46 
47  virtual const char* setFromNet(const char* buffer);
48  virtual char* setToNet(char* buffer) const;
49 
50  virtual int netRepSize() const;
51 
52  bool operator==(const DtRangeItem_V1& rhs) const
53  {
54  return ((myRange == rhs.myRange) &&
55  (myType == rhs.myType) &&
56  (myName == rhs.myName) &&
57  (myOffsetPosition[0] == rhs.myOffsetPosition[0]) &&
58  (myOffsetPosition[1] == rhs.myOffsetPosition[1]) &&
59  (myOffsetPosition[2] == rhs.myOffsetPosition[2]));
60  }
61 
62  DtNetFloat32 myRange;
63  DtNetInt32 myType;
64  DtNet64Vector myOffsetPosition;
66 };
67 
69 {
70 public:
71  virtual ~DtRangeItems_V1();
72 
73  virtual int netRepSize() const;
74  virtual char* setFromNet(const char* buffer);
75  virtual char* setToNet(char* buffer) const;
76 
77  typedef std::vector<DtRangeItem_V1> RangeItems;
78 
80 };
81 
83 {
84 public:
85 
86  // default constructor
87  DtRangeItem();
88 
89  // destructor
90  virtual ~DtRangeItem();
91 
92  // copy constructor
93  DtRangeItem(const DtRangeItem& orig);
94  DtRangeItem(const DtRangeItem_V1& orig);
95 
96  // assignment operator
97  DtRangeItem& operator=(const DtRangeItem& orig);
98  DtRangeItem& operator=(const DtRangeItem_V1& orig);
99 
100  virtual const char* setFromNet(const char* buffer);
101  virtual char* setToNet(char* buffer) const;
102 
103  virtual int netRepSize() const;
104 
105  bool operator==(const DtRangeItem& rhs) const
106  {
107  return ((myRange == rhs.myRange) &&
108  (myType == rhs.myType) &&
109  (myName == rhs.myName) &&
110  (myColor == rhs.myColor) &&
111  (myWedgeSizes == rhs.myWedgeSizes) &&
112  (myOffsetPosition[0] == rhs.myOffsetPosition[0]) &&
113  (myOffsetPosition[1] == rhs.myOffsetPosition[1]) &&
114  (myOffsetPosition[2] == rhs.myOffsetPosition[2]));
115  }
116 
117  DtNetFloat32 myRange;
118  DtNetInt32 myType;
119  DtNet64Vector myOffsetPosition;
121 
123  DtNetInt32 myColor;
124  std::vector<DtNetFloat32> myWedgeSizes;
125 
126  // Future expansion
127  /*
129  DtNetFloat32 myAzimuthCenter;
130  DtNetFloat32 myAzimuthSweep;
131 
132  DtNetFloat32 myElevationCenter;
133  DtNetFloat32 myElevationSweep;
134  */
135 };
136 
138 {
139 public:
140  virtual ~DtRangeItems();
141 
142  virtual int netRepSize() const;
143  virtual char* setFromNet(const char* buffer);
144  virtual char* setToNet(char* buffer) const;
145 
146  typedef std::vector<DtRangeItem> RangeItems;
147 
149 };


Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)