1 #ifndef OSMSCOUT_AREAAREAINDEX_H 2 #define OSMSCOUT_AREAAREAINDEX_H 63 std::array<FileOffset, 4> children;
69 struct IndexCacheValueSizer :
public IndexCache::ValueSizer
71 size_t GetSize(
const IndexCell& value)
const override 75 memory+=
sizeof(value);
99 std::string datafilename;
100 mutable FileScanner scanner;
105 mutable IndexCache indexCache;
107 mutable std::mutex lookupMutex;
110 bool GetIndexCell(uint32_t level,
112 IndexCell& indexCell,
115 bool ReadCellData(
const TypeConfig& typeConfig,
116 const TypeInfoSet& types,
118 std::vector<DataBlockSpan>& spans)
const;
120 void PushCellsForNextLevel(
double minlon,
124 const IndexCell & cellIndexData,
128 std::vector<CellRef>& nextCellRefs)
const;
131 explicit AreaAreaIndex(
size_t cacheSize);
132 virtual ~AreaAreaIndex();
135 bool Open(
const std::string& path,
bool memoryMappedData);
139 return scanner.IsOpen();
147 bool GetAreasInArea(
const TypeConfig& typeConfig,
148 const GeoBox& boundingBox,
150 const TypeInfoSet& types,
151 std::vector<DataBlockSpan>& spans,
152 TypeInfoSet& loadedTypes)
const;
std::shared_ptr< AreaAreaIndex > AreaAreaIndexRef
Definition: AreaAreaIndex.h:159
Prints details for debugging, if debug flag (performance, data) is set in renderer parameter...
Definition: MapPainter.h:58
OSMSCOUT_API const std::array< CellDimension, CELL_DIMENSION_COUNT > cellDimension
bool IsOpen() const
Definition: AreaAreaIndex.h:137
#define OSMSCOUT_API
Definition: CoreImportExport.h:45
std::string GetFilename() const
Definition: AreaAreaIndex.h:142
Definition: AreaAreaIndex.h:52
uint64_t FileOffset
Definition: OSMScoutTypes.h:47
static const char *const AREA_AREA_IDX
Definition: AreaAreaIndex.h:55