2
// This file is part of the Marble Virtual Globe.
4
// This program is free software licensed under the GNU LGPL. You can
5
// find a copy of this license in LICENSE.txt in the top directory of
8
// Copyright 2011 Dennis Nienhüser <earthwings@gentoo.org>
11
#ifndef OSMREGIONTREE_H
12
#define OSMREGIONTREE_H
14
#include "OsmRegion.h"
16
#include <QtCore/QVector>
24
OsmRegionTree( const OsmRegion & node = OsmRegion() );
26
const OsmRegion &node() const;
28
void setChildren( const QVector<OsmRegionTree> children );
30
const QVector<OsmRegionTree> & children() const;
32
void append( QList<OsmRegion> ®ions );
34
void traverse( int &counter );
36
operator QList<OsmRegion>() const;
38
int smallestRegionId( const GeoDataCoordinates &coordinates ) const;
41
int smallestRegionId( const GeoDataCoordinates &coordinates, int &level ) const;
43
void enumerate( QList<OsmRegion> &list ) const;
47
QVector<OsmRegionTree> m_children;
52
#endif // OSMREGIONTREE_H