QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
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"
24#include "qgsunittypes.h"
26
35{
36
37 Q_OBJECT
38
39 public:
40
45
46 bool hasElevation() const override;
47 QDomElement writeXml( QDomElement &element, QDomDocument &doc, const QgsReadWriteContext &context ) override;
48 bool readXml( const QDomElement &element, const QgsReadWriteContext &context ) override;
50 QString htmlSummary() const override;
51 bool isVisibleInZRange( const QgsDoubleRange &range, QgsMapLayer *layer = nullptr ) const override;
52 QgsDoubleRange calculateZRange( QgsMapLayer *layer ) const override;
53 bool showByDefaultInElevationProfilePlots() const override;
54
67 double maximumScreenError() const { return mMaximumScreenError; }
68
81 void setMaximumScreenError( double error );
82
91 Qgis::RenderUnit maximumScreenErrorUnit() const { return mMaximumScreenErrorUnit; }
92
101 void setMaximumScreenErrorUnit( Qgis::RenderUnit unit );
102
109 Qgis::PointCloudSymbol pointSymbol() const;
110
117 void setPointSymbol( Qgis::PointCloudSymbol symbol );
118
125 QColor pointColor() const { return mPointColor; }
126
133 void setPointColor( const QColor &color );
134
142 bool applyOpacityByDistanceEffect() const { return mApplyOpacityByDistanceEffect; }
143
151 void setApplyOpacityByDistanceEffect( bool apply );
152
162 void setPointSize( double size );
163
174 double pointSize() const { return mPointSize; }
175
184 void setPointSizeUnit( const Qgis::RenderUnit units );
185
193 Qgis::RenderUnit pointSizeUnit() const { return mPointSizeUnit; }
194
200 bool respectLayerColors() const { return mRespectLayerColors; }
201
207 void setRespectLayerColors( bool enabled );
208
209 private:
210
211 double mMaximumScreenError = 0.3;
212 Qgis::RenderUnit mMaximumScreenErrorUnit = Qgis::RenderUnit::Millimeters;
213
214 double mPointSize = 0.6;
217 QColor mPointColor;
218 bool mRespectLayerColors = true;
219 bool mApplyOpacityByDistanceEffect = false;
220};
221
222#endif // QGSPOINTCLOUDLAYERELEVATIONPROPERTIES_H
PointCloudSymbol
Rendering symbols for point cloud points.
Definition: qgis.h:3488
@ Square
Renders points as squares.
RenderUnit
Rendering size units.
Definition: qgis.h:4255
@ Millimeters
Millimeters.
QgsRange which stores a range of double values.
Definition: qgsrange.h:231
Base class for storage of map layer elevation properties.
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.
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.
Definition: qgsmaplayer.h:75
Point cloud layer specific subclass of QgsMapLayerElevationProperties.
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...
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.
The class is used as a container of context for various read/write operations on other objects.
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:53
#define SIP_FACTORY
Definition: qgis_sip.h:76