VR-Forces Developer's Guide
 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 DtLocalObject;
26 
30 {
31 public:
32 
34  DtLocalObject* hostEntity);
35  virtual ~DtRailObstructionFinder();
36 
37  virtual void init(const DtRwEntityTypeList & 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 
62 private:
64 
67  DtRailObstructionFinder& operator=(const DtRailObstructionFinder& orig);
69 
70 protected:
75 };
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
class DtLocalObjectManager:
Definition: localObjectManager.h:157
std::list< DtRailSegment * > DtRailSegmentList
Definition: railSegment.h:194
DtRailSegment are segments entities can follow when using the rail movement system.
Definition: railSegment.h:20
class DtRwEntityTypeList:
Definition: rwEntityTypeList.h:23
DtPhysicalWorld * myPhysicalWorld
Definition: railObstructionFinder.h:72
The DtPhysicalWorld is the primary interface to and manager of all of the &quot;physical&quot; aspects of the s...
Definition: physicalWorld.h:112
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points. Coordinates are in local database coordinates The coordinat...
DtVrfObjectManager * myObjectManager
Definition: railObstructionFinder.h:71
The DtCollisionDetector is a class used to detect collisions between a specified list of obstructions...
Definition: collisionDetector.h:57
This class finds obstructions along rail segment lists, and provides reports about the details of the...
Definition: railObstructionFinder.h:29
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtCollisionDetector * myCollisionDetector
Definition: railObstructionFinder.h:73
DtLocalObject * myHostEntity
Definition: railObstructionFinder.h:74
A locally simulated VRF object.
Definition: localObject.h:98

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)