mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-10-31 00:06:02 -04: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.py 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.py again   *
 | |
|  ************************************************************************/
 |