VR-Forces 4.7 Class Documentation
 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) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
12 #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(int mySoilType);
49  bool soilTypeDefined() const
50  {
51  return mySoilTypeDefined;
52  }
53 
54  int 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  int 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 
157  const IntersectionPairInformation& intersectionPairInformation() const
158  {
159  return myIntersectionPairInformation;
160  }
161 
162  IntersectionPairInformation& intersectionPairInformation()
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 };

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)