#include #include #include #include #include namespace mbgl { const style::LayerTypeInfo* FillExtrusionLayerFactory::getTypeInfo() const noexcept { return style::FillExtrusionLayer::Impl::staticTypeInfo(); } std::unique_ptr FillExtrusionLayerFactory::createLayer(const std::string& id, const style::conversion::Convertible& value) noexcept { optional source = getSource(value); if (!source) { return nullptr; } return std::unique_ptr(new style::FillExtrusionLayer(id, *source)); } std::unique_ptr FillExtrusionLayerFactory::createLayout(const LayoutParameters& parameters, std::unique_ptr layer, const std::vector>& group) noexcept { using namespace style; using LayoutType = PatternLayout; return std::make_unique(parameters.bucketParameters, group, std::move(layer), parameters); } std::unique_ptr FillExtrusionLayerFactory::createRenderLayer(Immutable impl) noexcept { assert(impl->getTypeInfo() == getTypeInfo()); return std::make_unique(staticImmutableCast(impl)); } } // namespace mbgl