QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
Signals | Public Member Functions | Protected Member Functions | List of all members
Qgs3DMapCanvas Class Reference

3 More...

#include <qgs3dmapcanvas.h>

Inheritance diagram for Qgs3DMapCanvas:
Inheritance graph
[legend]

Signals

void cameraNavigationSpeedChanged (double speed)
 Emitted when the camera navigation speed is changed. More...
 
void fpsCountChanged (float fpsCount)
 Emitted when the FPS count changes (at most every frame) More...
 
void fpsCounterEnabledChanged (bool enabled)
 Emitted when the FPS counter is enabled or disabeld. More...
 
void mapSettingsChanged ()
 Emitted when the the map setting is changed. More...
 
void savedAsImage (const QString &fileName)
 Emitted when the 3D map canvas was successfully saved as image. More...
 
void viewed2DExtentFrom3DChanged (QVector< QgsPointXY > extent)
 Emitted when the viewed 2D extent seen by the 3D camera has changed. More...
 

Public Member Functions

 Qgs3DMapCanvas ()
 Constructor for Qgs3DMapCanvas. More...
 
 ~Qgs3DMapCanvas ()
 Destructor for Qgs3DMapCanvas. More...
 
Qt3DRender::QFrameGraphNode * activeFrameGraph () const
 Returns the node of the active frame graph. More...
 
Qt3DRender::QCamera * camera () const
 Returns the default camera of the 3D Window. More...
 
QgsCameraControllercameraController ()
 Returns access to the view's camera controller. Returns nullptr if the scene has not been initialized yet with setMapSettings() More...
 
QgsWindow3DEngineengine () const
 Returns the 3D engine. More...
 
Qgs3DMapSettingsmapSettings ()
 Returns access to the 3D scene configuration. More...
 
Qgs3DMapToolmapTool () const
 Returns the active map tool that will receive events from the 3D canvas. More...
 
Qt3DRender::QRenderSettings * renderSettings () const
 Returns the render settings of the 3D Window. More...
 
void resetView ()
 Resets camera position to the default: looking down at the origin of world coordinates. More...
 
void saveAsImage (const QString &fileName, const QString &fileFormat)
 Saves the current scene as an image. More...
 
Qgs3DMapScenescene ()
 Returns access to the 3D scene (root 3D entity) More...
 
void setActiveFrameGraph (Qt3DRender::QFrameGraphNode *activeFrameGraph)
 Activates the specified activeFrameGraph. More...
 
void setMapSettings (Qgs3DMapSettings *mapSettings)
 Configure map scene being displayed. Takes ownership. More...
 
void setMapTool (Qgs3DMapTool *tool)
 Sets the active map tool that will receive events from the 3D canvas. More...
 
void setRootEntity (Qt3DCore::QEntity *root)
 Sets the specified root entity of the scene. More...
 
void setTemporalController (QgsTemporalController *temporalController)
 Sets the temporal controller. More...
 
void setViewFrom2DExtent (const QgsRectangle &extent)
 Resets camera view to show the extent (top view) More...
 
void setViewFromTop (const QgsPointXY &center, float distance, float rotation=0)
 Sets camera position to look down at the given point (in map coordinates) in given distance from plane with zero elevation. More...
 
QVector< QgsPointXYviewFrustum2DExtent ()
 Calculates the 2D extent viewed by the 3D camera as the vertices of the viewed trapezoid. More...
 

Protected Member Functions

bool eventFilter (QObject *watched, QEvent *event) override
 
void resizeEvent (QResizeEvent *) override
 Resets the aspect ratio of the 3D window. More...
 
void showEvent (QShowEvent *e) override
 Manages the display events specified in e. More...
 

Detailed Description

3

Qgs3DMapCanvas is a convenience wrapper to simplify the creation of a 3D window ready to be used with QGIS.

Note
This is a port of qtwindow3d which does not set the default surface when initialized.
The default surface must be set before the construction of the QApplication when using shared OpenGL context.
This is required in order to use QT3d and QtWebEngine at the same time.
Since
QGIS 3.36

Definition at line 79 of file qgs3dmapcanvas.h.

Constructor & Destructor Documentation

◆ Qgs3DMapCanvas()

Qgs3DMapCanvas::Qgs3DMapCanvas ( )

Constructor for Qgs3DMapCanvas.

Definition at line 38 of file qgs3dmapcanvas.cpp.

◆ ~Qgs3DMapCanvas()

Qgs3DMapCanvas::~Qgs3DMapCanvas ( )

Destructor for Qgs3DMapCanvas.

Definition at line 77 of file qgs3dmapcanvas.cpp.

Member Function Documentation

◆ activeFrameGraph()

Qt3DRender::QFrameGraphNode * Qgs3DMapCanvas::activeFrameGraph ( ) const

Returns the node of the active frame graph.

Definition at line 108 of file qgs3dmapcanvas.cpp.

◆ camera()

Qt3DRender::QCamera * Qgs3DMapCanvas::camera ( ) const

Returns the default camera of the 3D Window.

Definition at line 113 of file qgs3dmapcanvas.cpp.

◆ cameraController()

QgsCameraController * Qgs3DMapCanvas::cameraController ( )

Returns access to the view's camera controller. Returns nullptr if the scene has not been initialized yet with setMapSettings()

Definition at line 182 of file qgs3dmapcanvas.cpp.

◆ cameraNavigationSpeedChanged

void Qgs3DMapCanvas::cameraNavigationSpeedChanged ( double  speed)
signal

Emitted when the camera navigation speed is changed.

◆ engine()

QgsWindow3DEngine * Qgs3DMapCanvas::engine ( ) const
inline

Returns the 3D engine.

Definition at line 157 of file qgs3dmapcanvas.h.

◆ eventFilter()

bool Qgs3DMapCanvas::eventFilter ( QObject *  watched,
QEvent *  event 
)
overrideprotected

Definition at line 274 of file qgs3dmapcanvas.cpp.

◆ fpsCountChanged

void Qgs3DMapCanvas::fpsCountChanged ( float  fpsCount)
signal

Emitted when the FPS count changes (at most every frame)

◆ fpsCounterEnabledChanged

void Qgs3DMapCanvas::fpsCounterEnabledChanged ( bool  enabled)
signal

Emitted when the FPS counter is enabled or disabeld.

◆ mapSettings()

Qgs3DMapSettings * Qgs3DMapCanvas::mapSettings ( )
inline

Returns access to the 3D scene configuration.

Definition at line 95 of file qgs3dmapcanvas.h.

◆ mapSettingsChanged

void Qgs3DMapCanvas::mapSettingsChanged ( )
signal

Emitted when the the map setting is changed.

◆ mapTool()

Qgs3DMapTool * Qgs3DMapCanvas::mapTool ( ) const
inline

Returns the active map tool that will receive events from the 3D canvas.

If the tool is nullptr, events will be used for camera manipulation.

Definition at line 152 of file qgs3dmapcanvas.h.

◆ renderSettings()

Qt3DRender::QRenderSettings * Qgs3DMapCanvas::renderSettings ( ) const

Returns the render settings of the 3D Window.

Definition at line 118 of file qgs3dmapcanvas.cpp.

◆ resetView()

void Qgs3DMapCanvas::resetView ( )

Resets camera position to the default: looking down at the origin of world coordinates.

Definition at line 187 of file qgs3dmapcanvas.cpp.

◆ resizeEvent()

void Qgs3DMapCanvas::resizeEvent ( QResizeEvent *  )
overrideprotected

Resets the aspect ratio of the 3D window.

Definition at line 136 of file qgs3dmapcanvas.cpp.

◆ saveAsImage()

void Qgs3DMapCanvas::saveAsImage ( const QString &  fileName,
const QString &  fileFormat 
)

Saves the current scene as an image.

Definition at line 205 of file qgs3dmapcanvas.cpp.

◆ savedAsImage

void Qgs3DMapCanvas::savedAsImage ( const QString &  fileName)
signal

Emitted when the 3D map canvas was successfully saved as image.

◆ scene()

Qgs3DMapScene * Qgs3DMapCanvas::scene ( )
inline

Returns access to the 3D scene (root 3D entity)

Definition at line 98 of file qgs3dmapcanvas.h.

◆ setActiveFrameGraph()

void Qgs3DMapCanvas::setActiveFrameGraph ( Qt3DRender::QFrameGraphNode *  activeFrameGraph)

Activates the specified activeFrameGraph.

Definition at line 103 of file qgs3dmapcanvas.cpp.

◆ setMapSettings()

void Qgs3DMapCanvas::setMapSettings ( Qgs3DMapSettings mapSettings)

Configure map scene being displayed. Takes ownership.

Definition at line 143 of file qgs3dmapcanvas.cpp.

◆ setMapTool()

void Qgs3DMapCanvas::setMapTool ( Qgs3DMapTool tool)

Sets the active map tool that will receive events from the 3D canvas.

Does not transfer ownership. If the tool is nullptr, events will be used for camera manipulation.

Definition at line 242 of file qgs3dmapcanvas.cpp.

◆ setRootEntity()

void Qgs3DMapCanvas::setRootEntity ( Qt3DCore::QEntity *  root)

Sets the specified root entity of the scene.

Definition at line 91 of file qgs3dmapcanvas.cpp.

◆ setTemporalController()

void Qgs3DMapCanvas::setTemporalController ( QgsTemporalController temporalController)

Sets the temporal controller.

Definition at line 315 of file qgs3dmapcanvas.cpp.

◆ setViewFrom2DExtent()

void Qgs3DMapCanvas::setViewFrom2DExtent ( const QgsRectangle extent)

Resets camera view to show the extent (top view)

Definition at line 338 of file qgs3dmapcanvas.cpp.

◆ setViewFromTop()

void Qgs3DMapCanvas::setViewFromTop ( const QgsPointXY center,
float  distance,
float  rotation = 0 
)

Sets camera position to look down at the given point (in map coordinates) in given distance from plane with zero elevation.

Definition at line 195 of file qgs3dmapcanvas.cpp.

◆ showEvent()

void Qgs3DMapCanvas::showEvent ( QShowEvent *  e)
overrideprotected

Manages the display events specified in e.

Definition at line 123 of file qgs3dmapcanvas.cpp.

◆ viewed2DExtentFrom3DChanged

void Qgs3DMapCanvas::viewed2DExtentFrom3DChanged ( QVector< QgsPointXY extent)
signal

Emitted when the viewed 2D extent seen by the 3D camera has changed.

◆ viewFrustum2DExtent()

QVector< QgsPointXY > Qgs3DMapCanvas::viewFrustum2DExtent ( )

Calculates the 2D extent viewed by the 3D camera as the vertices of the viewed trapezoid.

Definition at line 346 of file qgs3dmapcanvas.cpp.


The documentation for this class was generated from the following files: