VR-Forces 5.0.2 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 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 
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:151
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:72
The DtPhysicalWorld is the primary interface to and manager of all of the &quot;physical&quot; aspects of the s...
Definition: physicalWorld.h:102
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
class DtRwObjectTypeList:
Definition: rwObjectTypeList.h:30
The DtCollisionDetector is a class used to detect collisions between a specified list of obstructions...
Definition: collisionDetector.h:54
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. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)