All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
RoadNamesChunkReader.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "VectorMath.h"
6 #include "ChunkedFileFormat.h"
7 #include "ParsedRoadNames.h"
8 #include "RoadClassification.h"
9 #include <vector>
10 
11 namespace Eegeo
12 {
13  namespace IO
14  {
15  namespace ChunkedFileFormat
16  {
17  namespace RoadNamesChunkReader
18  {
20  {
21  char* pRoadName;
22  int roadNameSizeBytes;
23  int roadClassificationIndex;
24  Eegeo::v3 segmentStartLocalEcef;
25  Eegeo::v3 segmentEndLocalEcef;
26  };
27 
28  struct RoadNames
29  {
30  char* stringTable;
31  int stringTableByteSize;
32  int totalCharacters;
33  std::vector<RoadNameInstance> roads;
34  std::vector<Eegeo::Resources::Roads::RoadClassification> roadClassificationLUT;
35  };
36 
37  void SkipRoadNames(ChunkStream& chunkStream);
38  int ReadRoadNamesVersion0(ChunkStream& chunkStream, dv3 ecefCellOrigin, int maxCharsPerRoadName, std::vector<Resources::Roads::RoadNameData>& roadNamesData);
39  int ReadRoadNamesVersion1Or2(ChunkStream& chunkStream, RoadNames& roadNames);
40 
41  }
42  }
43  }
44 }