VR-Forces 4.10 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:
30 
31  //Note that you must have one of the following flags set: ClosestIntersection, AllIntersectionsThroughPoint, LineofSight
33  {
34  ClosestIntersection = 0x00000001,
35  SoilType = 0x00000002,
36  AllIntersectionsThroughPoint = 0x00000004,
37  IntersectVectors = 0x00000008,
38  LineOfSight = 0x00000010,
39  IntersectEntities = 0x00000020,
40  IntersectTerrain = 0x00000040,
41  Default = AllIntersectionsThroughPoint | SoilType | IntersectVectors | IntersectTerrain | IntersectEntities
42  };
43 
45  {
47  IntersectionInformation(const DtVector& s, const DtVector& e, const DtString& u) :
48  start(s), end(e), userData(u) {};
49  IntersectionInformation(const IntersectionInformation& orig) : start(orig.start), end(orig.end), userData(orig.userData) {};
50 
51  DtVector start;
54  };
56 
57  typedef std::vector<IntersectionInformation> IntersectionRequest;
58 
61 
64 
67 
69 
70  virtual int type() const;
71 
72  virtual DtSimInterfaceContent* clone() const;
73 
74  virtual int netRepSize() const;
75  virtual bool setFromNet(const char* contentBuffer,
76  unsigned contentSize);
77  virtual bool setToNet();
78 
79  virtual void printDataToString(DtString& str);
80 
81  static DtSimInterfaceContent* creator();
82 
84  virtual void setRequestId(unsigned long);
85  unsigned long requestId() const
86  {
87  return myRequestId;
88  }
89 
93  virtual void addIntersectionRequest(const DtVector& from, const DtVector& to, const DtString& userData = "");
94  virtual void clearIntersectionRequests();
96  {
97  return myIntersectionRequests;
98  }
99 
102  virtual void setRequestFlags(int);
104  {
105  return (IntersectionRequestFlag)myRequestFlag;
106  }
107 
108 protected:
109  DtU32 myRequestId;
110 
113 };
114 
115 namespace DtBufferSerialize
116 {
119 
124 
128  DT_DLL_vrfmsgs const char *decode(DtIfRequestIntersectionInformation::IntersectionInformation& messagePtr, const char *buffer);
129 }
Interface content for requesting intersection information.
Definition: ifRequestIntersectionInformation.h:20
std::vector< IntersectionInformation > IntersectionRequest
Definition: ifRequestIntersectionInformation.h:57
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:44
#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:47
int myRequestFlag
Definition: ifRequestIntersectionInformation.h:112
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:32
IntersectionRequestFlag requestFlags()
Definition: ifRequestIntersectionInformation.h:103
virtual void printDataToString(DtString &str)
const DtSimInterfaceContent & operator=(const DtSimInterfaceContent &orig)
DtString userData
Definition: ifRequestIntersectionInformation.h:53
DtVector end
Definition: ifRequestIntersectionInformation.h:52
DT_DLL_readerWriter char * encode(const DtFilename &val, char *buffer)
Serializes the provided value val into buffer.
DtU32 myRequestId
Definition: ifRequestIntersectionInformation.h:109
IntersectionInformation()
Definition: ifRequestIntersectionInformation.h:46
IntersectionRequest myIntersectionRequests
Definition: ifRequestIntersectionInformation.h:111
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:95
unsigned long requestId() const
Definition: ifRequestIntersectionInformation.h:85

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)