16 #ifndef QGS3DMAPSETTINGS_H 17 #define QGS3DMAPSETTINGS_H 67 void resolveReferences(
const QgsProject &project );
146 void setBackgroundColor(
const QColor &color );
148 QColor backgroundColor()
const;
151 void setSelectionColor(
const QColor &color );
153 QColor selectionColor()
const;
163 void setTerrainVerticalScale(
double zScale );
165 double terrainVerticalScale()
const;
171 void setLayers(
const QList<QgsMapLayer *> &layers );
177 QList<QgsMapLayer *> layers()
const;
183 void setMapTileResolution(
int res );
189 int mapTileResolution()
const;
195 void setMaxTerrainScreenError(
float error );
204 float maxTerrainScreenError()
const;
210 void setMaxTerrainGroundError(
float error );
218 float maxTerrainGroundError()
const;
233 void setTerrainShadingEnabled(
bool enabled );
262 void setTerrainMapTheme(
const QString &theme );
277 void setRenderers(
const QList<QgsAbstract3DRenderer *> &renderers SIP_TRANSFER );
279 QList<QgsAbstract3DRenderer *>
renderers()
const {
return mRenderers; }
287 void setSkybox(
bool enabled,
const QString &fileBase = QString(),
const QString &fileExtension = QString() );
296 void setShowTerrainBoundingBoxes(
bool enabled );
300 void setShowTerrainTilesInfo(
bool enabled );
308 void setShowCameraViewCenter(
bool enabled );
316 void setShowLabels(
bool enabled );
324 QList<QgsPointLightSettings>
pointLights()
const {
return mPointLights; }
330 void setPointLights(
const QList<QgsPointLightSettings> &pointLights );
342 void setFieldOfView(
const float fieldOfView );
361 void backgroundColorChanged();
363 void selectionColorChanged();
365 void layersChanged();
367 void terrainGeneratorChanged();
369 void terrainVerticalScaleChanged();
371 void mapTileResolutionChanged();
373 void maxTerrainScreenErrorChanged();
375 void maxTerrainGroundErrorChanged();
381 void terrainShadingChanged();
387 void terrainMapThemeChanged();
393 void renderersChanged();
396 void showTerrainBoundingBoxesChanged();
398 void showTerrainTilesInfoChanged();
404 void showCameraViewCenterChanged();
406 void showLabelsChanged();
412 void pointLightsChanged();
418 void fieldOfViewChanged();
424 QColor mBackgroundColor = Qt::black;
425 QColor mSelectionColor;
426 double mTerrainVerticalScale = 1;
427 std::unique_ptr<QgsTerrainGenerator> mTerrainGenerator;
428 int mMapTileResolution = 512;
429 float mMaxTerrainScreenError = 3.f;
430 float mMaxTerrainGroundError = 1.f;
431 bool mTerrainShadingEnabled =
false;
433 QString mTerrainMapTheme;
434 bool mShowTerrainBoundingBoxes =
false;
435 bool mShowTerrainTileInfo =
false;
436 bool mShowCameraViewCenter =
false;
437 bool mShowLabels =
false;
438 QList<QgsPointLightSettings> mPointLights;
439 float mFieldOfView = 45.0f;
440 QList<QgsMapLayerRef> mLayers;
441 QList<QgsAbstract3DRenderer *> mRenderers;
442 bool mSkyboxEnabled =
false;
443 QString mSkyboxFileBase;
444 QString mSkyboxFileExtension;
453 #endif // QGS3DMAPSETTINGS_H The class is used as a container of context for various read/write operations on other objects...
3 Class for storage of 3D vectors similar to QVector3D, with the difference that it uses double preci...
Base class for all map layer types.
bool showTerrainBoundingBoxes() const
Returns whether to display bounding boxes of terrain tiles (for debugging)
QgsCoordinateReferenceSystem crs() const
Returns coordinate reference system used in the 3D scene.
QgsMapThemeCollection * mapThemeCollection() const
Returns pointer to the collection of map themes.
bool isTerrainShadingEnabled() const
Returns whether terrain shading is enabled.
Base class for all renderers that may to participate in 3D view.
void setOutputDpi(const double dpi)
Sets DPI used for conversion between real world units (e.g.
QgsPhongMaterialSettings terrainShadingMaterial() const
Returns terrain shading material.
bool showCameraViewCenter() const
Returns whether to show camera's view center as a sphere (for debugging)
Represents a raster layer.
QString skyboxFileBase() const
Returns base part of filenames of skybox (see setSkybox())
const QgsPathResolver & pathResolver() const
Returns the path resolver for conversion between relative and absolute paths during rendering operati...
QList< QgsPointLightSettings > pointLights() const
Returns list of point lights defined in the scene.
const QgsCoordinateReferenceSystem & crs
3 Basic shading material used for rendering based on the Phong shading model with three color compone...
3 Definition of the world
QgsVector3D origin() const
Returns coordinates in map CRS at which 3D scene has origin (0,0,0)
QString terrainMapTheme() const
Returns name of the map theme (from the active project) that will be used for terrain's texture...
bool hasSkyboxEnabled() const
Returns whether skybox is enabled.
bool showTerrainTilesInfo() const
Returns whether to display extra tile info on top of terrain tiles (for debugging) ...
Encapsulates a QGIS project, including sets of map layers and their styles, layouts, annotations, canvases, etc.
Contains information about the context in which a coordinate transform is executed.
void setOrigin(const QgsVector3D &origin)
Sets coordinates in map CRS at which our 3D world has origin (0,0,0)
void setMapThemeCollection(QgsMapThemeCollection *mapThemes)
Sets pointer to the collection of map themes.
bool showLabels() const
Returns whether to display labels on terrain tiles.
void setPathResolver(const QgsPathResolver &resolver)
Sets the path resolver for conversion between relative and absolute paths during rendering operations...
3 Base class for generators of terrain.
QList< QgsAbstract3DRenderer * > renderers() const
Returns list of extra 3D renderers.
This class represents a coordinate reference system (CRS).
QString skyboxFileExtension() const
Returns extension part of filenames of skybox (see setSkybox())
double outputDpi() const
Returns DPI used for conversion between real world units (e.g.
float fieldOfView() const
Returns the camera lens' field of view.
Container class that allows storage of map themes consisting of visible map layers and layer styles...
Resolves relative paths into absolute paths and vice versa.
QgsTerrainGenerator * terrainGenerator() const
Returns terrain generator. It takes care of producing terrain tiles from the input data...