19#ifndef QGSPOINTCLOUDLAYERELEVATIONPROPERTIES_H
20#define QGSPOINTCLOUDLAYERELEVATIONPROPERTIES_H
84 void setMaximumScreenError(
double error );
136 void setPointColor(
const QColor &color );
154 void setApplyOpacityByDistanceEffect(
bool apply );
165 void setPointSize(
double size );
210 void setRespectLayerColors(
bool enabled );
304 double elevationLimit()
const;
318 void setElevationLimit(
double limit );
321 void setDefaultProfileLineSymbol(
const QColor &color );
322 void setDefaultProfileFillSymbol(
const QColor &color );
324 double mMaximumScreenError = 0.3;
327 double mPointSize = 0.6;
330 std::unique_ptr< QgsLineSymbol > mProfileLineSymbol;
331 std::unique_ptr< QgsFillSymbol > mProfileFillSymbol;
333 double mElevationLimit = std::numeric_limits<double>::quiet_NaN();
335 bool mRespectLayerColors =
true;
336 bool mApplyOpacityByDistanceEffect =
false;
PointCloudSymbol
Rendering symbols for point cloud points.
@ Square
Renders points as squares.
PointCloudProfileType
Types of elevation profiles to generate for point cloud sources.
@ IndividualPoints
Sample individual points from the point cloud.
RenderUnit
Rendering size units.
@ Millimeters
Millimeters.
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.
virtual QList< double > significantZValues(QgsMapLayer *layer) const
Returns a list of significant elevation/z-values for the specified layer, using the settings defined ...
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.
virtual QgsMapLayerElevationProperties * clone() const =0
Creates a clone of the properties.
QgsMapLayerElevationProperties(QObject *parent)
Constructor for QgsMapLayerElevationProperties, with the specified parent object.
virtual QString htmlSummary() const
Returns a HTML formatted summary of the properties.
virtual bool showByDefaultInElevationProfilePlots() const
Returns true if the layer should be visible by default in newly created elevation profile plots.
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 QgsDoubleRange calculateZRange(QgsMapLayer *layer) const
Attempts to calculate the overall elevation or z range for the specified layer, using the settings de...
virtual bool readXml(const QDomElement &element, const QgsReadWriteContext &context)=0
Reads the elevation properties from a DOM element previously written by writeXml().
virtual bool hasElevation() const
Returns true if the layer has an elevation or z component.
Base class for all map layer types.
bool respectLayerColors() const
Returns true if layer coloring should be respected when rendering elevation profile plots.
QColor pointColor() const
Returns the color used drawing points in elevation profile charts.
double pointSize() const
Returns the point size used for drawing points in elevation profile charts.
Qgis::RenderUnit maximumScreenErrorUnit() const
Returns the unit for the maximum screen error allowed when generating elevation profiles for the poin...
void setType(Qgis::PointCloudProfileType type)
Sets the profile type used when generating elevation profile plots.
Qgis::ProfileSurfaceSymbology profileSymbology() const
Returns the symbology option used to render the point cloud profile in elevation profile plots.
Qgis::PointCloudProfileType type() const
Returns the profile type used when generating elevation profile plots.
Qgis::RenderUnit pointSizeUnit() const
Returns the units used for the point size used for drawing points in elevation profile charts.
bool applyOpacityByDistanceEffect() const
Returns true if a reduced opacity by distance from profile curve effect should be applied when drawin...
double maximumScreenError() const
Returns the maximum screen error allowed when generating elevation profiles for the point cloud.
QgsPointCloudLayerElevationProperties(QObject *parent)
Constructor for QgsPointCloudLayerElevationProperties, with the specified parent object.
A container for the context for various read/write operations on objects.