VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
railObstructionFinder.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
14 #include "vrfutil/railSegment.h"
15 #include <list>
19 
20 #include <matrix/vlVector.h>
21 
22 class DtVrfObjectManager;
23 class DtPhysicalWorld;
25 class DtVrfObject;
26 
30 {
31 public:
32 
34  DtVrfObject* hostEntity);
35  virtual ~DtRailObstructionFinder();
36 
37  virtual void init(const DtRwObjectTypeList & passableObjectTypes);
38 
42  virtual void findObstructions(const DtRailSegmentList& rail, const DtVector& point,
43  double distance, std::list<DtRailObstructionPtr>& result);
44 
45 protected:
48  virtual bool fillObstructionList(const DtRailSegmentList& rail, const DtVector& startPoint,
49  double testDistance, std::list<DtRailObstructionPtr>& collisionList);
50 
53  virtual bool findObstructionsAlongSegment(const DtRailSegment* segment, double testAltitude,
54  double distFromSegStart, double testDistance, std::list<DtRailObstructionPtr>& collisionList);
55 
59  virtual void mergeObstructions(const std::list<DtRailObstructionPtr>& sourceList,
60  std::list<DtRailObstructionPtr>& destiatnionList, double adjustmentDistance);
61 
63  void publishDebugPath(const DtVector& localStart,
64  const DtVector& localEnd);
65 
66 private:
68 
71  DtRailObstructionFinder& operator=(const DtRailObstructionFinder& orig);
73 
74 protected:
80 };
#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
std::list< DtRailSegment * > DtRailSegmentList
Definition: railSegment.h:197
DtRailSegment are segments entities can follow when using the rail movement system.
Definition: railSegment.h:23
DtPhysicalWorld * myPhysicalWorld
Definition: railObstructionFinder.h:76
The DtPhysicalWorld is the primary interface to and manager of all of the &quot;physical&quot; aspects of the s...
Definition: physicalWorld.h:87
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points.
DtVrfObjectManager * myObjectManager
Definition: railObstructionFinder.h:75
class DtRwObjectTypeList:
Definition: rwObjectTypeList.h:30
The DtCollisionDetector is a class used to detect collisions between a specified list of obstructions...
Definition: collisionDetector.h:55
This class finds obstructions along rail segment lists, and provides reports about the details of the...
Definition: railObstructionFinder.h:29
class DtVrfObjectManager:
Definition: vrfObjectManager.h:201
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
const DtVrfObject * myDebugRoute
Definition: railObstructionFinder.h:79
DtCollisionDetector * myCollisionDetector
Definition: railObstructionFinder.h:77
DtVrfObject * myHostEntity
Definition: railObstructionFinder.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)