QGIS API Documentation
3.14.0-Pi (9f7028fd23)
|
#include <qgs3dmapsettings.h>
Signals | |
void | backgroundColorChanged () |
Emitted when the background color has changed. More... | |
void | fieldOfViewChanged () |
Emitted when the camera lens field of view changes. More... | |
void | layersChanged () |
Emitted when the list of map layers for terrain texture has changed. More... | |
void | mapTileResolutionChanged () |
Emitted when the map tile resoulution has changed. More... | |
void | maxTerrainGroundErrorChanged () |
Emitted when the maximum terrain ground error has changed. More... | |
void | maxTerrainScreenErrorChanged () |
Emitted when the maximum terrain screen error has changed. More... | |
void | pointLightsChanged () |
Emitted when the list of point lights changes. More... | |
void | renderersChanged () |
Emitted when the list of map's extra renderers have been modified. More... | |
void | selectionColorChanged () |
Emitted when the selection color has changed. More... | |
void | showCameraViewCenterChanged () |
Emitted when the flag whether camera's view center is shown has changed. More... | |
void | showLabelsChanged () |
Emitted when the flag whether labels are displayed on terrain tiles has changed. More... | |
void | showTerrainBoundingBoxesChanged () |
Emitted when the flag whether terrain's bounding boxes are shown has changed. More... | |
void | showTerrainTilesInfoChanged () |
Emitted when the flag whether terrain's tile info is shown has changed. More... | |
void | terrainGeneratorChanged () |
Emitted when the terrain generator has changed. More... | |
void | terrainMapThemeChanged () |
Emitted when terrain's map theme has changed. More... | |
void | terrainShadingChanged () |
Emitted when terrain shading enabled flag or terrain shading material has changed. More... | |
void | terrainVerticalScaleChanged () |
Emitted when the vertical scale of the terrain has changed. More... | |
Public Member Functions | |
Qgs3DMapSettings ()=default | |
Constructor for Qgs3DMapSettings. More... | |
Qgs3DMapSettings (const Qgs3DMapSettings &other) | |
Copy constructor. More... | |
~Qgs3DMapSettings () override | |
QColor | backgroundColor () const |
Returns background color of the 3D map view. More... | |
QgsCoordinateReferenceSystem | crs () const |
Returns coordinate reference system used in the 3D scene. More... | |
float | fieldOfView () const |
Returns the camera lens' field of view. More... | |
bool | hasSkyboxEnabled () const |
Returns whether skybox is enabled. More... | |
bool | isTerrainShadingEnabled () const |
Returns whether terrain shading is enabled. More... | |
QList< QgsMapLayer * > | layers () const |
Returns the list of map layers to be rendered as a texture of the terrain. More... | |
QgsMapThemeCollection * | mapThemeCollection () const |
Returns pointer to the collection of map themes. More... | |
int | mapTileResolution () const |
Returns resolution (in pixels) of the texture of a terrain tile. More... | |
QgsVector3D | mapToWorldCoordinates (const QgsVector3D &mapCoords) const |
Converts map coordinates to 3D world coordinates (applies offset and turns (x,y,z) into (x,-z,y)) More... | |
float | maxTerrainGroundError () const |
Returns maximum ground error of terrain tiles in world units. More... | |
float | maxTerrainScreenError () const |
Returns maximum allowed screen error of terrain tiles in pixels. More... | |
Qgs3DMapSettings & | operator= (Qgs3DMapSettings const &)=delete |
QgsVector3D | origin () const |
Returns coordinates in map CRS at which 3D scene has origin (0,0,0) More... | |
double | outputDpi () const |
Returns DPI used for conversion between real world units (e.g. More... | |
const QgsPathResolver & | pathResolver () const |
Returns the path resolver for conversion between relative and absolute paths during rendering operations, e.g. More... | |
QList< QgsPointLightSettings > | pointLights () const |
Returns list of point lights defined in the scene. More... | |
void | readXml (const QDomElement &elem, const QgsReadWriteContext &context) |
Reads configuration from a DOM element previously written by writeXml() More... | |
QList< QgsAbstract3DRenderer * > | renderers () const |
Returns list of extra 3D renderers. More... | |
void | resolveReferences (const QgsProject &project) |
Resolves references to other objects (map layers) after the call to readXml() More... | |
QColor | selectionColor () const |
Returns color used for selected features. More... | |
void | setBackgroundColor (const QColor &color) |
Sets background color of the 3D map view. More... | |
void | setCrs (const QgsCoordinateReferenceSystem &crs) |
Sets coordinate reference system used in the 3D scene. More... | |
void | setFieldOfView (const float fieldOfView) |
Sets the camera lens' field of view. More... | |
void | setLayers (const QList< QgsMapLayer * > &layers) |
Sets the list of map layers to be rendered as a texture of the terrain. More... | |
void | setMapThemeCollection (QgsMapThemeCollection *mapThemes) |
Sets pointer to the collection of map themes. More... | |
void | setMapTileResolution (int res) |
Sets resolution (in pixels) of the texture of a terrain tile. More... | |
void | setMaxTerrainGroundError (float error) |
Returns maximum ground error of terrain tiles in world units. More... | |
void | setMaxTerrainScreenError (float error) |
Sets maximum allowed screen error of terrain tiles in pixels. More... | |
void | setOrigin (const QgsVector3D &origin) |
Sets coordinates in map CRS at which our 3D world has origin (0,0,0) More... | |
void | setOutputDpi (const double dpi) |
Sets DPI used for conversion between real world units (e.g. More... | |
void | setPathResolver (const QgsPathResolver &resolver) |
Sets the path resolver for conversion between relative and absolute paths during rendering operations, e.g. More... | |
void | setPointLights (const QList< QgsPointLightSettings > &pointLights) |
Sets list of point lights defined in the scene. More... | |
void | setRenderers (const QList< QgsAbstract3DRenderer * > &renderers) |
Sets list of extra 3D renderers to use in the scene. Takes ownership of the objects. More... | |
void | setSelectionColor (const QColor &color) |
Sets color used for selected features. More... | |
void | setShowCameraViewCenter (bool enabled) |
Sets whether to show camera's view center as a sphere (for debugging) More... | |
void | setShowLabels (bool enabled) |
Sets whether to display labels on terrain tiles. More... | |
void | setShowTerrainBoundingBoxes (bool enabled) |
Sets whether to display bounding boxes of terrain tiles (for debugging) More... | |
void | setShowTerrainTilesInfo (bool enabled) |
Sets whether to display extra tile info on top of terrain tiles (for debugging) More... | |
void | setSkybox (bool enabled, const QString &fileBase=QString(), const QString &fileExtension=QString()) |
Sets skybox configuration. More... | |
void | setTerrainGenerator (QgsTerrainGenerator *gen) |
Sets terrain generator. More... | |
void | setTerrainMapTheme (const QString &theme) |
Sets name of the map theme. More... | |
void | setTerrainShadingEnabled (bool enabled) |
Sets whether terrain shading is enabled. More... | |
void | setTerrainShadingMaterial (const QgsPhongMaterialSettings &material) |
Sets terrain shading material. More... | |
void | setTerrainVerticalScale (double zScale) |
Sets vertical scale (exaggeration) of terrain (1 = true scale, > 1 = hills get more pronounced) More... | |
void | setTransformContext (const QgsCoordinateTransformContext &context) |
Sets the coordinate transform context, which stores various information regarding which datum transforms should be used when transforming points from a source to destination coordinate reference system. More... | |
bool | showCameraViewCenter () const |
Returns whether to show camera's view center as a sphere (for debugging) More... | |
bool | showLabels () const |
Returns whether to display labels on terrain tiles. More... | |
bool | showTerrainBoundingBoxes () const |
Returns whether to display bounding boxes of terrain tiles (for debugging) More... | |
bool | showTerrainTilesInfo () const |
Returns whether to display extra tile info on top of terrain tiles (for debugging) More... | |
QString | skyboxFileBase () const |
Returns base part of filenames of skybox (see setSkybox()) More... | |
QString | skyboxFileExtension () const |
Returns extension part of filenames of skybox (see setSkybox()) More... | |
QgsTerrainGenerator * | terrainGenerator () const |
Returns terrain generator. It takes care of producing terrain tiles from the input data. More... | |
QString | terrainMapTheme () const |
Returns name of the map theme (from the active project) that will be used for terrain's texture. More... | |
QgsPhongMaterialSettings | terrainShadingMaterial () const |
Returns terrain shading material. More... | |
double | terrainVerticalScale () const |
Returns vertical scale (exaggeration) of terrain. More... | |
QgsCoordinateTransformContext | transformContext () const |
Returns the coordinate transform context, which stores various information regarding which datum transforms should be used when transforming points from a source to destination coordinate reference system. More... | |
QgsVector3D | worldToMapCoordinates (const QgsVector3D &worldCoords) const |
Converts 3D world coordinates to map coordinates (applies offset and turns (x,y,z) into (x,-z,y)) More... | |
QDomElement | writeXml (QDomDocument &doc, const QgsReadWriteContext &context) const |
Writes configuration to a DOM element, to be used later with readXml() More... | |
Public Member Functions inherited from QgsTemporalRangeObject | |
QgsTemporalRangeObject (bool enabled=false) | |
Constructor QgsTemporalRangeObject. More... | |
virtual | ~QgsTemporalRangeObject ()=default |
bool | isTemporal () const |
Returns true if the object's temporal range is enabled, and the object will be filtered when rendering maps with a specific time range set. More... | |
void | setIsTemporal (bool enabled) |
Sets whether the temporal range is enabled (i.e. More... | |
void | setTemporalRange (const QgsDateTimeRange &range) |
Sets the temporal range for the object. More... | |
const QgsDateTimeRange & | temporalRange () const |
Returns the datetime range for the object. More... | |
|
default |
Constructor for Qgs3DMapSettings.
Qgs3DMapSettings::Qgs3DMapSettings | ( | const Qgs3DMapSettings & | other | ) |
Copy constructor.
Definition at line 32 of file qgs3dmapsettings.cpp.
|
override |
Definition at line 68 of file qgs3dmapsettings.cpp.
QColor Qgs3DMapSettings::backgroundColor | ( | ) | const |
Returns background color of the 3D map view.
Definition at line 348 of file qgs3dmapsettings.cpp.
|
signal |
Emitted when the background color has changed.
|
inline |
Returns coordinate reference system used in the 3D scene.
Definition at line 94 of file qgs3dmapsettings.h.
|
inline |
Returns the camera lens' field of view.
Definition at line 338 of file qgs3dmapsettings.h.
|
signal |
Emitted when the camera lens field of view changes.
|
inline |
Returns whether skybox is enabled.
Definition at line 291 of file qgs3dmapsettings.h.
|
inline |
Returns whether terrain shading is enabled.
When enabled, in addition to the terrain texture generated from the map, the terrain rendering will take into account position of the lights, terrain normals and terrain shading material (ambient and specular colors, shininess).
Definition at line 243 of file qgs3dmapsettings.h.
QList< QgsMapLayer * > Qgs3DMapSettings::layers | ( | ) | const |
Returns the list of map layers to be rendered as a texture of the terrain.
Definition at line 397 of file qgs3dmapsettings.cpp.
|
signal |
Emitted when the list of map layers for terrain texture has changed.
|
inline |
Returns pointer to the collection of map themes.
Normally this would be QgsProject::mapThemeCollection() of the currently used project. Without a valid map theme collection object it is not possible to resolve map themes from their names.
Definition at line 138 of file qgs3dmapsettings.h.
int Qgs3DMapSettings::mapTileResolution | ( | ) | const |
Returns resolution (in pixels) of the texture of a terrain tile.
This parameter influences how many zoom levels for terrain tiles there will be (together with maxTerrainGroundError())
Definition at line 418 of file qgs3dmapsettings.cpp.
|
signal |
Emitted when the map tile resoulution has changed.
QgsVector3D Qgs3DMapSettings::mapToWorldCoordinates | ( | const QgsVector3D & | mapCoords | ) | const |
Converts map coordinates to 3D world coordinates (applies offset and turns (x,y,z) into (x,-z,y))
Definition at line 314 of file qgs3dmapsettings.cpp.
float Qgs3DMapSettings::maxTerrainGroundError | ( | ) | const |
Returns maximum ground error of terrain tiles in world units.
This parameter influences how many zoom levels there will be (together with mapTileResolution()). This value tells that when the given ground error is reached (e.g. 10 meters), it makes no sense to further split terrain tiles into finer ones because they will not add extra details anymore.
Definition at line 446 of file qgs3dmapsettings.cpp.
|
signal |
Emitted when the maximum terrain ground error has changed.
float Qgs3DMapSettings::maxTerrainScreenError | ( | ) | const |
Returns maximum allowed screen error of terrain tiles in pixels.
This parameter decides how aggressively less detailed terrain tiles are swapped to more detailed ones as camera gets closer. Each tile has its error defined in world units - this error gets projected to screen pixels according to camera view and if the tile's error is greater than the allowed error, it will be swapped by more detailed tiles with lower error.
Definition at line 432 of file qgs3dmapsettings.cpp.
|
signal |
Emitted when the maximum terrain screen error has changed.
|
delete |
|
inline |
Returns coordinates in map CRS at which 3D scene has origin (0,0,0)
Definition at line 84 of file qgs3dmapsettings.h.
|
inline |
Returns DPI used for conversion between real world units (e.g.
mm) and pixels Default value is 96
Definition at line 359 of file qgs3dmapsettings.h.
|
inline |
Returns the path resolver for conversion between relative and absolute paths during rendering operations, e.g.
for resolving relative symbol paths.
Definition at line 121 of file qgs3dmapsettings.h.
|
inline |
Returns list of point lights defined in the scene.
Definition at line 326 of file qgs3dmapsettings.h.
|
signal |
Emitted when the list of point lights changes.
void Qgs3DMapSettings::readXml | ( | const QDomElement & | elem, |
const QgsReadWriteContext & | context | ||
) |
Reads configuration from a DOM element previously written by writeXml()
Definition at line 73 of file qgs3dmapsettings.cpp.
|
inline |
Returns list of extra 3D renderers.
Definition at line 281 of file qgs3dmapsettings.h.
|
signal |
Emitted when the list of map's extra renderers have been modified.
void Qgs3DMapSettings::resolveReferences | ( | const QgsProject & | project | ) |
Resolves references to other objects (map layers) after the call to readXml()
Definition at line 297 of file qgs3dmapsettings.cpp.
QColor Qgs3DMapSettings::selectionColor | ( | ) | const |
Returns color used for selected features.
Definition at line 362 of file qgs3dmapsettings.cpp.
|
signal |
Emitted when the selection color has changed.
void Qgs3DMapSettings::setBackgroundColor | ( | const QColor & | color | ) |
Sets background color of the 3D map view.
Definition at line 339 of file qgs3dmapsettings.cpp.
void Qgs3DMapSettings::setCrs | ( | const QgsCoordinateReferenceSystem & | crs | ) |
Sets coordinate reference system used in the 3D scene.
Definition at line 324 of file qgs3dmapsettings.cpp.
void Qgs3DMapSettings::setFieldOfView | ( | const float | fieldOfView | ) |
Sets the camera lens' field of view.
Definition at line 538 of file qgs3dmapsettings.cpp.
void Qgs3DMapSettings::setLayers | ( | const QList< QgsMapLayer * > & | layers | ) |
Sets the list of map layers to be rendered as a texture of the terrain.
Definition at line 381 of file qgs3dmapsettings.cpp.
|
inline |
Sets pointer to the collection of map themes.
Definition at line 145 of file qgs3dmapsettings.h.
void Qgs3DMapSettings::setMapTileResolution | ( | int | res | ) |
Sets resolution (in pixels) of the texture of a terrain tile.
Definition at line 409 of file qgs3dmapsettings.cpp.
void Qgs3DMapSettings::setMaxTerrainGroundError | ( | float | error | ) |
Returns maximum ground error of terrain tiles in world units.
Definition at line 437 of file qgs3dmapsettings.cpp.
void Qgs3DMapSettings::setMaxTerrainScreenError | ( | float | error | ) |
Sets maximum allowed screen error of terrain tiles in pixels.
Definition at line 423 of file qgs3dmapsettings.cpp.
|
inline |
Sets coordinates in map CRS at which our 3D world has origin (0,0,0)
We move the 3D world origin to the center of the extent of our terrain: this is done to minimize the impact of numerical errors when operating with 32-bit floats. Unfortunately this is not enough when working with a large area (still results in jitter with scenes spanning hundreds of kilometers and zooming in a lot).
Need to look into more advanced techniques like "relative to center" or "relative to eye" to improve the precision.
Definition at line 82 of file qgs3dmapsettings.h.
|
inline |
Sets DPI used for conversion between real world units (e.g.
mm) and pixels
dpi | the number of dot per inch |
Definition at line 351 of file qgs3dmapsettings.h.
|
inline |
Sets the path resolver for conversion between relative and absolute paths during rendering operations, e.g.
for resolving relative symbol paths.
Definition at line 130 of file qgs3dmapsettings.h.
void Qgs3DMapSettings::setPointLights | ( | const QList< QgsPointLightSettings > & | pointLights | ) |
Sets list of point lights defined in the scene.
Definition at line 529 of file qgs3dmapsettings.cpp.
void Qgs3DMapSettings::setRenderers | ( | const QList< QgsAbstract3DRenderer * > & | renderers | ) |
Sets list of extra 3D renderers to use in the scene. Takes ownership of the objects.
Definition at line 484 of file qgs3dmapsettings.cpp.
void Qgs3DMapSettings::setSelectionColor | ( | const QColor & | color | ) |
Sets color used for selected features.
Definition at line 353 of file qgs3dmapsettings.cpp.
void Qgs3DMapSettings::setShowCameraViewCenter | ( | bool | enabled | ) |
Sets whether to show camera's view center as a sphere (for debugging)
Definition at line 511 of file qgs3dmapsettings.cpp.
void Qgs3DMapSettings::setShowLabels | ( | bool | enabled | ) |
Sets whether to display labels on terrain tiles.
Definition at line 520 of file qgs3dmapsettings.cpp.
void Qgs3DMapSettings::setShowTerrainBoundingBoxes | ( | bool | enabled | ) |
Sets whether to display bounding boxes of terrain tiles (for debugging)
Definition at line 493 of file qgs3dmapsettings.cpp.
void Qgs3DMapSettings::setShowTerrainTilesInfo | ( | bool | enabled | ) |
Sets whether to display extra tile info on top of terrain tiles (for debugging)
Definition at line 502 of file qgs3dmapsettings.cpp.
void Qgs3DMapSettings::setSkybox | ( | bool | enabled, |
const QString & | fileBase = QString() , |
||
const QString & | fileExtension = QString() |
||
) |
Sets skybox configuration.
When enabled, map scene will try to load six texture files using the following syntax of filenames: "[base]_[side][extension]" where [side] is one of the following: posx/posy/posz/negx/negy/negz and [base] and [extension] are the arguments passed this method.
Definition at line 547 of file qgs3dmapsettings.cpp.
void Qgs3DMapSettings::setTerrainGenerator | ( | QgsTerrainGenerator * | gen | ) |
Sets terrain generator.
It takes care of producing terrain tiles from the input data. Takes ownership of the generator
Definition at line 451 of file qgs3dmapsettings.cpp.
void Qgs3DMapSettings::setTerrainMapTheme | ( | const QString & | theme | ) |
Sets name of the map theme.
Definition at line 475 of file qgs3dmapsettings.cpp.
void Qgs3DMapSettings::setTerrainShadingEnabled | ( | bool | enabled | ) |
Sets whether terrain shading is enabled.
Definition at line 457 of file qgs3dmapsettings.cpp.
void Qgs3DMapSettings::setTerrainShadingMaterial | ( | const QgsPhongMaterialSettings & | material | ) |
Sets terrain shading material.
Definition at line 466 of file qgs3dmapsettings.cpp.
void Qgs3DMapSettings::setTerrainVerticalScale | ( | double | zScale | ) |
Sets vertical scale (exaggeration) of terrain (1 = true scale, > 1 = hills get more pronounced)
Definition at line 367 of file qgs3dmapsettings.cpp.
void Qgs3DMapSettings::setTransformContext | ( | const QgsCoordinateTransformContext & | context | ) |
Sets the coordinate transform context, which stores various information regarding which datum transforms should be used when transforming points from a source to destination coordinate reference system.
Definition at line 334 of file qgs3dmapsettings.cpp.
|
inline |
Returns whether to show camera's view center as a sphere (for debugging)
Definition at line 316 of file qgs3dmapsettings.h.
|
signal |
Emitted when the flag whether camera's view center is shown has changed.
|
inline |
Returns whether to display labels on terrain tiles.
Definition at line 320 of file qgs3dmapsettings.h.
|
signal |
Emitted when the flag whether labels are displayed on terrain tiles has changed.
|
inline |
Returns whether to display bounding boxes of terrain tiles (for debugging)
Definition at line 300 of file qgs3dmapsettings.h.
|
signal |
Emitted when the flag whether terrain's bounding boxes are shown has changed.
|
inline |
Returns whether to display extra tile info on top of terrain tiles (for debugging)
Definition at line 304 of file qgs3dmapsettings.h.
|
signal |
Emitted when the flag whether terrain's tile info is shown has changed.
|
inline |
Returns base part of filenames of skybox (see setSkybox())
Definition at line 293 of file qgs3dmapsettings.h.
|
inline |
Returns extension part of filenames of skybox (see setSkybox())
Definition at line 295 of file qgs3dmapsettings.h.
|
inline |
Returns terrain generator. It takes care of producing terrain tiles from the input data.
Definition at line 228 of file qgs3dmapsettings.h.
|
signal |
Emitted when the terrain generator has changed.
|
inline |
Returns name of the map theme (from the active project) that will be used for terrain's texture.
Empty map theme name means that the map theme is not overridden and the current map theme will be used.
Definition at line 272 of file qgs3dmapsettings.h.
|
signal |
Emitted when terrain's map theme has changed.
|
signal |
Emitted when terrain shading enabled flag or terrain shading material has changed.
|
inline |
Returns terrain shading material.
Diffuse color component is ignored since the diffuse component is provided by 2D rendered map texture. Only used when isTerrainShadingEnabled() is true
.
Definition at line 257 of file qgs3dmapsettings.h.
double Qgs3DMapSettings::terrainVerticalScale | ( | ) | const |
Returns vertical scale (exaggeration) of terrain.
Definition at line 376 of file qgs3dmapsettings.cpp.
|
signal |
Emitted when the vertical scale of the terrain has changed.
QgsCoordinateTransformContext Qgs3DMapSettings::transformContext | ( | ) | const |
Returns the coordinate transform context, which stores various information regarding which datum transforms should be used when transforming points from a source to destination coordinate reference system.
Definition at line 329 of file qgs3dmapsettings.cpp.
QgsVector3D Qgs3DMapSettings::worldToMapCoordinates | ( | const QgsVector3D & | worldCoords | ) | const |
Converts 3D world coordinates to map coordinates (applies offset and turns (x,y,z) into (x,-z,y))
Definition at line 319 of file qgs3dmapsettings.cpp.
QDomElement Qgs3DMapSettings::writeXml | ( | QDomDocument & | doc, |
const QgsReadWriteContext & | context | ||
) | const |
Writes configuration to a DOM element, to be used later with readXml()
Definition at line 210 of file qgs3dmapsettings.cpp.