QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
3d
qgs3dhighlightfeaturehandler.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgs3dhighlightfeaturehandler.h
3
---------------------
4
begin : December 2025
5
copyright : (C) 2025 by Stefanos Natsis
6
email : uclaros 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 QGS3DHIGHLIGHTFEATUREHANDLER_H
17
#define QGS3DHIGHLIGHTFEATUREHANDLER_H
18
19
#include "qgis_3d.h"
20
#include "
qgsrulebased3drenderer.h
"
21
22
#include <QMap>
23
#include <QObject>
24
#include <QVector>
25
26
#define SIP_NO_FILE
27
28
class
QTimer;
29
class
Qgs3DMapScene
;
30
class
Qgs3DMapSceneEntity;
31
class
QgsFeature3DHandler;
32
class
QgsFeature
;
33
class
QgsMapLayer
;
34
class
QgsRubberBand3D;
35
36
44
class
_3D_EXPORT
Qgs3DHighlightFeatureHandler
:
public
QObject
45
{
46
Q_OBJECT
47
48
public
:
50
explicit
Qgs3DHighlightFeatureHandler
(
Qgs3DMapScene
*scene );
51
~Qgs3DHighlightFeatureHandler
()
override
;
52
53
public
slots:
59
void
highlightFeature
(
QgsFeature
feature,
QgsMapLayer
*layer );
60
62
void
clearHighlights
();
63
64
private
slots:
65
void
onRenderer3DChanged();
66
67
private
:
68
void
finalizeAndAddToScene( Qgs3DMapSceneEntity *entity );
69
70
Qgs3DMapScene
*mScene;
72
QMap<QgsMapLayer *, QgsRubberBand3D *> mRubberBands;
74
QVector<Qgs3DMapSceneEntity *> mHighlightEntities;
76
QMap<QgsMapLayer *, QgsFeature3DHandler *> mHighlightHandlers;
78
QMap<QgsMapLayer *, QgsRuleBased3DRenderer::RuleToHandlerMap> mHighlightRuleBasedHandlers;
80
std::unique_ptr<QTimer> mHighlightHandlerTimer;
81
};
82
83
#endif
// QGS3DHIGHLIGHTFEATUREHANDLER_H
Qgs3DHighlightFeatureHandler::Qgs3DHighlightFeatureHandler
Qgs3DHighlightFeatureHandler(Qgs3DMapScene *scene)
Constructor.
Definition
qgs3dhighlightfeaturehandler.cpp:39
Qgs3DHighlightFeatureHandler::highlightFeature
void highlightFeature(QgsFeature feature, QgsMapLayer *layer)
Highlights feature of layer in the 3d scene When multiple features are identified,...
Definition
qgs3dhighlightfeaturehandler.cpp:52
Qgs3DHighlightFeatureHandler::clearHighlights
void clearHighlights()
Clears all highlights.
Definition
qgs3dhighlightfeaturehandler.cpp:239
Qgs3DMapScene
Entity that encapsulates our 3D scene - contains all other entities (such as terrain) as children.
Definition
qgs3dmapscene.h:71
QgsFeature
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Definition
qgsfeature.h:60
QgsMapLayer
Base class for all map layer types.
Definition
qgsmaplayer.h:83
qgsrulebased3drenderer.h
Generated on
for QGIS API Documentation by
1.17.0