VR-Forces 4.0.4 Class Documentation
Public Member Functions | Private Attributes
DtRailObstructionAnalyzer Class Reference

Class containing utility functions for analyzing the output of the DtRailObstructionFinder. More...

List of all members.

Public Member Functions

 DtRailObstructionAnalyzer ()
virtual ~DtRailObstructionAnalyzer ()
virtual void setObstructionList (const std::list< DtRailObstructionPtr > &obstructionList)
virtual const std::list
< DtRailObstructionPtr > & 
obstructionList () const
virtual void setRailStartOffset (double offset)
virtual double railStartOffset () const
virtual void setLastCalcHitTime (double hitTime)
virtual double lastCalcHitTime () const
virtual void setLastObstruction (DtRailObstructionPtr obs)
virtual DtRailObstructionPtr lastObstruction () const
virtual void setConvoyTarget (DtString convoyTarget)
virtual DtString convoyTarget () const
virtual void setVelocity (double velocity)
virtual double velocity () const
virtual bool closestObstructionInLane (int lane, const std::list< DtRailObstructionPtr > &obstructionList, DtRailObstructionPtr &obstruction) const
 Finds the closest obstruction in the list that blocks the specified lane.
virtual bool firstHitObstructionInLane (int lane, double railVelocity, double railStartOffset, const std::list< DtRailObstructionPtr > &obstructionList, DtRailObstructionPtr &obstruction, double &hitTime) const
 Finds the first obstruction that will be hit in the specified lane, using the specified velocity along the rail.
virtual bool timeToHit (double railVelocity, double railStartOffset, const DtRailObstructionPtr &obstruction, double &hitTime) const

Private Attributes

std::list< DtRailObstructionPtrmyObstructionList
double myRailStartOffset
double myLastCalculatedHitTime
double myVelocity
DtRailObstructionPtr myLastObstruction
DtString myConvoyTarget

Detailed Description

Class containing utility functions for analyzing the output of the DtRailObstructionFinder.

These functions are genreally entity centric.


Constructor & Destructor Documentation


Member Function Documentation

virtual void DtRailObstructionAnalyzer::setObstructionList ( const std::list< DtRailObstructionPtr > &  obstructionList) [virtual]
virtual const std::list<DtRailObstructionPtr>& DtRailObstructionAnalyzer::obstructionList ( ) const [virtual]
virtual void DtRailObstructionAnalyzer::setRailStartOffset ( double  offset) [virtual]
virtual double DtRailObstructionAnalyzer::railStartOffset ( ) const [virtual]
virtual void DtRailObstructionAnalyzer::setLastCalcHitTime ( double  hitTime) [virtual]
virtual double DtRailObstructionAnalyzer::lastCalcHitTime ( ) const [virtual]
virtual void DtRailObstructionAnalyzer::setConvoyTarget ( DtString  convoyTarget) [virtual]
virtual void DtRailObstructionAnalyzer::setVelocity ( double  velocity) [virtual]
virtual double DtRailObstructionAnalyzer::velocity ( ) const [virtual]
virtual bool DtRailObstructionAnalyzer::closestObstructionInLane ( int  lane,
const std::list< DtRailObstructionPtr > &  obstructionList,
DtRailObstructionPtr obstruction 
) const [virtual]

Finds the closest obstruction in the list that blocks the specified lane.

Parameters:
obstructionThe returned obstruction, if found.
Returns:
True if any obstruction is found.
Note:
This function using the current positions of the obstructions, and does not take any obstruction velocities into account.
virtual bool DtRailObstructionAnalyzer::firstHitObstructionInLane ( int  lane,
double  railVelocity,
double  railStartOffset,
const std::list< DtRailObstructionPtr > &  obstructionList,
DtRailObstructionPtr obstruction,
double &  hitTime 
) const [virtual]

Finds the first obstruction that will be hit in the specified lane, using the specified velocity along the rail.

This uses the positions and velocities of the obstructions in the list.

Parameters:
obstructionThe returned obstruction.
hitTimeThe amount of time before the collision would occur.
railVelocityThe velocity along the rail which the entity doing this check is traveling.
railStartOffsetThe distance ahead from 0 on the rail that is considered part of the entity doing this check. Typically 0 is the entity center, so this is the half length of the entity.
Returns:
True if any obstruction is found.
virtual bool DtRailObstructionAnalyzer::timeToHit ( double  railVelocity,
double  railStartOffset,
const DtRailObstructionPtr obstruction,
double &  hitTime 
) const [virtual]

Member Data Documentation


The documentation for this class was generated from the following file:

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)