VR-Forces 4.7 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 
53  };
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();
93  const IntersectionRequest& intersectionRequests() const
94  {
95  return myIntersectionRequests;
96  }
97 
100  virtual void setRequestFlags(int);
101  IntersectionRequestFlag requestFlags()
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 }

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)