VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ifRequestIntersectionInformation.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 
15 #include <matrix/vlVector.h>
16 
19 
21 {
22 public:
31  {
32  ClosestIntersection = 0x00000001,
33  SoilType = 0x00000002,
34  AllIntersectionsThroughPoint = 0x00000004,
35  IntersectVectors = 0x00000008,
36  LineOfSight = 0x00000010,
37  IntersectEntities = 0x00000020,
38  IntersectTerrain = 0x00000040,
39  Default = AllIntersectionsThroughPoint | SoilType | IntersectVectors | IntersectTerrain | IntersectEntities
40  };
41 
43  {
45  IntersectionInformation(const DtVector& s, const DtVector& e, const DtString& u) :
46  start(s), end(e), userData(u) {};
47  IntersectionInformation(const IntersectionInformation& orig) : start(orig.start), end(orig.end), userData(orig.userData) {};
48 
49  DtVector start;
52  };
54 
55  typedef std::vector<IntersectionInformation> IntersectionRequest;
56 
59 
62 
65 
67 
68  virtual int type() const;
69 
70  virtual DtSimInterfaceContent* clone() const;
71 
72  virtual int netRepSize() const;
73  virtual bool setFromNet(const char* contentBuffer,
74  unsigned contentSize);
75  virtual bool setToNet();
76 
77  virtual void printDataToString(DtString& str);
78 
79  static DtSimInterfaceContent* creator();
80 
82  virtual void setRequestId(unsigned long);
83  unsigned long requestId() const
84  {
85  return myRequestId;
86  }
87 
91  virtual void addIntersectionRequest(const DtVector& from, const DtVector& to, const DtString& userData = "");
92  virtual void clearIntersectionRequests();
94  {
95  return myIntersectionRequests;
96  }
97 
100  virtual void setRequestFlags(int);
102  {
103  return (IntersectionRequestFlag)myRequestFlag;
104  }
105 
106 protected:
107  DtU32 myRequestId;
108 
111 };
112 
113 namespace DtBufferSerialize
114 {
117 
122 
126  DT_DLL_vrfmsgs const char *decode(DtIfRequestIntersectionInformation::IntersectionInformation& messagePtr, const char *buffer);
127 }
Interface content for requesting intersection information.
Definition: ifRequestIntersectionInformation.h:20
std::vector< IntersectionInformation > IntersectionRequest
Definition: ifRequestIntersectionInformation.h:55
virtual bool setFromNet(const char *contentBuffer, unsigned contentSize)
Definition: simInterfaceContent.h:78
virtual int netRepSize() const
Definition: simInterfaceContent.h:76
DT_DLL_readerWriter int getSize(const DtString &val)
The number of bytes required to encode the value.
Definition: ifRequestIntersectionInformation.h:42
#define DT_DLL_vrfmsgs
This file is used to determine how to build.
Definition: vrfmsgsDefines.h:28
virtual int type() const =0
IntersectionInformation(const DtVector &s, const DtVector &e, const DtString &u)
Definition: ifRequestIntersectionInformation.h:45
int myRequestFlag
Definition: ifRequestIntersectionInformation.h:110
IntersectionRequestFlag
For the flags, if closest intersection is supplied, and intersect vectors is supplied, if there is an intersection for both a polygon and a vector at the same point, the vector intersection information for soil type (if specified) will be returned.
Definition: ifRequestIntersectionInformation.h:30
IntersectionRequestFlag requestFlags()
Definition: ifRequestIntersectionInformation.h:101
virtual void printDataToString(DtString &str)
const DtSimInterfaceContent & operator=(const DtSimInterfaceContent &orig)
DtString userData
Definition: ifRequestIntersectionInformation.h:51
DtVector end
Definition: ifRequestIntersectionInformation.h:50
DT_DLL_readerWriter char * encode(const DtFilename &val, char *buffer)
Serializes the provided value val into buffer.
DtU32 myRequestId
Definition: ifRequestIntersectionInformation.h:107
IntersectionInformation()
Definition: ifRequestIntersectionInformation.h:44
IntersectionRequest myIntersectionRequests
Definition: ifRequestIntersectionInformation.h:109
virtual bool setToNet()
Definition: simInterfaceContent.h:83
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...
virtual DtSimInterfaceContent * clone() const =0
const IntersectionRequest & intersectionRequests() const
Definition: ifRequestIntersectionInformation.h:93
unsigned long requestId() const
Definition: ifRequestIntersectionInformation.h:83

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)