VR-Forces 4.0.4 Class Documentation
include/vrfmodel/railObstructionAnalyzer.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2010 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00008 
00010 
00011 #pragma once
00012 
00013 #include "vrfmodel/vrfmodelDefines.h"
00014 #include "vrfmodel/railObstructionInfo.h"
00015 
00018 class DT_DLL_vrfmodel DtRailObstructionAnalyzer
00019 {
00020 public:
00021    DtRailObstructionAnalyzer();
00022    virtual ~DtRailObstructionAnalyzer();
00023 
00024    virtual void setObstructionList(const std::list<DtRailObstructionPtr>& obstructionList);
00025    virtual const std::list<DtRailObstructionPtr>& obstructionList() const;
00026 
00027    virtual void setRailStartOffset(double offset);
00028    virtual double railStartOffset() const;
00029    
00030    virtual void setLastCalcHitTime(double hitTime);
00031    virtual double lastCalcHitTime() const;
00032 
00033    virtual void setLastObstruction(DtRailObstructionPtr obs);
00034    virtual DtRailObstructionPtr lastObstruction() const;
00035 
00036    virtual void setConvoyTarget(DtString convoyTarget);
00037    virtual DtString convoyTarget() const;
00038 
00039    virtual void setVelocity(double velocity);
00040    virtual double velocity() const;
00041 
00047    virtual bool closestObstructionInLane(int lane, 
00048       const std::list<DtRailObstructionPtr>& obstructionList,
00049       DtRailObstructionPtr& obstruction) const;
00050 
00060    virtual bool firstHitObstructionInLane(int lane, double railVelocity,
00061       double railStartOffset,
00062       const std::list<DtRailObstructionPtr>& obstructionList,
00063       DtRailObstructionPtr& obstruction, double& hitTime) const;
00064 
00065    virtual bool timeToHit(double railVelocity, double railStartOffset, 
00066       const DtRailObstructionPtr& obstruction, double& hitTime) const;
00067 
00068 private:
00069    std::list<DtRailObstructionPtr> myObstructionList;
00070    double myRailStartOffset;
00071    double myLastCalculatedHitTime;
00072    double myVelocity;
00073    DtRailObstructionPtr myLastObstruction;
00074    DtString myConvoyTarget;
00075 };

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)