1 // This file is generated. Edit scripts/generate-style-code.js, then run `make style-code`.
2 
3 #include <mbgl/style/layers/fill_extrusion_layer.hpp>
4 #include <mbgl/style/layers/fill_extrusion_layer_impl.hpp>
5 #include <mbgl/style/layer_observer.hpp>
6 
7 namespace mbgl {
8 namespace style {
9 
FillExtrusionLayer(const std::string & layerID,const std::string & sourceID)10 FillExtrusionLayer::FillExtrusionLayer(const std::string& layerID, const std::string& sourceID)
11     : Layer(makeMutable<Impl>(LayerType::FillExtrusion, layerID, sourceID)) {
12 }
13 
FillExtrusionLayer(Immutable<Impl> impl_)14 FillExtrusionLayer::FillExtrusionLayer(Immutable<Impl> impl_)
15     : Layer(std::move(impl_)) {
16 }
17 
18 FillExtrusionLayer::~FillExtrusionLayer() = default;
19 
impl() const20 const FillExtrusionLayer::Impl& FillExtrusionLayer::impl() const {
21     return static_cast<const Impl&>(*baseImpl);
22 }
23 
mutableImpl() const24 Mutable<FillExtrusionLayer::Impl> FillExtrusionLayer::mutableImpl() const {
25     return makeMutable<Impl>(impl());
26 }
27 
cloneRef(const std::string & id_) const28 std::unique_ptr<Layer> FillExtrusionLayer::cloneRef(const std::string& id_) const {
29     auto impl_ = mutableImpl();
30     impl_->id = id_;
31     impl_->paint = FillExtrusionPaintProperties::Transitionable();
32     return std::make_unique<FillExtrusionLayer>(std::move(impl_));
33 }
34 
stringifyLayout(rapidjson::Writer<rapidjson::StringBuffer> &) const35 void FillExtrusionLayer::Impl::stringifyLayout(rapidjson::Writer<rapidjson::StringBuffer>&) const {
36 }
37 
38 // Source
39 
getSourceID() const40 const std::string& FillExtrusionLayer::getSourceID() const {
41     return impl().source;
42 }
43 
setSourceLayer(const std::string & sourceLayer)44 void FillExtrusionLayer::setSourceLayer(const std::string& sourceLayer) {
45     auto impl_ = mutableImpl();
46     impl_->sourceLayer = sourceLayer;
47     baseImpl = std::move(impl_);
48 }
49 
getSourceLayer() const50 const std::string& FillExtrusionLayer::getSourceLayer() const {
51     return impl().sourceLayer;
52 }
53 
54 // Filter
55 
setFilter(const Filter & filter)56 void FillExtrusionLayer::setFilter(const Filter& filter) {
57     auto impl_ = mutableImpl();
58     impl_->filter = filter;
59     baseImpl = std::move(impl_);
60     observer->onLayerChanged(*this);
61 }
62 
getFilter() const63 const Filter& FillExtrusionLayer::getFilter() const {
64     return impl().filter;
65 }
66 
67 // Visibility
68 
setVisibility(VisibilityType value)69 void FillExtrusionLayer::setVisibility(VisibilityType value) {
70     if (value == getVisibility())
71         return;
72     auto impl_ = mutableImpl();
73     impl_->visibility = value;
74     baseImpl = std::move(impl_);
75     observer->onLayerChanged(*this);
76 }
77 
78 // Zoom range
79 
setMinZoom(float minZoom)80 void FillExtrusionLayer::setMinZoom(float minZoom) {
81     auto impl_ = mutableImpl();
82     impl_->minZoom = minZoom;
83     baseImpl = std::move(impl_);
84     observer->onLayerChanged(*this);
85 }
86 
setMaxZoom(float maxZoom)87 void FillExtrusionLayer::setMaxZoom(float maxZoom) {
88     auto impl_ = mutableImpl();
89     impl_->maxZoom = maxZoom;
90     baseImpl = std::move(impl_);
91     observer->onLayerChanged(*this);
92 }
93 
94 // Layout properties
95 
96 
97 // Paint properties
98 
getDefaultFillExtrusionOpacity()99 PropertyValue<float> FillExtrusionLayer::getDefaultFillExtrusionOpacity() {
100     return { 1 };
101 }
102 
getFillExtrusionOpacity() const103 PropertyValue<float> FillExtrusionLayer::getFillExtrusionOpacity() const {
104     return impl().paint.template get<FillExtrusionOpacity>().value;
105 }
106 
setFillExtrusionOpacity(PropertyValue<float> value)107 void FillExtrusionLayer::setFillExtrusionOpacity(PropertyValue<float> value) {
108     if (value == getFillExtrusionOpacity())
109         return;
110     auto impl_ = mutableImpl();
111     impl_->paint.template get<FillExtrusionOpacity>().value = value;
112     baseImpl = std::move(impl_);
113     observer->onLayerChanged(*this);
114 }
115 
setFillExtrusionOpacityTransition(const TransitionOptions & options)116 void FillExtrusionLayer::setFillExtrusionOpacityTransition(const TransitionOptions& options) {
117     auto impl_ = mutableImpl();
118     impl_->paint.template get<FillExtrusionOpacity>().options = options;
119     baseImpl = std::move(impl_);
120 }
121 
getFillExtrusionOpacityTransition() const122 TransitionOptions FillExtrusionLayer::getFillExtrusionOpacityTransition() const {
123     return impl().paint.template get<FillExtrusionOpacity>().options;
124 }
125 
getDefaultFillExtrusionColor()126 DataDrivenPropertyValue<Color> FillExtrusionLayer::getDefaultFillExtrusionColor() {
127     return { Color::black() };
128 }
129 
getFillExtrusionColor() const130 DataDrivenPropertyValue<Color> FillExtrusionLayer::getFillExtrusionColor() const {
131     return impl().paint.template get<FillExtrusionColor>().value;
132 }
133 
setFillExtrusionColor(DataDrivenPropertyValue<Color> value)134 void FillExtrusionLayer::setFillExtrusionColor(DataDrivenPropertyValue<Color> value) {
135     if (value == getFillExtrusionColor())
136         return;
137     auto impl_ = mutableImpl();
138     impl_->paint.template get<FillExtrusionColor>().value = value;
139     baseImpl = std::move(impl_);
140     observer->onLayerChanged(*this);
141 }
142 
setFillExtrusionColorTransition(const TransitionOptions & options)143 void FillExtrusionLayer::setFillExtrusionColorTransition(const TransitionOptions& options) {
144     auto impl_ = mutableImpl();
145     impl_->paint.template get<FillExtrusionColor>().options = options;
146     baseImpl = std::move(impl_);
147 }
148 
getFillExtrusionColorTransition() const149 TransitionOptions FillExtrusionLayer::getFillExtrusionColorTransition() const {
150     return impl().paint.template get<FillExtrusionColor>().options;
151 }
152 
getDefaultFillExtrusionTranslate()153 PropertyValue<std::array<float, 2>> FillExtrusionLayer::getDefaultFillExtrusionTranslate() {
154     return { {{ 0, 0 }} };
155 }
156 
getFillExtrusionTranslate() const157 PropertyValue<std::array<float, 2>> FillExtrusionLayer::getFillExtrusionTranslate() const {
158     return impl().paint.template get<FillExtrusionTranslate>().value;
159 }
160 
setFillExtrusionTranslate(PropertyValue<std::array<float,2>> value)161 void FillExtrusionLayer::setFillExtrusionTranslate(PropertyValue<std::array<float, 2>> value) {
162     if (value == getFillExtrusionTranslate())
163         return;
164     auto impl_ = mutableImpl();
165     impl_->paint.template get<FillExtrusionTranslate>().value = value;
166     baseImpl = std::move(impl_);
167     observer->onLayerChanged(*this);
168 }
169 
setFillExtrusionTranslateTransition(const TransitionOptions & options)170 void FillExtrusionLayer::setFillExtrusionTranslateTransition(const TransitionOptions& options) {
171     auto impl_ = mutableImpl();
172     impl_->paint.template get<FillExtrusionTranslate>().options = options;
173     baseImpl = std::move(impl_);
174 }
175 
getFillExtrusionTranslateTransition() const176 TransitionOptions FillExtrusionLayer::getFillExtrusionTranslateTransition() const {
177     return impl().paint.template get<FillExtrusionTranslate>().options;
178 }
179 
getDefaultFillExtrusionTranslateAnchor()180 PropertyValue<TranslateAnchorType> FillExtrusionLayer::getDefaultFillExtrusionTranslateAnchor() {
181     return { TranslateAnchorType::Map };
182 }
183 
getFillExtrusionTranslateAnchor() const184 PropertyValue<TranslateAnchorType> FillExtrusionLayer::getFillExtrusionTranslateAnchor() const {
185     return impl().paint.template get<FillExtrusionTranslateAnchor>().value;
186 }
187 
setFillExtrusionTranslateAnchor(PropertyValue<TranslateAnchorType> value)188 void FillExtrusionLayer::setFillExtrusionTranslateAnchor(PropertyValue<TranslateAnchorType> value) {
189     if (value == getFillExtrusionTranslateAnchor())
190         return;
191     auto impl_ = mutableImpl();
192     impl_->paint.template get<FillExtrusionTranslateAnchor>().value = value;
193     baseImpl = std::move(impl_);
194     observer->onLayerChanged(*this);
195 }
196 
setFillExtrusionTranslateAnchorTransition(const TransitionOptions & options)197 void FillExtrusionLayer::setFillExtrusionTranslateAnchorTransition(const TransitionOptions& options) {
198     auto impl_ = mutableImpl();
199     impl_->paint.template get<FillExtrusionTranslateAnchor>().options = options;
200     baseImpl = std::move(impl_);
201 }
202 
getFillExtrusionTranslateAnchorTransition() const203 TransitionOptions FillExtrusionLayer::getFillExtrusionTranslateAnchorTransition() const {
204     return impl().paint.template get<FillExtrusionTranslateAnchor>().options;
205 }
206 
getDefaultFillExtrusionPattern()207 PropertyValue<std::string> FillExtrusionLayer::getDefaultFillExtrusionPattern() {
208     return { "" };
209 }
210 
getFillExtrusionPattern() const211 PropertyValue<std::string> FillExtrusionLayer::getFillExtrusionPattern() const {
212     return impl().paint.template get<FillExtrusionPattern>().value;
213 }
214 
setFillExtrusionPattern(PropertyValue<std::string> value)215 void FillExtrusionLayer::setFillExtrusionPattern(PropertyValue<std::string> value) {
216     if (value == getFillExtrusionPattern())
217         return;
218     auto impl_ = mutableImpl();
219     impl_->paint.template get<FillExtrusionPattern>().value = value;
220     baseImpl = std::move(impl_);
221     observer->onLayerChanged(*this);
222 }
223 
setFillExtrusionPatternTransition(const TransitionOptions & options)224 void FillExtrusionLayer::setFillExtrusionPatternTransition(const TransitionOptions& options) {
225     auto impl_ = mutableImpl();
226     impl_->paint.template get<FillExtrusionPattern>().options = options;
227     baseImpl = std::move(impl_);
228 }
229 
getFillExtrusionPatternTransition() const230 TransitionOptions FillExtrusionLayer::getFillExtrusionPatternTransition() const {
231     return impl().paint.template get<FillExtrusionPattern>().options;
232 }
233 
getDefaultFillExtrusionHeight()234 DataDrivenPropertyValue<float> FillExtrusionLayer::getDefaultFillExtrusionHeight() {
235     return { 0 };
236 }
237 
getFillExtrusionHeight() const238 DataDrivenPropertyValue<float> FillExtrusionLayer::getFillExtrusionHeight() const {
239     return impl().paint.template get<FillExtrusionHeight>().value;
240 }
241 
setFillExtrusionHeight(DataDrivenPropertyValue<float> value)242 void FillExtrusionLayer::setFillExtrusionHeight(DataDrivenPropertyValue<float> value) {
243     if (value == getFillExtrusionHeight())
244         return;
245     auto impl_ = mutableImpl();
246     impl_->paint.template get<FillExtrusionHeight>().value = value;
247     baseImpl = std::move(impl_);
248     observer->onLayerChanged(*this);
249 }
250 
setFillExtrusionHeightTransition(const TransitionOptions & options)251 void FillExtrusionLayer::setFillExtrusionHeightTransition(const TransitionOptions& options) {
252     auto impl_ = mutableImpl();
253     impl_->paint.template get<FillExtrusionHeight>().options = options;
254     baseImpl = std::move(impl_);
255 }
256 
getFillExtrusionHeightTransition() const257 TransitionOptions FillExtrusionLayer::getFillExtrusionHeightTransition() const {
258     return impl().paint.template get<FillExtrusionHeight>().options;
259 }
260 
getDefaultFillExtrusionBase()261 DataDrivenPropertyValue<float> FillExtrusionLayer::getDefaultFillExtrusionBase() {
262     return { 0 };
263 }
264 
getFillExtrusionBase() const265 DataDrivenPropertyValue<float> FillExtrusionLayer::getFillExtrusionBase() const {
266     return impl().paint.template get<FillExtrusionBase>().value;
267 }
268 
setFillExtrusionBase(DataDrivenPropertyValue<float> value)269 void FillExtrusionLayer::setFillExtrusionBase(DataDrivenPropertyValue<float> value) {
270     if (value == getFillExtrusionBase())
271         return;
272     auto impl_ = mutableImpl();
273     impl_->paint.template get<FillExtrusionBase>().value = value;
274     baseImpl = std::move(impl_);
275     observer->onLayerChanged(*this);
276 }
277 
setFillExtrusionBaseTransition(const TransitionOptions & options)278 void FillExtrusionLayer::setFillExtrusionBaseTransition(const TransitionOptions& options) {
279     auto impl_ = mutableImpl();
280     impl_->paint.template get<FillExtrusionBase>().options = options;
281     baseImpl = std::move(impl_);
282 }
283 
getFillExtrusionBaseTransition() const284 TransitionOptions FillExtrusionLayer::getFillExtrusionBaseTransition() const {
285     return impl().paint.template get<FillExtrusionBase>().options;
286 }
287 
288 } // namespace style
289 } // namespace mbgl
290