19#ifndef QGSVECTORLAYERELEVATIONPROPERTIES_H
20#define QGSVECTORLAYERELEVATIONPROPERTIES_H
56 QString htmlSummary() const override;
59 bool showByDefaultInElevationProfilePlots() const override;
67 Qgis::AltitudeClamping clamping()
const {
return mClamping; }
123 void setExtrusionEnabled(
bool enabled );
143 void setExtrusionHeight(
double height );
159 void setCustomToleranceEnabled(
bool enabled );
183 void setCustomTolerance(
double tolerance );
203 void setRespectLayerSymbology(
bool enabled );
311 double elevationLimit()
const;
323 void setElevationLimit(
double limit );
341 void setShowMarkerSymbolInSurfacePlots(
bool show );
345 void setDefaultProfileLineSymbol(
const QColor &color );
346 void setDefaultProfileMarkerSymbol(
const QColor &color );
347 void setDefaultProfileFillSymbol(
const QColor &color );
354 bool mEnableExtrusion =
false;
355 double mExtrusionHeight = 0;
356 bool mEnableCustomTolerance =
false;
357 double mCustomTolerance = 0;
359 std::unique_ptr< QgsLineSymbol > mProfileLineSymbol;
360 std::unique_ptr< QgsFillSymbol > mProfileFillSymbol;
361 std::unique_ptr< QgsMarkerSymbol > mProfileMarkerSymbol;
362 bool mRespectLayerSymbology =
true;
364 double mElevationLimit = std::numeric_limits< double >::quiet_NaN();
365 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
double customTolerance() const
Returns the feature custom tolerance.
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.
bool customToleranceEnabled() const
Returns true if custom tolerance is enabled.