VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
roadObstructionFinder.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 6 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 
10 #pragma once
11 
13 #include "vrfutil/railSegment.h"
14 #include "vrfmodel/roadSegment.h"
15 #include <list>
19 
20 #include <matrix/vlVector.h>
21 
22 class DtVrfObjectManager;
23 class DtPhysicalWorld;
25 class DtVrfObject;
26 
32 {
33 public:
34 
36  DtVrfObject* hostEntity, bool drivingOnLeft);
37  virtual ~DtRoadObstructionFinder();
38 
39  virtual void init(const DtRwObjectTypeList & passableObjectTypes);
40 
49  virtual bool findFirstObstructionInLane(const DtRoadSegment* startSegment,
50  const int roadLaneNum,
51  const double positionAlongLane,
52  double lookDistance, DtRailObstructionPtr& result,
53  std::vector<std::vector<DtVector> > & debugBoxes,
54  bool debug = false) const;
55 
66  virtual bool findFirstObstructionUpstreamInLane(const DtRoadSegment* startSegment,
67  const int roadLaneNum,
68  const double positionAlongLane,
69  double lookDistance, DtRailObstructionPtr& result,
70  std::vector<std::vector<DtVector> > & debugBoxes,
71  bool debug = false) const;
72 
73 protected:
79  virtual bool findNearestObstructionInSegment(const DtRoadSegment* segment,
80  const int roadLaneNum,
81  const double distFromSegStart, const double testDistance,
82  DtRailObstructionPtr& obstruction,
83  std::vector<std::vector<DtVector> > & debugBoxes,
84  bool debug = false) const;
85 
91  virtual bool findNearestObstructionUpstreamInSegment(const DtRoadSegment* segment,
92  double testAltitude, const int roadLaneNum,
93  const double distFromSegStart, const double testDistance,
94  DtRailObstructionPtr& obstruction,
95  std::vector<std::vector<DtVector> > & debugBoxes,
96  bool debug = false) const;
97 
101  void getBoxPointsFromVolume(Dt3dBoundingVolume& volume,
102  DtVector& refPoint, DtDcm& orientation,
103  std::vector<std::vector<DtVector> >& outputList) const;
104 
105 private:
107 
110  DtRoadObstructionFinder& operator=(const DtRoadObstructionFinder& orig);
112 
113 protected:
119 };

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)