46 QDomElement elemDataDefinedProperties = doc.createElement( QStringLiteral(
"data-defined-properties" ) );
48 element.appendChild( elemDataDefinedProperties );
56 const QDomElement elemDataDefinedProperties = element.firstChildElement( QStringLiteral(
"data-defined-properties" ) );
57 if ( !elemDataDefinedProperties.isNull() )
60 mZOffset = element.attribute( QStringLiteral(
"zoffset" ), QStringLiteral(
"0" ) ).toDouble();
61 mZScale = element.attribute( QStringLiteral(
"zscale" ), QStringLiteral(
"1" ) ).toDouble();
125 static std::once_flag initialized;
126 std::call_once( initialized, [ = ]( )
128 initPropertyDefinitions();
133void QgsMapLayerElevationProperties::initPropertyDefinitions()
135 const QString origin = QStringLiteral(
"elevation" );
virtual bool readXml(const QDomElement &collectionElem, const QgsPropertiesDefinition &definitions)
Reads property collection state from an XML element.
virtual bool writeXml(QDomElement &collectionElem, const QgsPropertiesDefinition &definitions) const
Writes the current state of the property collection into an XML element.
QgsRange which stores a range of double values.
Base class for storage of map layer elevation properties.
virtual QList< double > significantZValues(QgsMapLayer *layer) const
Returns a list of significant elevation/z-values for the specified layer, using the settings defined ...
void zScaleChanged()
Emitted when the z scale changes.
QgsPropertyCollection mDataDefinedProperties
Property collection for data defined elevation settings.
void writeCommonProperties(QDomElement &element, QDomDocument &doc, const QgsReadWriteContext &context)
Writes common class properties to a DOM element, to be used later with readXml().
void profileGenerationPropertyChanged()
Emitted when any of the elevation properties which relate solely to generation of elevation profiles ...
virtual bool isVisibleInZRange(const QgsDoubleRange &range, QgsMapLayer *layer=nullptr) const
Returns true if the layer should be visible and rendered for the specified z range.
QgsPropertyCollection & dataDefinedProperties()
Returns a reference to the object's property collection, used for data defined overrides.
void setDataDefinedProperties(const QgsPropertyCollection &collection)
Sets the object's property collection, used for data defined overrides.
QgsMapLayerElevationProperties(QObject *parent)
Constructor for QgsMapLayerElevationProperties, with the specified parent object.
void readCommonProperties(const QDomElement &element, const QgsReadWriteContext &context)
Reads common class properties from a DOM element previously written by writeXml().
virtual QString htmlSummary() const
Returns a HTML formatted summary of the properties.
static QgsPropertiesDefinition propertyDefinitions()
Returns the definitions for data defined properties available for use in elevation properties.
void changed()
Emitted when any of the elevation properties have changed.
void copyCommonProperties(const QgsMapLayerElevationProperties *other)
Copies common properties from another object.
@ ExtrusionHeight
Extrusion height.
@ RasterPerBandUpperElevation
Upper elevation for each raster band.
@ RasterPerBandLowerElevation
Lower elevation for each raster band.
void zOffsetChanged()
Emitted when the z offset changes.
double zScale() const
Returns the z scale, which is a scaling factor which should be applied to z values from the layer.
void setZOffset(double offset)
Sets the z offset, which is a fixed offset amount which will be added to z values from the layer.
virtual bool showByDefaultInElevationProfilePlots() const
Returns true if the layer should be visible by default in newly created elevation profile plots.
static QgsPropertiesDefinition sPropertyDefinitions
Property definitions.
virtual QgsDoubleRange calculateZRange(QgsMapLayer *layer) const
Attempts to calculate the overall elevation or z range for the specified layer, using the settings de...
virtual void setDefaultsFromLayer(QgsMapLayer *layer)
Sets default properties based on sensible choices for the given map layer.
void setZScale(double scale)
Sets the z scale, which is a scaling factor which will be applied to z values from the layer.
virtual bool hasElevation() const
Returns true if the layer has an elevation or z component.
double zOffset() const
Returns the z offset, which is a fixed offset amount which should be added to z values from the layer...
Base class for all map layer types.
A grouped map of multiple QgsProperty objects, each referenced by a integer key value.
Definition for a property.
@ Double
Double value (including negative values)
@ DoublePositive
Positive double value (including 0)
The class is used as a container of context for various read/write operations on other objects.
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
QMap< int, QgsPropertyDefinition > QgsPropertiesDefinition
Definition of available properties.