Marble

GeoSceneLayer.h
1/*
2 SPDX-FileCopyrightText: 2008 Torsten Rahn <rahn@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6
7#ifndef MARBLE_GEOSCENELAYER_H
8#define MARBLE_GEOSCENELAYER_H
9
10#include <QString>
11#include <QVector>
12
13#include <geodata_export.h>
14
15#include "GeoDocument.h"
16
17namespace Marble
18{
19
20class GeoSceneAbstractDataset;
21class GeoSceneFilter;
22class GeoSceneLayerPrivate;
23
24/**
25 * @short Layer of a GeoScene document.
26 */
27
28class GEODATA_EXPORT GeoSceneLayer : public GeoNode
29{
30 public:
31 explicit GeoSceneLayer( const QString& name );
32 ~GeoSceneLayer() override;
33
34 const char* nodeType() const override;
35
36 /**
37 * @brief Add a data set to the legend
38 * @param dataset the new data set
39 */
40 void addDataset( GeoSceneAbstractDataset* );
41
42 const GeoSceneAbstractDataset * dataset( const QString& ) const;
43 GeoSceneAbstractDataset * dataset( const QString& );
44
45 const GeoSceneAbstractDataset * groundDataset() const;
46 GeoSceneAbstractDataset * groundDataset();
47
48 QVector<GeoSceneAbstractDataset*> datasets() const;
49
50 QString name() const;
51
52 QString backend() const;
53 void setBackend( const QString& plugin );
54
55 /**
56 * @brief returns whether the data is organized in quad tiles.
57 */
58 bool isTiled() const;
59 void setTiled( bool );
60
61 QString role() const;
62 void setRole( const QString& type );
63
64 const GeoSceneFilter * filter() const;
65 GeoSceneFilter * filter();
66 void addFilter( GeoSceneFilter * filter );
67 void removeFilter( GeoSceneFilter * filter );
68
69 private:
70 Q_DISABLE_COPY( GeoSceneLayer )
71
72 GeoSceneLayerPrivate * const d;
73};
74
75}
76
77#endif
A shared base class for all classes that are mapped to a specific tag (ie.
Definition GeoDocument.h:35
Contents used inside a layer.
Filter of a GeoScene document.
Layer of a GeoScene document.
Binds a QML item to a specific geodetic location in screen coordinates.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:18:17 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.