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 <QList>
11#include <QString>
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{
30public:
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 QList<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
69private:
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 Mon Nov 18 2024 12:15:45 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.