#pragma once #include #include #include namespace mbgl { class RenderRasterDEMSource final : public RenderTileSource { public: explicit RenderRasterDEMSource(Immutable); void update(Immutable, const std::vector>&, bool needsRendering, bool needsRelayout, const TileParameters&) final; std::unordered_map> queryRenderedFeatures(const ScreenLineString& geometry, const TransformState& transformState, const std::vector& layers, const RenderedQueryOptions& options, const mat4& projMatrix) const override; std::vector querySourceFeatures(const SourceQueryOptions&) const override; uint8_t getMaxZoom() const override { return maxzoom; } private: const style::RasterSource::Impl& impl() const; optional tileset; uint8_t maxzoom = util::TERRAIN_RGB_MAXZOOM; void onTileChanged(Tile&) override; }; } // namespace mbgl