QGIS API Documentation 3.27.0-Master (75dc696944)
qgspointcloudlayerelevationproperties.h
Go to the documentation of this file.
1/***************************************************************************
2 qgspointcloudlayerelevationproperties.h
3 ---------------
4 begin : November 2020
5 copyright : (C) 2020 by Nyall Dawson
6 email : nyall dot dawson dot com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18
19#ifndef QGSPOINTCLOUDLAYERELEVATIONPROPERTIES_H
20#define QGSPOINTCLOUDLAYERELEVATIONPROPERTIES_H
21
22#include "qgis_core.h"
23#include "qgis_sip.h"
25
34{
35
36 Q_OBJECT
37
38 public:
39
44
45 bool hasElevation() const override;
46 QDomElement writeXml( QDomElement &element, QDomDocument &doc, const QgsReadWriteContext &context ) override;
47 bool readXml( const QDomElement &element, const QgsReadWriteContext &context ) override;
49 QString htmlSummary() const override;
50 bool isVisibleInZRange( const QgsDoubleRange &range ) const override;
51 QgsDoubleRange calculateZRange( QgsMapLayer *layer ) const override;
52 bool showByDefaultInElevationProfilePlots() const override;
53
66 double maximumScreenError() const { return mMaximumScreenError; }
67
80 void setMaximumScreenError( double error );
81
90 QgsUnitTypes::RenderUnit maximumScreenErrorUnit() const { return mMaximumScreenErrorUnit; }
91
100 void setMaximumScreenErrorUnit( QgsUnitTypes::RenderUnit unit );
101
108 Qgis::PointCloudSymbol pointSymbol() const;
109
116 void setPointSymbol( Qgis::PointCloudSymbol symbol );
117
124 QColor pointColor() const { return mPointColor; }
125
132 void setPointColor( const QColor &color );
133
141 bool applyOpacityByDistanceEffect() const { return mApplyOpacityByDistanceEffect; }
142
150 void setApplyOpacityByDistanceEffect( bool apply );
151
161 void setPointSize( double size );
162
173 double pointSize() const { return mPointSize; }
174
183 void setPointSizeUnit( const QgsUnitTypes::RenderUnit units );
184
192 QgsUnitTypes::RenderUnit pointSizeUnit() const { return mPointSizeUnit; }
193
199 bool respectLayerColors() const { return mRespectLayerColors; }
200
206 void setRespectLayerColors( bool enabled );
207
208 private:
209
210 double mMaximumScreenError = 0.3;
212
213 double mPointSize = 0.6;
216 QColor mPointColor;
217 bool mRespectLayerColors = true;
218 bool mApplyOpacityByDistanceEffect = false;
219};
220
221#endif // QGSPOINTCLOUDLAYERELEVATIONPROPERTIES_H
PointCloudSymbol
Rendering symbols for point cloud points.
Definition: qgis.h:1949
@ Square
Renders points as squares.
QgsRange which stores a range of double values.
Definition: qgsrange.h:203
Base class for storage of map layer elevation properties.
virtual QgsMapLayerElevationProperties * clone() const =0
Creates a clone of the properties.
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.
virtual bool isVisibleInZRange(const QgsDoubleRange &range) const
Returns true if the layer should be visible and rendered for the specified z range.
Base class for all map layer types.
Definition: qgsmaplayer.h:73
Point cloud layer specific subclass of QgsMapLayerElevationProperties.
QgsUnitTypes::RenderUnit pointSizeUnit() const
Returns the units used for the point size used for drawing points in elevation profile charts.
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.
QgsUnitTypes::RenderUnit maximumScreenErrorUnit() const
Returns the unit for the maximum screen error allowed when generating elevation profiles for the poin...
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.
The class is used as a container of context for various read/write operations on other objects.
RenderUnit
Rendering size units.
Definition: qgsunittypes.h:168
@ RenderMillimeters
Millimeters.
Definition: qgsunittypes.h:169
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:53
#define SIP_FACTORY
Definition: qgis_sip.h:76