mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			151 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/core/qgselevationmap.h                                           *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 | 
						|
 ************************************************************************/
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
class QgsElevationMap
 | 
						|
{
 | 
						|
%Docstring(signature="appended")
 | 
						|
Stores digital elevation model in a raster image which may get updated
 | 
						|
as a part of map layer rendering process. Afterwards the elevations can
 | 
						|
be used for post-processing effects of the rendered color map image.
 | 
						|
 | 
						|
Elevations are encoded as colors in QImage, thanks to this it is not
 | 
						|
only possible to set elevation for each pixel, but also to use QPainter
 | 
						|
for more complex updates of elevations. We encode elevations to 24 bits
 | 
						|
in range of [-7900, 8877] with precision of three decimal digits, which
 | 
						|
should give millimiter precision and enough range for elevation values
 | 
						|
in meters.
 | 
						|
 | 
						|
.. versionadded:: 3.28
 | 
						|
%End
 | 
						|
 | 
						|
%TypeHeaderCode
 | 
						|
#include "qgselevationmap.h"
 | 
						|
%End
 | 
						|
  public:
 | 
						|
 | 
						|
    QgsElevationMap();
 | 
						|
 | 
						|
    explicit QgsElevationMap( const QSize &size, float devicePixelRatio = 1.0 );
 | 
						|
%Docstring
 | 
						|
Constructs an elevation map with the given width and height
 | 
						|
%End
 | 
						|
 | 
						|
    explicit QgsElevationMap( const QImage &image );
 | 
						|
%Docstring
 | 
						|
Constructs an elevation map from an existing raw elevation ``image``.
 | 
						|
The image must have ARGB32 format and obtained by the :py:func:`~QgsElevationMap.rawElevationImage` method.
 | 
						|
 | 
						|
.. seealso:: :py:func:`rawElevationImage`
 | 
						|
 | 
						|
.. versionadded:: 3.30
 | 
						|
%End
 | 
						|
 | 
						|
    QgsElevationMap( const QgsElevationMap &other );
 | 
						|
 | 
						|
    void applyEyeDomeLighting( QImage &image, int distance, float strength, float rendererScale ) const;
 | 
						|
%Docstring
 | 
						|
Applies eye dome lighting effect to the given ``image``. The effect makes
 | 
						|
angled surfaces darker and adds silhouettes in case of larger differences
 | 
						|
of elevations between neighboring pixels.
 | 
						|
 | 
						|
The ``distance`` parameter tells how many pixels away from the original pixel
 | 
						|
to sample neighboring pixels. Normally distance of 2 pixels gives good results.
 | 
						|
 | 
						|
The ``strength`` parameter adjusts how strong the added shading will be.
 | 
						|
Good default for this value seems to be 1000.
 | 
						|
 | 
						|
The ``rendererScale`` parameter adjusts scale of elevation values. It is recommended
 | 
						|
to set this to the map's scale denominator to get similarly looking results
 | 
						|
at different map scales.
 | 
						|
%End
 | 
						|
 | 
						|
    void applyHillshading( QImage &image, bool multiDirectional, double altitude, double azimuth, double zFactor, double cellSizeX, double cellSizeY ) const;
 | 
						|
%Docstring
 | 
						|
Applies hill shading effect to the given ``image``.
 | 
						|
 | 
						|
If the ``multidirectinal`` parameter is ``True``, the algorithm will considered a
 | 
						|
multi horizontal directional light to apply the shading.
 | 
						|
 | 
						|
The parameter ``altitude`` (could also be named zenith) is the vertical direction of the light.
 | 
						|
 | 
						|
The parameter ``azimuth`` is the horizontal direction of the light considered if
 | 
						|
``multidirectional`` is ``False``.
 | 
						|
 | 
						|
The parameter ``zFactor`` is the vertical exageration of the terrain.
 | 
						|
 | 
						|
The parameters ``cellSizeX`` and ``cellSizeY`` are the sizes of the elevation map cells in unit consistent
 | 
						|
with the unit of the encoded elevation in this elevation map.
 | 
						|
 | 
						|
.. versionadded:: 3.30
 | 
						|
%End
 | 
						|
 | 
						|
    QImage rawElevationImage() const;
 | 
						|
%Docstring
 | 
						|
Returns raw elevation image with elevations encoded as color values
 | 
						|
%End
 | 
						|
 | 
						|
 | 
						|
    QPainter *painter() const;
 | 
						|
%Docstring
 | 
						|
Returns painter to the underlying QImage with elevations
 | 
						|
%End
 | 
						|
 | 
						|
    void combine( const QgsElevationMap &otherElevationMap, Qgis::ElevationMapCombineMethod method );
 | 
						|
%Docstring
 | 
						|
Combines this elevation map with ``otherElevationMap``.
 | 
						|
This elevation map keeps its size and takes elevation values of otherElevationMap that
 | 
						|
is not null for same row and column following the combine ``method``.
 | 
						|
The other elevation map can have a different size, only rows and columns contained in
 | 
						|
this elevation map will be considered.
 | 
						|
 | 
						|
.. versionadded:: 3.30
 | 
						|
%End
 | 
						|
 | 
						|
 | 
						|
    bool isValid() const;
 | 
						|
%Docstring
 | 
						|
Returns whether the elevation map is valid.
 | 
						|
 | 
						|
.. versionadded:: 3.30
 | 
						|
%End
 | 
						|
 | 
						|
    static QRgb encodeElevation( float z );
 | 
						|
%Docstring
 | 
						|
Converts elevation value to an actual color
 | 
						|
%End
 | 
						|
    static float decodeElevation( QRgb colorRaw );
 | 
						|
%Docstring
 | 
						|
Converts a color back to elevation value
 | 
						|
%End
 | 
						|
 | 
						|
 | 
						|
    bool isNoData( QRgb colorRaw ) const;
 | 
						|
%Docstring
 | 
						|
Returns whether the encoded value is a no data value
 | 
						|
%End
 | 
						|
 | 
						|
    float noDataValue() const;
 | 
						|
%Docstring
 | 
						|
Returns the no data value for the elevation map
 | 
						|
%End
 | 
						|
 | 
						|
 | 
						|
};
 | 
						|
 | 
						|
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/core/qgselevationmap.h                                           *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 | 
						|
 ************************************************************************/
 |