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) 2025 MAK Technologies, Inc.
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 
52  virtual ~Dt2DGraphicalObjectStateRecord() override;
53 
55  virtual DtEnvironmentalRecord *clone() const override;
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() override;
102 
104  const DtNet2DGraphicalObjectStateRecord* objectNetRep() const;
105  DtNet2DGraphicalObjectStateRecord* objectNetRep();
106 
108  virtual void setFromNet(const DtNetEnvironmentalRecord &buffer,
109  int protocolVersion) override;
110 
112  virtual int netRepSize() const override;
113 
114 protected:
115 
116  virtual bool resizeNetRep(int newSize) override;
117 
118  virtual int verticesNetSize() const;
119 
120  // These functions do the pointer math to get a pointer to
121  // the right place in the internal buffer for the start of these
122  // data areas.
123  virtual void* pointerToVertices() const;
124  virtual void* pointerToApplicationIds() const;
125  virtual void* pointerToParentOverlays() const;
126  virtual void* pointerToWindowName() const;
127  virtual void* pointerToUserData() const;
128 
129 protected:
130 
131  int myColorR;
132  int myColorG;
133  int myColorB;
134  int myColorA;
137  std::vector<DtVector32> myVertices;
138  DtGlobalObjectDesignatorList myApplicationIds;
141  char* myUserData;
143 
145 
146 };
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:141
int myUserDataLength
Definition: 2dGraphicalObjectStateRecord.h:142
DtStringList myParentOverlays
Definition: 2dGraphicalObjectStateRecord.h:139
int myColorB
Definition: 2dGraphicalObjectStateRecord.h:133
DtNetU16 myUserDataSize
Definition: 2dGraphicalObjectStateRecord.h:28
DtNetU8 myNumberOfVertices
Definition: 2dGraphicalObjectStateRecord.h:26
int myColorA
Definition: 2dGraphicalObjectStateRecord.h:134
int myFillPattern
Definition: 2dGraphicalObjectStateRecord.h:135
DtNetBoolean myFlashing
Definition: 2dGraphicalObjectStateRecord.h:24
DtNetU8 myNumberOfApplicationIds
Definition: 2dGraphicalObjectStateRecord.h:25
Definition: stringList.h:15
DtGlobalObjectDesignatorList myApplicationIds
Definition: 2dGraphicalObjectStateRecord.h:138
Contains the DtStringList class declaration.
DtNetU8 myNumberOfParentOverlays
Definition: 2dGraphicalObjectStateRecord.h:27
int myColorR
Definition: 2dGraphicalObjectStateRecord.h:131
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:144
Dt2DGraphicalObjectStateRecord implements the 2d graphical object state record for the remote graphic...
Definition: 2dGraphicalObjectStateRecord.h:36
int myColorG
Definition: 2dGraphicalObjectStateRecord.h:132
DtString myWindowName
Definition: 2dGraphicalObjectStateRecord.h:140
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23
DtNetU8 myColor[4]
Definition: 2dGraphicalObjectStateRecord.h:22
std::vector< DtVector32 > myVertices
Definition: 2dGraphicalObjectStateRecord.h:137
bool myFlashing
Definition: 2dGraphicalObjectStateRecord.h:136

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)