Program Listing for File SpatialMapDataProvider.hpp
↰ Return to documentation for file (src/navtk/geospatial/providers/SpatialMapDataProvider.hpp)
#pragma once
#include <memory>
#include <utility>
#include <vector>
#include <navtk/geospatial/sources/SpatialMapDataSource.hpp>
#include <navtk/not_null.hpp>
namespace navtk {
namespace geospatial {
class SpatialMapDataProvider {
public:
virtual ~SpatialMapDataProvider() = default;
SpatialMapDataProvider(not_null<std::shared_ptr<SpatialMapDataSource>> src);
SpatialMapDataProvider(std::vector<not_null<std::shared_ptr<SpatialMapDataSource>>> srcs = {});
void add_source(not_null<std::shared_ptr<SpatialMapDataSource>> src);
virtual std::pair<bool, double> lookup_datum(double latitude, double longitude) const = 0;
protected:
std::vector<not_null<std::shared_ptr<SpatialMapDataSource>>> sources;
};
} // namespace geospatial
} // namespace navtk