1 #ifndef OSMSCOUT_IMPORT_GENOPTIMIZEWAYSLOWZOOM_H 2 #define OSMSCOUT_IMPORT_GENOPTIMIZEWAYSLOWZOOM_H 23 #include <osmscout/import/ImportFeatures.h> 27 #include <unordered_map> 42 class OptimizeWaysLowZoomGenerator
CLASS_FINAL :
public ImportModule
45 typedef std::unordered_map<FileOffset,FileOffset> FileOffsetFileOffsetMap;
50 MagnificationLevel optLevel;
51 MagnificationLevel indexLevel;
59 uint8_t dataOffsetBytes;
69 inline bool HasEntries()
71 return indexCells>0 &&
77 void GetWayTypesToOptimize(
const TypeConfig& typeConfig,
78 std::set<TypeInfoRef>& types);
80 bool WriteTypeData(FileWriter& writer,
81 const TypeData& data);
83 bool WriteHeader(FileWriter& writer,
84 const std::list<TypeData>& wayTypesData,
85 MagnificationLevel optimizeMaxMap);
87 bool GetWays(
const TypeConfig& typeConfig,
88 const ImportParameter& parameter,
91 std::set<TypeInfoRef>& types,
92 std::vector<std::list<WayRef> >& ways);
94 void MergeWays(Progress& progress,
95 const std::list<WayRef>& ways,
96 std::list<WayRef>& newWays);
98 void GetWayIndexLevel(
const ImportParameter& parameter,
99 const std::list<WayRef>& ways,
102 void OptimizeWays(Progress& progress,
103 const std::list<WayRef>& ways,
104 std::list<WayRef>& optimizedWays,
109 const Magnification& magnification,
110 TransPolygon::OptimizeMethod optimizeWayMethod);
112 void WriteWays(
const TypeConfig& typeConfig,
114 const std::list<WayRef>& ways,
115 FileOffsetFileOffsetMap& offsets);
117 bool WriteWayBitmap(Progress& progress,
119 const std::list<WayRef>& ways,
120 const FileOffsetFileOffsetMap& offsets,
123 bool HandleWays(
const ImportParameter& parameter,
125 const TypeConfig& typeConfig,
127 const std::set<TypeInfoRef>& types,
128 std::list<TypeData>& typesData);
131 void GetDescription(
const ImportParameter& parameter,
132 ImportModuleDescription& description)
const override;
135 const ImportParameter& parameter,
136 Progress& progress)
override;
#define CLASS_FINAL
Definition: Compiler.h:26
std::shared_ptr< TypeInfo > TypeInfoRef
Definition: TypeConfig.h:58
uint64_t FileOffset
Definition: OSMScoutTypes.h:47
std::shared_ptr< TypeConfig > TypeConfigRef
Definition: TypeConfig.h:1227