00001
00006 #ifndef __KREUZUNG_
00007 #define __KREUZUNG_
00008
00009 #include "Fehler.h"
00010 #include "ListenDaten.h"
00011 #include "Spur.h"
00012
00017 class Kreuzung : public ListenDaten
00018 {
00019 public:
00020 Kreuzung( long int id = 0 );
00021 void takt( double zeitintervall );
00022 void setzeSpur( int himmelsrichtung, int abbiegerichtung, Spur *spur );
00023 Spur* gibSpur( int himmelsrichtung, int abbiegerichtung );
00024 void aufraeumen();
00025 void setzeAmpelalgorithmus( int id );
00026 void exportieren( string cvsDateiname );
00027
00028 friend ostream &operator<< ( ostream &os, Kreuzung *kreuzung );
00029 void inString( );
00030
00031 private:
00032
00033 void algorithmusZeitZeit( double zeitintervall );
00034 void algorithmusZeitMenge( double zeitintervall );
00035 void algorithmusStopp( double zeitintervall );
00036 void algorithmusMengeMenge( double zeitintervall );
00037 void clear();
00038
00039 Spur* spurenListe_[4][3];
00040 int idAmpelAlgorithmus_;
00041 double zeitLetzteSchaltung_[4][3];
00042 double zeitLetzteSchaltungGlobal_;
00043 int mengeLetzteSchaltungGlobal_;
00044 int schaltungstakt_;
00045 double schaltzeit_;
00046 int statistik_[4][3][4];
00047 int schaltreihenfolge_[8];
00048 int schaltmenge_[8];
00049 };
00050
00051 #endif
00052
00053