1 // This file is generated. Do not edit.
2 
3 #pragma once
4 
5 #include <mbgl/style/color_ramp_property_value.hpp>
6 #include <mbgl/style/layer.hpp>
7 #include <mbgl/style/filter.hpp>
8 #include <mbgl/style/property_value.hpp>
9 #include <mbgl/style/data_driven_property_value.hpp>
10 
11 #include <mbgl/util/color.hpp>
12 
13 namespace mbgl {
14 namespace style {
15 
16 class TransitionOptions;
17 
18 class HeatmapLayer : public Layer {
19 public:
20     HeatmapLayer(const std::string& layerID, const std::string& sourceID);
21     ~HeatmapLayer() final;
22 
23     // Source
24     const std::string& getSourceID() const;
25     const std::string& getSourceLayer() const;
26     void setSourceLayer(const std::string& sourceLayer);
27 
28     void setFilter(const Filter&);
29     const Filter& getFilter() const;
30 
31     // Visibility
32     void setVisibility(VisibilityType) final;
33 
34     // Zoom range
35     void setMinZoom(float) final;
36     void setMaxZoom(float) final;
37 
38     // Paint properties
39 
40     static DataDrivenPropertyValue<float> getDefaultHeatmapRadius();
41     DataDrivenPropertyValue<float> getHeatmapRadius() const;
42     void setHeatmapRadius(DataDrivenPropertyValue<float>);
43     void setHeatmapRadiusTransition(const TransitionOptions&);
44     TransitionOptions getHeatmapRadiusTransition() const;
45 
46     static DataDrivenPropertyValue<float> getDefaultHeatmapWeight();
47     DataDrivenPropertyValue<float> getHeatmapWeight() const;
48     void setHeatmapWeight(DataDrivenPropertyValue<float>);
49     void setHeatmapWeightTransition(const TransitionOptions&);
50     TransitionOptions getHeatmapWeightTransition() const;
51 
52     static PropertyValue<float> getDefaultHeatmapIntensity();
53     PropertyValue<float> getHeatmapIntensity() const;
54     void setHeatmapIntensity(PropertyValue<float>);
55     void setHeatmapIntensityTransition(const TransitionOptions&);
56     TransitionOptions getHeatmapIntensityTransition() const;
57 
58     static ColorRampPropertyValue getDefaultHeatmapColor();
59     ColorRampPropertyValue getHeatmapColor() const;
60     void setHeatmapColor(ColorRampPropertyValue);
61     void setHeatmapColorTransition(const TransitionOptions&);
62     TransitionOptions getHeatmapColorTransition() const;
63 
64     static PropertyValue<float> getDefaultHeatmapOpacity();
65     PropertyValue<float> getHeatmapOpacity() const;
66     void setHeatmapOpacity(PropertyValue<float>);
67     void setHeatmapOpacityTransition(const TransitionOptions&);
68     TransitionOptions getHeatmapOpacityTransition() const;
69 
70     // Private implementation
71 
72     class Impl;
73     const Impl& impl() const;
74 
75     Mutable<Impl> mutableImpl() const;
76     HeatmapLayer(Immutable<Impl>);
77     std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
78 };
79 
80 template <>
is() const81 inline bool Layer::is<HeatmapLayer>() const {
82     return getType() == LayerType::Heatmap;
83 }
84 
85 } // namespace style
86 } // namespace mbgl
87