Program Listing for File SimpleElevationProvider.hpp

Return to documentation for file (src/navtk/geospatial/providers/SimpleElevationProvider.hpp)

#pragma once

#include <navtk/aspn.hpp>
#include <navtk/geospatial/providers/SimpleProvider.hpp>
#include <navtk/geospatial/sources/ElevationSource.hpp>

namespace navtk {
namespace geospatial {

class SimpleElevationProvider : public SimpleProvider {
public:
    SimpleElevationProvider(
        not_null<std::shared_ptr<ElevationSource>> src,
        AspnMeasurementAltitudeReference out_ref = ASPN_MEASUREMENT_ALTITUDE_REFERENCE_HAE);

    SimpleElevationProvider(
        std::vector<not_null<std::shared_ptr<ElevationSource>>> srcs = {},
        AspnMeasurementAltitudeReference out_ref = ASPN_MEASUREMENT_ALTITUDE_REFERENCE_HAE);

    void add_source(not_null<std::shared_ptr<ElevationSource>> src);

private:
    AspnMeasurementAltitudeReference output_reference;
};
}  // namespace geospatial
}  // namespace navtk