DataIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ESpoj.h
Go to the documentation of this file.
1 #if !defined _ELINKA_SPOJ_H_
2 #define _ELINKA_SPOJ_H_
3 
4 // SYSTEM INCLUDES
5 #include <vector>
6 #include <string>
7 
8 // DATAIO INCLUDES
9 #include "dataio/DataIODefines.h"
10 
11 // CORE INCLUDES
12 #include "core/common/Node.h"
13 #include "core/common/EDate.h"
14 #include "core/common/eplatform.h"
15 
16 const short const_TableID_Spoj = 69;
17 
18 namespace EM
19 {
20  namespace Strojcek
21  {
22  namespace VstupneUdaje
23  {
24  class ECustomPropertyValue;
25 
26  namespace CestovnePoriadky
27  {
28  class ERootCP;
29  class ELinka;
30  class ESpojCol;
31  class ELinkaZastavka;
32  class EZastavkaTextArray;
33  class ESpojZastavkaCol;
34  class ESpojObchadzkaCol;
35  class ESpojPlatnostCol;
36  class EZastavkaVypis;
37  class ELinkaSmer;
38  class ENastupiste;
39  class ESpojZastavka;
40 
41  class DATAIO_API ESpoj : public ENode
42  {
43  public:
44  enum FlagTime
45  {
46  // Zastavky pred zaciatkom alebo po konci spoja a NEspristupnuju sa pomocou funkcie ESpoj::GetBusStopCollection. Su to zastavky na linke, ktore nie su pre dany spoj pouzite.
47  Nejde = 1,
48 
49  // Obchadzajuce zastavky sa nedostavaju do aplikacie a NEspristupnuju sa pomocou funkcie ESpoj::GetBusStopCollection. Su to zastavky na linke, ktore nie su pre dany spoj pouzite.
50  Obchadza = 2,
51 
52  // Prechadzajuce zastavky su take, ktorymi vozidlo prechadza, ale na nich nestoji. SPRISTUPNUJU sa aplikacii pomocou funkcie ESpoj::GetBusStopCollection.
53  Prechadza = 3,
54 
55  // Klasicka zastavka na spoji, na ktorej autobus zastavuje.
56  Ide = 4
57  };
58 
60  {
61  Numide = 0,
62  Numprech = 1,
63  Numobch = 2,
64  Numnejde = 10
65  };
66 
67  enum Number
68  {
69  Km = 1,
70  PocetPrechodovZon = 2,
71  PocetZon = 3
72  };
73 
74  enum TripState
75  {
76  Original = 0, // original trip - trip was read from input data and wasn't modified
77  Overwritten = 1, // operational plan trip that replaced existing trip
78  Inserted = 2 // operational plan trip which was appended to trips collection (trip with this number did not exist)
79  };
80 
81  ESpoj( ESpojCol *owner );
82  virtual ~ESpoj();
83 
84  unsigned short GetCislo();
85  long GetSpojID();
86  unsigned short GetVzorSpojPoradie();
87  unsigned short GetCasPosun();
88  unsigned short GetStartTime();
89  unsigned short GetStopTime();
90  unsigned char GetVypocet();
91  unsigned char GetZachadzka();
92  unsigned char GetCisloCenovejSkupiny();
93  unsigned long GetCisloPkrLinky();
94  unsigned short GetCisloPkrSpoj();
95  unsigned short GetTabula();
96  long GetSpojZastavkyOffset();
97  long GetSpojObchadzkyOffset();
98  long GetSpojPlatnostiOffset();
99 
103  long GetBinaryTripIndex();
104  unsigned char GetSmer();
105  short GetSkupinaSpojov();
106 
110  unsigned short GetBinaryLineIndex();
111  long GetPKID();
112  unsigned char GetTypSpojaID();
113  std::string GetCustomPropertyValue( short customPropertyType );
114  std::string GetKoncovaZastavkaPreTabule();
115 
116  void SetCislo( unsigned short cislo );
117  void SetSpojID( long spojID );
118  void SetVzorSpojPoradie( unsigned short vzorSpojPoradie );
119  void SetCasPosun( unsigned short casPosun );
120  void SetStartTime( unsigned short startTime );
121  void SetStopTime( unsigned short stopTime );
122  void SetVypocet( unsigned char vypocet );
123  void SetZachadzka( unsigned char zachadzka );
124  void SetCisloCenovejSkupiny( unsigned char cisloCenovejSkupiny );
125  void SetCisloPkrLinky( unsigned long cisloPkrLinky );
126  void SetCisloPkrSpoj( unsigned short cisloPkrSpoj );
127  void SetTabula( unsigned short tabula );
128  void SetSpojZastavkyOffset( long spojZastavkyOffset );
129  void SetSpojObchadzkyOffset( long spojObchadzkyOffset );
130  void SetSpojPlatnostiOffset( long spojPlatnostiOffset );
131 
135  void SetBinaryTripIndex( long binaryTripIndex );
136  void SetSmer( unsigned char smer );
137  void SetSkupinaSpojov( short skupinaSpojov );
138 
142  void SetBinaryLineIndex( unsigned short binaryLineIndex );
143  void SetPKID( unsigned short pkid );
144  void SetTypSpojaID( unsigned char typSpojaID );
145 
146  ESpojZastavkaCol *GetSpojZastavky();
147  ESpojObchadzkaCol *GetSpojObchadzkaCol();
148  ESpojPlatnostCol *GetSpojPlatnostCol();
149  ESpojCol *GetOwner();
150 
151  ELinkaZastavka *FindByTcZast( unsigned short od, unsigned short Tc );
152 
161  unsigned short GetKmBetween( unsigned short poradieSpojZast1, unsigned short poradieSpojZast2 );
162 
163  // funkacia na vypocet jednotlivych casti v pokr spoji
164  unsigned short GetKmBetweenSimple( unsigned short poradieSpojZast1, unsigned short poradieSpojZast2, short poradieZast1VPokrSpoji, short poradieZast2VPokrSpoji );
165 
174  unsigned short GetPocetPrechodovZonBetween( unsigned short poradieSpojZast1, unsigned short poradieSpojZast2 );
175 
184  unsigned short GetPocetZonBetween( unsigned short poradieSpojZast1, unsigned short poradieSpojZast2 );
185 
192  void GetZonyBetween( unsigned short poradieSpojZast1, unsigned short poradieSpojZast2, std::vector<int> *zony );
193 
203  unsigned short GetKmOrZonyBetween( unsigned short poradieSpojZast1, unsigned short poradieSpojZast2, Number number, std::vector<unsigned short> validTimeTicketsZones = std::vector<unsigned short>(), std::vector<unsigned short> zonesToPrefer = std::vector<unsigned short>(), std::vector<int> *zony = NULL );
204 
221  unsigned short GetKmOrZonyBetweenSimple( unsigned short poradieSpojZast1, unsigned short poradieSpojZast2, Number number, long *outNumberZona = NULL, long numberOfZona = -1, int *arrayOfZon = NULL, bool *ZonaVystup = NULL, short poradieZast1VPokrSpoji = 0, short poradieZast2VPokrSpoji = 0 );
222 
223  std::vector<int> GetZonyBetweenSimple( unsigned short poradieSpojZast1, unsigned short poradieSpojZast2, std::vector<unsigned short> validTimeTicketsZones, std::vector<unsigned short> zonesToPrefer, short poradieZast1VPokrSpoji = 0, short poradieZast2VPokrSpoji = 0 );
224 
225  EZastavkaTextArray *GetZastTexty( unsigned short od );
226 
227  // Defualt params - continuous(true), commandNumber(selected command number), includeTranspassing(false)
228  long GetBusStopCollection( std::vector<EZastavkaVypis *> &busStopCollection, bool includeContinuous, long commandNumber, bool includeTranspassing );
229  long GetBusStopCollection( std::vector<EZastavkaVypis *> &busStopCollection, bool includeContinuous, long commandNumber, bool includeTranspassing, bool separeContinuesBusStops );
230 
231  void ClearCachedBusStops();
232 
233  ESpoj *NextPripojenySpoj();
234  ESpoj *GetPripojenySpojBy( unsigned long cisloPkrLinky, unsigned short cisloPkrSpoj );
235  long GetCountSpojToFindingSpoj( unsigned long cisloPkrLinky, unsigned short cisloPkrSpoj );
236 
237  // vrati pocet zastavok cez ktore ide
238  unsigned short GetCountZastavkyIde( unsigned short poradieSpojZast1, unsigned short poradieSpojZast2 );
239 
240  unsigned short GetCountZastavkyIdePrechadza( unsigned short poradieSpojZast1, unsigned short poradieSpojZast2 );
241 
242  bool IsPlatny( EM::Common::EDate date );
243 
244  ESpoj *GetLeft();
245  ESpoj *GetRight();
246 
256  unsigned short JumpBywaySection( unsigned short busStopFrom, unsigned short poradieZacZast1, unsigned short poradieKoncZast2 );
257 
258  // ak je zastavka v obchadzke, vrati koniec obch
259  short GetObchadzkyByZast( unsigned short stopOrder, unsigned short stopOrderRealStop, bool end, bool obchForTT );
260  short GetObchadzkyByZast( unsigned short stopOrder, bool end, bool obchForTT );
261 
262  TripState GetState() const;
263  void SetState( const TripState tripState );
264 
265  private:
266  class DataClass;
267  DataClass *d;
268  };
269  }
270  }
271  }
272 }
273 
274 #endif
Class ECol : Objekt je predok pre vsetky nasledujuce kolekcie
Definition: ColReader.h:15
const short const_TableID_Spoj
Definition: ESpoj.h:16
#define DATAIO_API
Definition: DataIODefines.h:10