19#ifndef QGSVECTORLAYERELEVATIONPROPERTIES_H
20#define QGSVECTORLAYERELEVATIONPROPERTIES_H
56 QString htmlSummary() const override;
57 bool isVisibleInZRange( const
QgsDoubleRange &range ) const override;
59 bool showByDefaultInElevationProfilePlots() const override;
67 Qgis::AltitudeClamping clamping()
const {
return mClamping; }
123 void setExtrusionEnabled(
bool enabled );
143 void setExtrusionHeight(
double height );
163 void setRespectLayerSymbology(
bool enabled );
271 double elevationLimit()
const;
283 void setElevationLimit(
double limit );
301 void setShowMarkerSymbolInSurfacePlots(
bool show );
305 void setDefaultProfileLineSymbol(
const QColor &color );
306 void setDefaultProfileMarkerSymbol(
const QColor &color );
307 void setDefaultProfileFillSymbol(
const QColor &color );
314 bool mEnableExtrusion =
false;
315 double mExtrusionHeight = 0;
317 std::unique_ptr< QgsLineSymbol > mProfileLineSymbol;
318 std::unique_ptr< QgsFillSymbol > mProfileFillSymbol;
319 std::unique_ptr< QgsMarkerSymbol > mProfileMarkerSymbol;
320 bool mRespectLayerSymbology =
true;
322 double mElevationLimit = std::numeric_limits< double >::quiet_NaN();
323 bool mShowMarkerSymbolInSurfacePlots =
false;
The Qgis class provides global constants for use throughout the application.
AltitudeClamping
Altitude clamping.
@ Terrain
Elevation is clamped to terrain (final elevation = terrain elevation)
AltitudeBinding
Altitude binding.
@ Centroid
Clamp just centroid of feature.
VectorProfileType
Types of elevation profiles to generate for vector sources.
@ IndividualFeatures
Treat each feature as an individual object (eg buildings)
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
@ Line
The elevation surface will be rendered using a line symbol.
QgsRange which stores a range of double values.
A fill symbol type, for rendering Polygon and MultiPolygon geometries.
A line symbol type, for rendering LineString and MultiLineString geometries.
Base class for storage of map layer elevation properties.
virtual QgsMapLayerElevationProperties * clone() const =0
Creates a clone of the properties.
virtual QDomElement writeXml(QDomElement &element, QDomDocument &doc, const QgsReadWriteContext &context)=0
Writes the properties to a DOM element, to be used later with readXml().
virtual bool readXml(const QDomElement &element, const QgsReadWriteContext &context)=0
Reads the elevation properties from a DOM element previously written by writeXml().
virtual void setDefaultsFromLayer(QgsMapLayer *layer)
Sets default properties based on sensible choices for the given map layer.
virtual bool hasElevation() const
Returns true if the layer has an elevation or z component.
Base class for all map layer types.
A marker symbol type, for rendering Point and MultiPoint geometries.
The class is used as a container of context for various read/write operations on other objects.
Vector layer specific subclass of QgsMapLayerElevationProperties.
double extrusionHeight() const
Returns the feature extrusion height.
Qgis::VectorProfileType type() const
Returns the type of profile the layer represents.
~QgsVectorLayerElevationProperties() override
bool showMarkerSymbolInSurfacePlots() const
Returns true if the marker symbol should also be shown in continuous surface plots.
Qgis::AltitudeBinding binding() const
Returns the altitude binding method, which determines how altitude is bound to individual vertices in...
Qgis::ProfileSurfaceSymbology profileSymbology() const
Returns the symbology option used to render the vector profile in elevation profile plots.
bool respectLayerSymbology() const
Returns true if layer symbology should be respected when rendering elevation profile plots.
bool extrusionEnabled() const
Returns true if extrusion is enabled.