QGIS API Documentation 3.43.0-Master (7996e1b587e)
qgsglobechunkedentity.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsglobechunkedentity.h
3 --------------------------------------
4 Date : March 2025
5 Copyright : (C) 2025 by Martin Dobias
6 Email : wonder dot sk at gmail dot com
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
16#ifndef QGSGLOBECHUNKEDENTITY_H
17#define QGSGLOBECHUNKEDENTITY_H
18
19#include "qgis_3d.h"
20
22
23//
24// W A R N I N G
25// -------------
26//
27// This file is not part of the QGIS API. It exists purely as an
28// implementation detail. This header file may change from version to
29// version without notice, or even be removed.
30//
31
32#define SIP_NO_FILE
33
34
35#include "qgschunkedentity.h"
36
37class QgsMapLayer;
38class QgsGlobeMapUpdateJobFactory;
39
40
46class _3D_EXPORT QgsGlobeEntity : public QgsChunkedEntity
47{
48 public:
49 QgsGlobeEntity( Qgs3DMapSettings *mapSettings );
50 ~QgsGlobeEntity();
51
52 QVector<QgsRayCastingUtils::RayHit> rayIntersection( const QgsRayCastingUtils::Ray3D &ray, const QgsRayCastingUtils::RayCastContext &context ) const override;
53
54 private slots:
55 void invalidateMapImages();
56 void onLayersChanged();
57
58 private:
59 void connectToLayersRepaintRequest();
60
61 private:
62 std::unique_ptr<QgsGlobeMapUpdateJobFactory> mUpdateJobFactory;
63
65 QList<QgsMapLayer *> mLayers;
66};
67
68
70
71#endif // QGSGLOBECHUNKEDENTITY_H
Definition of the world.
Base class for all map layer types.
Definition qgsmaplayer.h:77
Helper struct to store ray casting parameters.