QGIS/python/PyQt6/core/auto_generated/qgselevationmap.sip.in
Nyall Dawson 3f6b490218 Sipify
2025-04-02 11:11:10 +10:00

157 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 a digital elevation model in a raster image which may get updated
as a part of the 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 *
************************************************************************/