1#ifndef LIBOSMSCOUT_AREAYINDEX_H
2#define LIBOSMSCOUT_AREAYINDEX_H
24#include <unordered_set>
62 std::string indexFileName;
63 std::string fullIndexFileName;
65 std::vector<TypeData> typeData;
67 mutable std::mutex lookupMutex;
74 const GeoBox& boundingBox,
75 std::unordered_set<FileOffset>& offsets)
const;
77 explicit AreaIndex(
const std::string &indexFileName);
95 const std::string& path,
96 bool memoryMappedData);
105 return fullIndexFileName;
109 const TypeInfoSet& types,
110 std::vector<FileOffset>& offsets,
111 TypeInfoSet& loadedTypes)
const;
#define OSMSCOUT_API
Definition CoreImportExport.h:45
AreaIndex(const AreaIndex &)=delete
FileScanner scanner
Scanner instance for reading this file.
Definition AreaIndex.h:70
std::string GetFilename() const
Definition AreaIndex.h:103
virtual void ReadTypeData(const TypeConfigRef &typeConfig, TypeData &data)=0
AreaIndex & operator=(const AreaIndex &)=delete
bool IsOpen() const
Definition AreaIndex.h:98
AreaIndex(const std::string &indexFileName)
AreaIndex(AreaIndex &&)=delete
bool Open(const TypeConfigRef &typeConfig, const std::string &path, bool memoryMappedData)
AreaIndex & operator=(AreaIndex &&)=delete
bool GetOffsets(const GeoBox &boundingBox, const TypeInfoSet &types, std::vector< FileOffset > &offsets, TypeInfoSet &loadedTypes) const
void GetOffsets(const TypeData &typeData, const GeoBox &boundingBox, std::unordered_set< FileOffset > &offsets) const
uint64_t FileOffset
Definition OSMScoutTypes.h:46
std::shared_ptr< TypeConfig > TypeConfigRef
Definition TypeConfig.h:1396
std::shared_ptr< TypeInfo > TypeInfoRef
Definition TypeConfig.h:61
Definition AreaIndex.h:44
FileOffset GetDataOffset() const
FileOffset GetCellOffset(size_t x, size_t y) const
uint8_t dataOffsetBytes
Definition AreaIndex.h:48
TypeInfoRef type
Definition AreaIndex.h:45
MagnificationLevel indexLevel
Definition AreaIndex.h:46
GeoBox boundingBox
Definition AreaIndex.h:53
FileOffset bitmapOffset
Definition AreaIndex.h:49
TileIdBox tileBox
Definition AreaIndex.h:51