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 );
277 void setShowMarkerSymbolInSurfacePlots(
bool show );
281 void setDefaultProfileLineSymbol(
const QColor &color );
282 void setDefaultProfileMarkerSymbol(
const QColor &color );
283 void setDefaultProfileFillSymbol(
const QColor &color );
290 bool mEnableExtrusion =
false;
291 double mExtrusionHeight = 0;
293 std::unique_ptr< QgsLineSymbol > mProfileLineSymbol;
294 std::unique_ptr< QgsFillSymbol > mProfileFillSymbol;
295 std::unique_ptr< QgsMarkerSymbol > mProfileMarkerSymbol;
296 bool mRespectLayerSymbology =
true;
298 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.