VR-Forces 4.8 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 };
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
DtCollisionDetector * myCollisionDetector
Definition: roadObstructionFinder.h:116
The DtPhysicalWorld is the primary interface to and manager of all of the &quot;physical&quot; aspects of the s...
Definition: physicalWorld.h:87
class DtRwObjectTypeList:
Definition: rwObjectTypeList.h:30
bool myDrivingOnLeft
Definition: roadObstructionFinder.h:118
The DtCollisionDetector is a class used to detect collisions between a specified list of obstructions...
Definition: collisionDetector.h:55
class DtVrfObjectManager:
Definition: vrfObjectManager.h:201
DtVrfObjectManager * myObjectManager
Definition: roadObstructionFinder.h:114
DtVrfObject * myHostEntity
Definition: roadObstructionFinder.h:117
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtPhysicalWorld * myPhysicalWorld
Definition: roadObstructionFinder.h:115
Description of one segment of a road.
Definition: roadSegment.h:390
An object containing functions to find obstructions in road segments in a road path; part of a DtRoad...
Definition: roadObstructionFinder.h:31
DtBoost::shared_ptr< DtRailObstruction > DtRailObstructionPtr
Definition: railObstructionInfo.h:78

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)