6 #include "BuildingFootprints.h"
10 #include "BuildingFootprint.h"
11 #include "MortonKeyLRUCache.h"
21 namespace BuildingFootprints
26 BuildingFootprintServiceRequestId requestId,
28 const std::vector<BuildingFootprint>& footprints)
29 : m_requestId(requestId)
30 , m_isSuccess(success)
31 , m_footprints(footprints)
34 BuildingFootprintServiceRequestId GetRequestId()
const {
return m_requestId; }
36 bool Succeeded()
const {
return m_isSuccess; }
38 const std::vector<BuildingFootprint>& Footprints()
const {
return m_footprints; }
40 BuildingFootprintServiceRequestId m_requestId;
42 std::vector<BuildingFootprint> m_footprints;
54 static const float MaxQueryRadius;
62 BuildingFootprintServiceRequestId GetClosestFootprint(
const Eegeo::Space::LatLong& pointLatLong,
float searchRadiusMetres,
bool allFootprintsInGroup,
IQueryCallback& callback);
66 void CancelRequest(BuildingFootprintServiceRequestId requestId);
73 std::vector<Streaming::MortonKey> GetKeysInUse()
const;
77 void PruneCache(
int desiredCacheSize);
79 BuildingFootprintServiceRequestId CreateQuery(
const QueryParams& queryParams);
83 BuildingFootprintServiceRequestId NextRequestId();
85 bool CanMakeWebRequests()
const;
89 const int m_cacheSize;
94 std::deque<BuildingFootprintServiceQuery*> m_pendingExecution;
95 std::vector<BuildingFootprintServiceQuery*> m_pendingCompletion;