00001 // RoadSegment.cpp: implementation of the RoadSegment class. 00002 // 00004 00005 #include "stdafx.h" 00006 #include "RoadSegment.h" 00007 00008 #ifdef _DEBUG 00009 #undef THIS_FILE 00010 static char THIS_FILE[]=__FILE__; 00011 #define new DEBUG_NEW 00012 #endif 00013 00015 // Construction/Destruction 00017 00018 RoadSegment::RoadSegment() 00019 { 00020 00021 } 00022 00023 RoadSegment::~RoadSegment() 00024 { 00025 00026 } 00027 00028 int RoadSegment::getBeginning() const 00029 { 00030 return m_Beginning; 00031 } 00032 00033 int RoadSegment::getEnd() const 00034 { 00035 return m_End; 00036 } 00037 00038 void RoadSegment::setBeginning(int beginning) 00039 { 00040 m_Beginning = beginning; 00041 } 00042 00043 void RoadSegment::setEnd(int end) 00044 { 00045 m_End = end; 00046 } 00047 00048 void RoadSegment::addVehicle(Vehicle *pVeh) 00049 { 00050 00051 } 00052 00053 void RoadSegment::removeVehicle(Vehicle *pVeh) 00054 { 00055 00056 } 00057 00058 bool RoadSegment::getDirPos() 00059 { 00060 return m_DirPos; 00061 } 00062 00063 void RoadSegment::setIDMParams_Car(CIDMParameterSet *Params) 00064 { 00065 m_pIDMParams_Car = Params; 00066 } 00067 00068 void RoadSegment::setIDMParams_Crane(CIDMParameterSet *Params) 00069 { 00070 m_pIDMParams_Crane = Params; 00071 } 00072 00073 void RoadSegment::setIDMParams_SmallTruck(CIDMParameterSet *Params) 00074 { 00075 m_pIDMParams_SmallTruck = Params; 00076 } 00077 00078 void RoadSegment::setIDMParams_LargeTruck(CIDMParameterSet *Params) 00079 { 00080 m_pIDMParams_LargeTruck = Params; 00081 } 00082 00083 void RoadSegment::setIDMParams_Lowloader(CIDMParameterSet *Params) 00084 { 00085 m_pIDMParams_Lowloader = Params; 00086 } 00087 00088 CIDMParameterSet* RoadSegment::getIDMParams(WORD veh_id) 00089 { 00090 switch(veh_id) 00091 { 00092 case VEH_ID_CAR: 00093 return m_pIDMParams_Car; 00094 case VEH_ID_SMALLTRUCK: 00095 return m_pIDMParams_SmallTruck; 00096 case VEH_ID_LARGETRUCK: 00097 return m_pIDMParams_LargeTruck; 00098 case VEH_ID_CRANE: 00099 return m_pIDMParams_Crane; 00100 case VEH_ID_LOWLOADER: 00101 return m_pIDMParams_Lowloader; 00102 default: 00103 return m_pIDMParams_Car; 00104 } 00105 } 00106 00114 bool RoadSegment::CompareSegments(const RoadSegment* a, const RoadSegment* b) 00115 { 00116 int startA = a->getBeginning(); 00117 int startB = b->getBeginning(); 00118 return startA < startB; 00119 }