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