VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ifIntersectionInformationResponse.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include "vrfmsgs/vrfmsgsDefines.h"
13 #include "vrfmsgs/messageTypes.h"
14 #include "vrfutil/rwUUID.h"
15 
16 #include <matrix/vlVector.h>
17 
21 
23 {
24 public:
27 
30 
32  virtual ~DtIntersectionInformation();
33 
35 
36  virtual void setIntersectionPoint(const DtVector&);
37  const DtVector& intersectionPoint() const
38  {
39  return myIntersectionPoint;
40  }
41 
42  virtual void setIntersectionTime(double);
43  double intersectionTime() const
44  {
45  return myIntersectionTime;
46  }
47 
48  virtual void setSoilType(DtU32 mySoilType);
49  bool soilTypeDefined() const
50  {
51  return mySoilTypeDefined;
52  }
53 
54  DtU32 soilType() const
55  {
56  return mySoilType;
57  }
58 
59  virtual void setEntityIntersected(const DtUUID&);
60  const DtUUID& entityIntersected() const
61  {
62  return myEntityIntersected;
63  }
64 
65  virtual void setStartPoint(const DtVector&);
66  const DtVector& startPoint() const
67  {
68  return myStartPoint;
69  }
70 
71  virtual void setEndPoint(const DtVector&);
72  const DtVector& endPoint() const
73  {
74  return myEndPoint;
75  }
76 
77  virtual void setUserData(const DtString&);
78  const DtString& userData() const
79  {
80  return myUserData;
81  }
82 
83  virtual char* setToNet(char* buffer) const;
84  virtual const char* setFromNet(const char* buffer);
85  virtual int netRepSize() const;
86 
87 protected:
94  DtU32 mySoilType;
96 };
97 
98 namespace DtBufferSerialize
99 {
101  DT_DLL_vrfmsgs const char* decode (DtIntersectionInformation&, const char*);
102  DT_DLL_vrfmsgs char* encode(const DtIntersectionInformation&, char*);
103 }
104 
106 {
107 public:
108  typedef std::vector<DtIntersectionInformation> IntersectionInformation;
109  typedef std::vector<IntersectionInformation> IntersectionPairInformation;
110 
113 
116 
119 
121 
122  virtual int type() const;
123 
124  virtual DtSimInterfaceContent* clone() const;
125 
126  virtual void printDataToString(DtString& str);
127 
128  static DtSimInterfaceContent* creator();
129 
131  virtual void setResponseId(unsigned long);
132  unsigned long responseId() const
133  {
134  return myResponseId;
135  }
136 
140  virtual void addIntersectionFor(int intersectionPairIndex, const DtIntersectionInformation&);
141  virtual IntersectionInformation intersectionsFor(int intersectionPairIndex);
142  int numResponses() const
143  {
144  return myIntersectionPairInformation.size();
145  }
146 
148  virtual void setComplete(bool);
149  bool complete() const
150  {
151  return myComplete;
152  }
153 
155  virtual void setResponseSetSize(int size);
156 
158  {
159  return myIntersectionPairInformation;
160  }
161 
163  {
164  return myIntersectionPairInformation;
165  }
166 
167  virtual int netRepSize() const;
168  virtual bool setFromNet(const char* contentBuffer,
169  unsigned contentSize);
170  virtual bool setToNet();
171 
172 protected:
173 
174  virtual int sizeOfContent() const;
175  virtual char* setUncompressedToNet(char* buffer) const;
176  virtual const char* setUncompressedFromNet(const char* contentBuffer);
177 
178 protected:
182 
183  mutable DtU32 myUncompressedSize;
184  mutable DtU32 myCompressedSize;
185  mutable bool myCompressed;
186  mutable const char* myCompressedBuffer;
187 };
DtVector myStartPoint
Definition: ifIntersectionInformationResponse.h:89
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
const DtUUID & entityIntersected() const
Definition: ifIntersectionInformationResponse.h:60
virtual bool setFromNet(const char *contentBuffer, unsigned contentSize)
Definition: simInterfaceContent.h:78
int numResponses() const
Definition: ifIntersectionInformationResponse.h:142
bool soilTypeDefined() const
Definition: ifIntersectionInformationResponse.h:49
virtual int netRepSize() const
Definition: simInterfaceContent.h:76
std::vector< IntersectionInformation > IntersectionPairInformation
Definition: ifIntersectionInformationResponse.h:109
DT_DLL_readerWriter int getSize(const DtString &val)
The number of bytes required to encode the value.
std::vector< DtIntersectionInformation > IntersectionInformation
Definition: ifIntersectionInformationResponse.h:108
#define DT_DLL_vrfmsgs
This file is used to determine how to build.
Definition: vrfmsgsDefines.h:28
bool complete() const
Definition: ifIntersectionInformationResponse.h:149
DtU32 myResponseId
Definition: ifIntersectionInformationResponse.h:179
virtual int type() const =0
double intersectionTime() const
Definition: ifIntersectionInformationResponse.h:43
voidpf void uLong size
Definition: ioapi.h:39
Interface content for containing the responses to an intersection request.
Definition: ifIntersectionInformationResponse.h:22
bool myCompressed
Definition: ifIntersectionInformationResponse.h:185
Contains the DtUUID class declaration.
const DtVector & intersectionPoint() const
Definition: ifIntersectionInformationResponse.h:37
DtVector myEndPoint
Definition: ifIntersectionInformationResponse.h:90
const DtVector & endPoint() const
Definition: ifIntersectionInformationResponse.h:72
Definition: ifIntersectionInformationResponse.h:105
const DtString & userData() const
Definition: ifIntersectionInformationResponse.h:78
DtU32 mySoilType
Definition: ifIntersectionInformationResponse.h:94
virtual void printDataToString(DtString &str)
DtString myUserData
Definition: ifIntersectionInformationResponse.h:91
unsigned long responseId() const
Definition: ifIntersectionInformationResponse.h:132
double myIntersectionTime
Definition: ifIntersectionInformationResponse.h:92
const DtSimInterfaceContent & operator=(const DtSimInterfaceContent &orig)
const char * myCompressedBuffer
Definition: ifIntersectionInformationResponse.h:186
DtU32 myCompressedSize
Definition: ifIntersectionInformationResponse.h:184
DT_DLL_readerWriter char * encode(const DtFilename &val, char *buffer)
Serializes the provided value val into buffer. buffer must have at least the number of bytes returned...
bool myComplete
Definition: ifIntersectionInformationResponse.h:181
DtU32 soilType() const
Definition: ifIntersectionInformationResponse.h:54
IntersectionPairInformation myIntersectionPairInformation
Definition: ifIntersectionInformationResponse.h:180
IntersectionPairInformation & intersectionPairInformation()
Definition: ifIntersectionInformationResponse.h:162
DtVector myIntersectionPoint
Definition: ifIntersectionInformationResponse.h:88
virtual bool setToNet()
Definition: simInterfaceContent.h:83
const DtVector & startPoint() const
Definition: ifIntersectionInformationResponse.h:66
Definition: simInterfaceContent.h:45
DT_DLL_readerWriter const char * decode(DtString &val, const char *buffer)
Decodes a value from buffer and places the result in val of the type specified by val...
bool mySoilTypeDefined
Definition: ifIntersectionInformationResponse.h:93
virtual DtSimInterfaceContent * clone() const =0
const IntersectionPairInformation & intersectionPairInformation() const
Definition: ifIntersectionInformationResponse.h:157
DtU32 myUncompressedSize
Definition: ifIntersectionInformationResponse.h:183
DtUUID myEntityIntersected
If mySoilTypeDefined is false, then an entity name is given.
Definition: ifIntersectionInformationResponse.h:95

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)