VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
2dGraphicalObjectStateRecord.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2017 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
14 #include <vl/globalObjectDesignatorList.h>
15 #include <vl/environmentalRecord.h>
16 #include <vl/packets/envProcP.h>
17 #include <vlpi/disEnums.h>
18 #include <vector>
19 
20 struct DtNet2DGraphicalObjectStateRecord : DtNetEnvironmentalRecord
21 {
22  DtNetU8 myColor[4];
23  DtNetInt32 myFillPattern;
24  DtNetBoolean myFlashing;
28  DtNetU16 myUserDataSize;
30  DtNetU8 myPadding;
31 };
32 
33 
37 {
38 public:
39 
42 
45  const Dt2DGraphicalObjectStateRecord& orig);
46 
48  const Dt2DGraphicalObjectStateRecord& operator=(
49  const Dt2DGraphicalObjectStateRecord& orig);
50 
53 
55  virtual DtEnvironmentalRecord* clone() const;
56 
58  virtual void setColor(int r, int g, int b, int a);
59  virtual void getColor(int& r, int& g, int& b, int& a) const;
60 
62  virtual void setFillPattern(int pattern);
63  virtual int fillPattern() const;
64 
66  virtual void setFlashing(bool yesNo);
67  virtual bool flashing() const;
68 
69  virtual bool setNumberOfApplicationIds(int newNumberOfAppIds);
70  virtual int numberOfApplicationIds() const;
71 
72  virtual bool setApplicationId(int index,
73  const DtGlobalObjectDesignator& subID);
74 
75  virtual bool getApplicationId(int index, DtGlobalObjectDesignator& subID)
76  const;
77 
78  virtual bool setNumberOfVertices(unsigned int newNumberOfVertices);
79  virtual unsigned int numberOfVertices() const;
80 
81  virtual bool setVertex(unsigned int index, const DtVector32& loc);
82  virtual bool getVertex(unsigned int index, DtVector32& loc);
83 
84  virtual bool setNumberOfParentOverlays(int newNumberOfParentOverlays);
85  virtual int numberOfParentOverlays() const;
86 
87  virtual bool setParentOverlay(int index,
88  const DtString& name);
89 
90  virtual bool getParentOverlay(int index, DtString& name) const;
91 
93  virtual void setWindowName(const DtString& name);
94  virtual const DtString& windowName() const;
95 
97  virtual void setUserData(const char* data, int length);
98  virtual const char* userData(int* length = 0) const;
99 
101  virtual bool createNetworkRepresentation();
102 
104  const DtNet2DGraphicalObjectStateRecord* objectNetRep() const;
105  DtNet2DGraphicalObjectStateRecord* objectNetRep();
106 
108  virtual void setFromNet(const DtNetEnvironmentalRecord& buffer, int protocolVersion);
109 
111  virtual int netRepSize() const;
112 
113 protected:
114 
115  virtual bool resizeNetRep(int newSize);
116 
117  virtual int verticesNetSize() const;
118 
119  // These functions do the pointer math to get a pointer to
120  // the right place in the internal buffer for the start of these
121  // data areas.
122  virtual void* pointerToVertices() const;
123  virtual void* pointerToApplicationIds() const;
124  virtual void* pointerToParentOverlays() const;
125  virtual void* pointerToWindowName() const;
126  virtual void* pointerToUserData() const;
127 
128 protected:
129 
130  int myColorR;
131  int myColorG;
132  int myColorB;
133  int myColorA;
136  std::vector<DtVector32> myVertices;
137  DtGlobalObjectDesignatorList myApplicationIds;
140  char* myUserData;
142 
144 
145 };
DtNetU8 myWindowNameSize
Definition: 2dGraphicalObjectStateRecord.h:29
Definition: 2dGraphicalObjectStateRecord.h:20
DtNetInt32 myFillPattern
Definition: 2dGraphicalObjectStateRecord.h:23
DtNetU8 myPadding
Definition: 2dGraphicalObjectStateRecord.h:30
char * myUserData
Definition: 2dGraphicalObjectStateRecord.h:140
int myUserDataLength
Definition: 2dGraphicalObjectStateRecord.h:141
DtStringList myParentOverlays
Definition: 2dGraphicalObjectStateRecord.h:138
int myColorB
Definition: 2dGraphicalObjectStateRecord.h:132
DtNetU16 myUserDataSize
Definition: 2dGraphicalObjectStateRecord.h:28
DtNetU8 myNumberOfVertices
Definition: 2dGraphicalObjectStateRecord.h:26
int myColorA
Definition: 2dGraphicalObjectStateRecord.h:133
int myFillPattern
Definition: 2dGraphicalObjectStateRecord.h:134
DtNetBoolean myFlashing
Definition: 2dGraphicalObjectStateRecord.h:24
DtNetU8 myNumberOfApplicationIds
Definition: 2dGraphicalObjectStateRecord.h:25
Definition: stringList.h:15
DtGlobalObjectDesignatorList myApplicationIds
Definition: 2dGraphicalObjectStateRecord.h:137
Contains the DtStringList class declaration.
DtNetU8 myNumberOfParentOverlays
Definition: 2dGraphicalObjectStateRecord.h:27
int myColorR
Definition: 2dGraphicalObjectStateRecord.h:130
DT_DLL_VRVCORE double length(const makVrv::DtCoordinateSystem &, const std::vector< DtVector > &vertices)
Returns the total distance of a segmented line defined by the provided vector of vertices. Coordinates are in local database coordinates. The coordinate system is used to convert between the local database coordinates and geocentric. All distance is in 2D – the Z value is ignored.
int myNetRepSize
Definition: 2dGraphicalObjectStateRecord.h:143
Dt2DGraphicalObjectStateRecord implements the 2d graphical object state record for the remote graphic...
Definition: 2dGraphicalObjectStateRecord.h:36
int myColorG
Definition: 2dGraphicalObjectStateRecord.h:131
DtString myWindowName
Definition: 2dGraphicalObjectStateRecord.h:139
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23
DtNetU8 myColor[4]
Definition: 2dGraphicalObjectStateRecord.h:22
std::vector< DtVector32 > myVertices
Definition: 2dGraphicalObjectStateRecord.h:136
bool myFlashing
Definition: 2dGraphicalObjectStateRecord.h:135

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)