VR-Forces 4.0.4 Class Documentation
include/vrfmodel/railObstructionInfo.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2010 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00008 
00009 #pragma once
00010 
00011 #include "vrfmodel/vrfmodelDefines.h"
00012 #include <list>
00013 #include <vlutil/vlSmartPointers.h>
00014 #include <set>
00015 #include "vrfobjcore/entityCollision.h"
00016 
00020 class DT_DLL_vrfmodel DtRailObstructionInfo
00021 {
00022 public:
00023    DtRailObstructionInfo();
00024    virtual ~DtRailObstructionInfo();
00025 
00027 
00028    virtual std::set<int>& lanes();
00029    virtual const std::set<int>& lanes() const;
00031 
00034 
00035    virtual double startBlockDistance() const;
00036    virtual void setStartBlockDistance(double v);
00038 
00040 
00041    virtual double endBlockDistance() const;
00042    virtual void setEndBlockDistance(double v);
00044 
00048 
00049    virtual double velocityAlongSegment() const;
00050    virtual void setVelocityAlongSegment(double v);
00052 
00055    virtual void adjustDistances(double adjustmentValue);
00056 
00061    virtual void merge(const DtRailObstructionInfo& source);
00062 
00063 protected:
00064    std::set<int> myLanes;
00065    double myStartBlockDistance;
00066    double myEndBlockDistance;
00067    double myVelocityAlongSegment;
00068 };
00069 
00070 typedef DtBoost::shared_ptr<DtRailObstructionInfo> DtRailObstructionInfoPtr;
00071 
00072 struct DT_DLL_vrfmodel DtRailObstruction
00073 {
00074    DtRailObstructionInfoPtr myRailObstructionInfo;
00075    DtEntityCollisionSharedPtr myCollision;
00076 };
00077 
00078 typedef DtBoost::shared_ptr<DtRailObstruction> DtRailObstructionPtr;
00079 
00081 DT_DLL_vrfmodel DtRailObstructionPtr firstObstuctionInLane(const std::list<DtRailObstructionPtr>& obstructionList,
00082                                                         int laneNumber);

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)