summaryrefslogtreecommitdiff
path: root/src/mbgl/style/layers/fill_extrusion_layer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/style/layers/fill_extrusion_layer.cpp')
-rw-r--r--src/mbgl/style/layers/fill_extrusion_layer.cpp210
1 files changed, 105 insertions, 105 deletions
diff --git a/src/mbgl/style/layers/fill_extrusion_layer.cpp b/src/mbgl/style/layers/fill_extrusion_layer.cpp
index 89796f098c..d477bf7262 100644
--- a/src/mbgl/style/layers/fill_extrusion_layer.cpp
+++ b/src/mbgl/style/layers/fill_extrusion_layer.cpp
@@ -63,31 +63,31 @@ void FillExtrusionLayer::Impl::stringifyLayout(rapidjson::Writer<rapidjson::Stri
// Paint properties
-PropertyValue<float> FillExtrusionLayer::getDefaultFillExtrusionOpacity() {
- return { 1 };
+PropertyValue<float> FillExtrusionLayer::getDefaultFillExtrusionBase() {
+ return { 0 };
}
-const PropertyValue<float>& FillExtrusionLayer::getFillExtrusionOpacity() const {
- return impl().paint.template get<FillExtrusionOpacity>().value;
+const PropertyValue<float>& FillExtrusionLayer::getFillExtrusionBase() const {
+ return impl().paint.template get<FillExtrusionBase>().value;
}
-void FillExtrusionLayer::setFillExtrusionOpacity(const PropertyValue<float>& value) {
- if (value == getFillExtrusionOpacity())
+void FillExtrusionLayer::setFillExtrusionBase(const PropertyValue<float>& value) {
+ if (value == getFillExtrusionBase())
return;
auto impl_ = mutableImpl();
- impl_->paint.template get<FillExtrusionOpacity>().value = value;
+ impl_->paint.template get<FillExtrusionBase>().value = value;
baseImpl = std::move(impl_);
observer->onLayerChanged(*this);
}
-void FillExtrusionLayer::setFillExtrusionOpacityTransition(const TransitionOptions& options) {
+void FillExtrusionLayer::setFillExtrusionBaseTransition(const TransitionOptions& options) {
auto impl_ = mutableImpl();
- impl_->paint.template get<FillExtrusionOpacity>().options = options;
+ impl_->paint.template get<FillExtrusionBase>().options = options;
baseImpl = std::move(impl_);
}
-TransitionOptions FillExtrusionLayer::getFillExtrusionOpacityTransition() const {
- return impl().paint.template get<FillExtrusionOpacity>().options;
+TransitionOptions FillExtrusionLayer::getFillExtrusionBaseTransition() const {
+ return impl().paint.template get<FillExtrusionBase>().options;
}
PropertyValue<Color> FillExtrusionLayer::getDefaultFillExtrusionColor() {
@@ -117,58 +117,58 @@ TransitionOptions FillExtrusionLayer::getFillExtrusionColorTransition() const {
return impl().paint.template get<FillExtrusionColor>().options;
}
-PropertyValue<std::array<float, 2>> FillExtrusionLayer::getDefaultFillExtrusionTranslate() {
- return { {{ 0, 0 }} };
+PropertyValue<float> FillExtrusionLayer::getDefaultFillExtrusionHeight() {
+ return { 0 };
}
-const PropertyValue<std::array<float, 2>>& FillExtrusionLayer::getFillExtrusionTranslate() const {
- return impl().paint.template get<FillExtrusionTranslate>().value;
+const PropertyValue<float>& FillExtrusionLayer::getFillExtrusionHeight() const {
+ return impl().paint.template get<FillExtrusionHeight>().value;
}
-void FillExtrusionLayer::setFillExtrusionTranslate(const PropertyValue<std::array<float, 2>>& value) {
- if (value == getFillExtrusionTranslate())
+void FillExtrusionLayer::setFillExtrusionHeight(const PropertyValue<float>& value) {
+ if (value == getFillExtrusionHeight())
return;
auto impl_ = mutableImpl();
- impl_->paint.template get<FillExtrusionTranslate>().value = value;
+ impl_->paint.template get<FillExtrusionHeight>().value = value;
baseImpl = std::move(impl_);
observer->onLayerChanged(*this);
}
-void FillExtrusionLayer::setFillExtrusionTranslateTransition(const TransitionOptions& options) {
+void FillExtrusionLayer::setFillExtrusionHeightTransition(const TransitionOptions& options) {
auto impl_ = mutableImpl();
- impl_->paint.template get<FillExtrusionTranslate>().options = options;
+ impl_->paint.template get<FillExtrusionHeight>().options = options;
baseImpl = std::move(impl_);
}
-TransitionOptions FillExtrusionLayer::getFillExtrusionTranslateTransition() const {
- return impl().paint.template get<FillExtrusionTranslate>().options;
+TransitionOptions FillExtrusionLayer::getFillExtrusionHeightTransition() const {
+ return impl().paint.template get<FillExtrusionHeight>().options;
}
-PropertyValue<TranslateAnchorType> FillExtrusionLayer::getDefaultFillExtrusionTranslateAnchor() {
- return { TranslateAnchorType::Map };
+PropertyValue<float> FillExtrusionLayer::getDefaultFillExtrusionOpacity() {
+ return { 1 };
}
-const PropertyValue<TranslateAnchorType>& FillExtrusionLayer::getFillExtrusionTranslateAnchor() const {
- return impl().paint.template get<FillExtrusionTranslateAnchor>().value;
+const PropertyValue<float>& FillExtrusionLayer::getFillExtrusionOpacity() const {
+ return impl().paint.template get<FillExtrusionOpacity>().value;
}
-void FillExtrusionLayer::setFillExtrusionTranslateAnchor(const PropertyValue<TranslateAnchorType>& value) {
- if (value == getFillExtrusionTranslateAnchor())
+void FillExtrusionLayer::setFillExtrusionOpacity(const PropertyValue<float>& value) {
+ if (value == getFillExtrusionOpacity())
return;
auto impl_ = mutableImpl();
- impl_->paint.template get<FillExtrusionTranslateAnchor>().value = value;
+ impl_->paint.template get<FillExtrusionOpacity>().value = value;
baseImpl = std::move(impl_);
observer->onLayerChanged(*this);
}
-void FillExtrusionLayer::setFillExtrusionTranslateAnchorTransition(const TransitionOptions& options) {
+void FillExtrusionLayer::setFillExtrusionOpacityTransition(const TransitionOptions& options) {
auto impl_ = mutableImpl();
- impl_->paint.template get<FillExtrusionTranslateAnchor>().options = options;
+ impl_->paint.template get<FillExtrusionOpacity>().options = options;
baseImpl = std::move(impl_);
}
-TransitionOptions FillExtrusionLayer::getFillExtrusionTranslateAnchorTransition() const {
- return impl().paint.template get<FillExtrusionTranslateAnchor>().options;
+TransitionOptions FillExtrusionLayer::getFillExtrusionOpacityTransition() const {
+ return impl().paint.template get<FillExtrusionOpacity>().options;
}
PropertyValue<std::string> FillExtrusionLayer::getDefaultFillExtrusionPattern() {
@@ -198,58 +198,58 @@ TransitionOptions FillExtrusionLayer::getFillExtrusionPatternTransition() const
return impl().paint.template get<FillExtrusionPattern>().options;
}
-PropertyValue<float> FillExtrusionLayer::getDefaultFillExtrusionHeight() {
- return { 0 };
+PropertyValue<std::array<float, 2>> FillExtrusionLayer::getDefaultFillExtrusionTranslate() {
+ return { {{ 0, 0 }} };
}
-const PropertyValue<float>& FillExtrusionLayer::getFillExtrusionHeight() const {
- return impl().paint.template get<FillExtrusionHeight>().value;
+const PropertyValue<std::array<float, 2>>& FillExtrusionLayer::getFillExtrusionTranslate() const {
+ return impl().paint.template get<FillExtrusionTranslate>().value;
}
-void FillExtrusionLayer::setFillExtrusionHeight(const PropertyValue<float>& value) {
- if (value == getFillExtrusionHeight())
+void FillExtrusionLayer::setFillExtrusionTranslate(const PropertyValue<std::array<float, 2>>& value) {
+ if (value == getFillExtrusionTranslate())
return;
auto impl_ = mutableImpl();
- impl_->paint.template get<FillExtrusionHeight>().value = value;
+ impl_->paint.template get<FillExtrusionTranslate>().value = value;
baseImpl = std::move(impl_);
observer->onLayerChanged(*this);
}
-void FillExtrusionLayer::setFillExtrusionHeightTransition(const TransitionOptions& options) {
+void FillExtrusionLayer::setFillExtrusionTranslateTransition(const TransitionOptions& options) {
auto impl_ = mutableImpl();
- impl_->paint.template get<FillExtrusionHeight>().options = options;
+ impl_->paint.template get<FillExtrusionTranslate>().options = options;
baseImpl = std::move(impl_);
}
-TransitionOptions FillExtrusionLayer::getFillExtrusionHeightTransition() const {
- return impl().paint.template get<FillExtrusionHeight>().options;
+TransitionOptions FillExtrusionLayer::getFillExtrusionTranslateTransition() const {
+ return impl().paint.template get<FillExtrusionTranslate>().options;
}
-PropertyValue<float> FillExtrusionLayer::getDefaultFillExtrusionBase() {
- return { 0 };
+PropertyValue<TranslateAnchorType> FillExtrusionLayer::getDefaultFillExtrusionTranslateAnchor() {
+ return { TranslateAnchorType::Map };
}
-const PropertyValue<float>& FillExtrusionLayer::getFillExtrusionBase() const {
- return impl().paint.template get<FillExtrusionBase>().value;
+const PropertyValue<TranslateAnchorType>& FillExtrusionLayer::getFillExtrusionTranslateAnchor() const {
+ return impl().paint.template get<FillExtrusionTranslateAnchor>().value;
}
-void FillExtrusionLayer::setFillExtrusionBase(const PropertyValue<float>& value) {
- if (value == getFillExtrusionBase())
+void FillExtrusionLayer::setFillExtrusionTranslateAnchor(const PropertyValue<TranslateAnchorType>& value) {
+ if (value == getFillExtrusionTranslateAnchor())
return;
auto impl_ = mutableImpl();
- impl_->paint.template get<FillExtrusionBase>().value = value;
+ impl_->paint.template get<FillExtrusionTranslateAnchor>().value = value;
baseImpl = std::move(impl_);
observer->onLayerChanged(*this);
}
-void FillExtrusionLayer::setFillExtrusionBaseTransition(const TransitionOptions& options) {
+void FillExtrusionLayer::setFillExtrusionTranslateAnchorTransition(const TransitionOptions& options) {
auto impl_ = mutableImpl();
- impl_->paint.template get<FillExtrusionBase>().options = options;
+ impl_->paint.template get<FillExtrusionTranslateAnchor>().options = options;
baseImpl = std::move(impl_);
}
-TransitionOptions FillExtrusionLayer::getFillExtrusionBaseTransition() const {
- return impl().paint.template get<FillExtrusionBase>().options;
+TransitionOptions FillExtrusionLayer::getFillExtrusionTranslateAnchorTransition() const {
+ return impl().paint.template get<FillExtrusionTranslateAnchor>().options;
}
PropertyValue<bool> FillExtrusionLayer::getDefaultFillExtrusionVerticalGradient() {
@@ -283,40 +283,40 @@ using namespace conversion;
optional<Error> FillExtrusionLayer::setPaintProperty(const std::string& name, const Convertible& value) {
enum class Property : uint8_t {
- FillExtrusionOpacity,
+ FillExtrusionBase,
FillExtrusionColor,
+ FillExtrusionHeight,
+ FillExtrusionOpacity,
+ FillExtrusionPattern,
FillExtrusionTranslate,
FillExtrusionTranslateAnchor,
- FillExtrusionPattern,
- FillExtrusionHeight,
- FillExtrusionBase,
FillExtrusionVerticalGradient,
- FillExtrusionOpacityTransition,
+ FillExtrusionBaseTransition,
FillExtrusionColorTransition,
+ FillExtrusionHeightTransition,
+ FillExtrusionOpacityTransition,
+ FillExtrusionPatternTransition,
FillExtrusionTranslateTransition,
FillExtrusionTranslateAnchorTransition,
- FillExtrusionPatternTransition,
- FillExtrusionHeightTransition,
- FillExtrusionBaseTransition,
FillExtrusionVerticalGradientTransition,
};
MAPBOX_ETERNAL_CONSTEXPR const auto properties = mapbox::eternal::hash_map<mapbox::eternal::string, uint8_t>({
- { "fill-extrusion-opacity", static_cast<uint8_t>(Property::FillExtrusionOpacity) },
+ { "fill-extrusion-base", static_cast<uint8_t>(Property::FillExtrusionBase) },
{ "fill-extrusion-color", static_cast<uint8_t>(Property::FillExtrusionColor) },
+ { "fill-extrusion-height", static_cast<uint8_t>(Property::FillExtrusionHeight) },
+ { "fill-extrusion-opacity", static_cast<uint8_t>(Property::FillExtrusionOpacity) },
+ { "fill-extrusion-pattern", static_cast<uint8_t>(Property::FillExtrusionPattern) },
{ "fill-extrusion-translate", static_cast<uint8_t>(Property::FillExtrusionTranslate) },
{ "fill-extrusion-translate-anchor", static_cast<uint8_t>(Property::FillExtrusionTranslateAnchor) },
- { "fill-extrusion-pattern", static_cast<uint8_t>(Property::FillExtrusionPattern) },
- { "fill-extrusion-height", static_cast<uint8_t>(Property::FillExtrusionHeight) },
- { "fill-extrusion-base", static_cast<uint8_t>(Property::FillExtrusionBase) },
{ "fill-extrusion-vertical-gradient", static_cast<uint8_t>(Property::FillExtrusionVerticalGradient) },
- { "fill-extrusion-opacity-transition", static_cast<uint8_t>(Property::FillExtrusionOpacityTransition) },
+ { "fill-extrusion-base-transition", static_cast<uint8_t>(Property::FillExtrusionBaseTransition) },
{ "fill-extrusion-color-transition", static_cast<uint8_t>(Property::FillExtrusionColorTransition) },
+ { "fill-extrusion-height-transition", static_cast<uint8_t>(Property::FillExtrusionHeightTransition) },
+ { "fill-extrusion-opacity-transition", static_cast<uint8_t>(Property::FillExtrusionOpacityTransition) },
+ { "fill-extrusion-pattern-transition", static_cast<uint8_t>(Property::FillExtrusionPatternTransition) },
{ "fill-extrusion-translate-transition", static_cast<uint8_t>(Property::FillExtrusionTranslateTransition) },
{ "fill-extrusion-translate-anchor-transition", static_cast<uint8_t>(Property::FillExtrusionTranslateAnchorTransition) },
- { "fill-extrusion-pattern-transition", static_cast<uint8_t>(Property::FillExtrusionPatternTransition) },
- { "fill-extrusion-height-transition", static_cast<uint8_t>(Property::FillExtrusionHeightTransition) },
- { "fill-extrusion-base-transition", static_cast<uint8_t>(Property::FillExtrusionBaseTransition) },
{ "fill-extrusion-vertical-gradient-transition", static_cast<uint8_t>(Property::FillExtrusionVerticalGradientTransition) }
});
@@ -328,15 +328,22 @@ optional<Error> FillExtrusionLayer::setPaintProperty(const std::string& name, co
auto property = static_cast<Property>(it->second);
- if (property == Property::FillExtrusionOpacity) {
+ if (property == Property::FillExtrusionBase || property == Property::FillExtrusionHeight) {
Error error;
- optional<PropertyValue<float>> typedValue = convert<PropertyValue<float>>(value, error, false, false);
+ optional<PropertyValue<float>> typedValue = convert<PropertyValue<float>>(value, error, true, false);
if (!typedValue) {
return error;
}
- setFillExtrusionOpacity(*typedValue);
- return nullopt;
+ if (property == Property::FillExtrusionBase) {
+ setFillExtrusionBase(*typedValue);
+ return nullopt;
+ }
+
+ if (property == Property::FillExtrusionHeight) {
+ setFillExtrusionHeight(*typedValue);
+ return nullopt;
+ }
}
@@ -352,58 +359,51 @@ optional<Error> FillExtrusionLayer::setPaintProperty(const std::string& name, co
}
- if (property == Property::FillExtrusionTranslate) {
+ if (property == Property::FillExtrusionOpacity) {
Error error;
- optional<PropertyValue<std::array<float, 2>>> typedValue = convert<PropertyValue<std::array<float, 2>>>(value, error, false, false);
+ optional<PropertyValue<float>> typedValue = convert<PropertyValue<float>>(value, error, false, false);
if (!typedValue) {
return error;
}
- setFillExtrusionTranslate(*typedValue);
+ setFillExtrusionOpacity(*typedValue);
return nullopt;
}
- if (property == Property::FillExtrusionTranslateAnchor) {
+ if (property == Property::FillExtrusionPattern) {
Error error;
- optional<PropertyValue<TranslateAnchorType>> typedValue = convert<PropertyValue<TranslateAnchorType>>(value, error, false, false);
+ optional<PropertyValue<std::string>> typedValue = convert<PropertyValue<std::string>>(value, error, true, false);
if (!typedValue) {
return error;
}
- setFillExtrusionTranslateAnchor(*typedValue);
+ setFillExtrusionPattern(*typedValue);
return nullopt;
}
- if (property == Property::FillExtrusionPattern) {
+ if (property == Property::FillExtrusionTranslate) {
Error error;
- optional<PropertyValue<std::string>> typedValue = convert<PropertyValue<std::string>>(value, error, true, false);
+ optional<PropertyValue<std::array<float, 2>>> typedValue = convert<PropertyValue<std::array<float, 2>>>(value, error, false, false);
if (!typedValue) {
return error;
}
- setFillExtrusionPattern(*typedValue);
+ setFillExtrusionTranslate(*typedValue);
return nullopt;
}
- if (property == Property::FillExtrusionHeight || property == Property::FillExtrusionBase) {
+ if (property == Property::FillExtrusionTranslateAnchor) {
Error error;
- optional<PropertyValue<float>> typedValue = convert<PropertyValue<float>>(value, error, true, false);
+ optional<PropertyValue<TranslateAnchorType>> typedValue = convert<PropertyValue<TranslateAnchorType>>(value, error, false, false);
if (!typedValue) {
return error;
}
- if (property == Property::FillExtrusionHeight) {
- setFillExtrusionHeight(*typedValue);
- return nullopt;
- }
-
- if (property == Property::FillExtrusionBase) {
- setFillExtrusionBase(*typedValue);
- return nullopt;
- }
+ setFillExtrusionTranslateAnchor(*typedValue);
+ return nullopt;
}
@@ -426,8 +426,8 @@ optional<Error> FillExtrusionLayer::setPaintProperty(const std::string& name, co
return error;
}
- if (property == Property::FillExtrusionOpacityTransition) {
- setFillExtrusionOpacityTransition(*transition);
+ if (property == Property::FillExtrusionBaseTransition) {
+ setFillExtrusionBaseTransition(*transition);
return nullopt;
}
@@ -436,13 +436,13 @@ optional<Error> FillExtrusionLayer::setPaintProperty(const std::string& name, co
return nullopt;
}
- if (property == Property::FillExtrusionTranslateTransition) {
- setFillExtrusionTranslateTransition(*transition);
+ if (property == Property::FillExtrusionHeightTransition) {
+ setFillExtrusionHeightTransition(*transition);
return nullopt;
}
- if (property == Property::FillExtrusionTranslateAnchorTransition) {
- setFillExtrusionTranslateAnchorTransition(*transition);
+ if (property == Property::FillExtrusionOpacityTransition) {
+ setFillExtrusionOpacityTransition(*transition);
return nullopt;
}
@@ -451,13 +451,13 @@ optional<Error> FillExtrusionLayer::setPaintProperty(const std::string& name, co
return nullopt;
}
- if (property == Property::FillExtrusionHeightTransition) {
- setFillExtrusionHeightTransition(*transition);
+ if (property == Property::FillExtrusionTranslateTransition) {
+ setFillExtrusionTranslateTransition(*transition);
return nullopt;
}
- if (property == Property::FillExtrusionBaseTransition) {
- setFillExtrusionBaseTransition(*transition);
+ if (property == Property::FillExtrusionTranslateAnchorTransition) {
+ setFillExtrusionTranslateAnchorTransition(*transition);
return nullopt;
}