mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-24 00:47:57 -05:00
153 lines
5.1 KiB
Plaintext
153 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 *
|
|
************************************************************************/
|