1 #ifndef OSMSCOUT_IMPORT_GENOPTIMIZEAREASLOWZOOM_H 2 #define OSMSCOUT_IMPORT_GENOPTIMIZEAREASLOWZOOM_H 23 #include <osmscout/import/ImportFeatures.h> 26 #include <unordered_map> 41 class OptimizeAreasLowZoomGenerator
CLASS_FINAL :
public ImportModule
44 typedef std::unordered_map<FileOffset,FileOffset> FileOffsetFileOffsetMap;
49 MagnificationLevel optLevel;
50 MagnificationLevel indexLevel;
58 uint8_t dataOffsetBytes;
70 void GetAreaTypesToOptimize(
const TypeConfig& typeConfig,
73 bool WriteTypeData(FileWriter& writer,
74 const TypeData& data);
76 bool WriteHeader(FileWriter& writer,
77 const std::list<TypeData>& areaTypesData,
78 const MagnificationLevel& optimizeMaxMap);
80 bool GetAreas(
const TypeConfig& typeConfig,
81 const ImportParameter& parameter,
84 const TypeInfoSet& types,
85 std::vector<std::list<AreaRef> >& areas,
86 TypeInfoSet& loadedTypes);
88 void GetAreaIndexLevel(
const ImportParameter& parameter,
89 const std::list<AreaRef>& areas,
92 void WriteAreas(
const TypeConfig& typeConfig,
94 const std::list<AreaRef>& areas,
95 FileOffsetFileOffsetMap& offsets);
97 bool WriteAreaBitmap(Progress& progress,
99 const std::list<AreaRef>& areas,
100 const FileOffsetFileOffsetMap& offsets,
103 bool HandleAreas(
const ImportParameter& parameter,
105 const TypeConfig& typeConfig,
107 const TypeInfoSet& types,
108 std::list<TypeData>& typesData);
110 void OptimizeAreas(Progress& progress,
111 const std::list<AreaRef>& areas,
112 std::list<AreaRef>& optimizedAreas,
117 const Magnification& magnification,
118 TransPolygon::OptimizeMethod optimizeAreaMethod);
121 void GetDescription(
const ImportParameter& parameter,
122 ImportModuleDescription& description)
const override;
125 const ImportParameter& parameter,
126 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