/usr/include/marble/GeoDataMultiGeometry.h is in libmarble-dev 4:4.8.2-0ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | //
// This file is part of the Marble Virtual Globe.
//
// This program is free software licensed under the GNU LGPL. You can
// find a copy of this license in LICENSE.txt in the top directory of
// the source code.
//
// Copyright 2008 Patrick Spendrin <ps_ml@gmx.de>
//
#ifndef MARBLE_GEODATAMULTIGEOMETRY_H
#define MARBLE_GEODATAMULTIGEOMETRY_H
#include "geodata_export.h"
#include "GeoDataGeometry.h"
#include <QtCore/QVector>
namespace Marble
{
/**
* @short A class that can contain other GeoDataGeometry objects
*
* GeoDataMultiGeometry is a collection of other GeoDataGeometry objects.
* As one can add GeoDataMultiGeometry to itself, you can make up a collection
* of different objects to form one Placemark.
*/
class GeoDataMultiGeometryPrivate;
class GEODATA_EXPORT GeoDataMultiGeometry : public GeoDataGeometry
{
public:
GeoDataMultiGeometry();
GeoDataMultiGeometry( const GeoDataGeometry& other );
virtual ~GeoDataMultiGeometry();
virtual GeoDataLatLonAltBox latLonAltBox() const;
int size() const;
GeoDataGeometry& at( int pos );
const GeoDataGeometry& at( int pos ) const;
GeoDataGeometry& operator[]( int pos );
const GeoDataGeometry& operator[]( int pos ) const;
GeoDataGeometry& first();
const GeoDataGeometry& first() const;
GeoDataGeometry& last();
const GeoDataGeometry& last() const;
/**
* @brief returns the requested child item
*/
GeoDataGeometry* child( int );
/**
* @brief returns the requested child item
*/
const GeoDataGeometry* child( int ) const;
/**
* @brief returns the position of an item in the list
*/
int childPosition( GeoDataGeometry *child);
/**
* @brief add an element
*/
void append( GeoDataGeometry *other );
GeoDataMultiGeometry& operator << ( const GeoDataGeometry& value );
QVector<GeoDataGeometry*>::Iterator begin();
QVector<GeoDataGeometry*>::Iterator end();
QVector<GeoDataGeometry*>::ConstIterator constBegin() const;
QVector<GeoDataGeometry*>::ConstIterator constEnd() const;
void clear();
QVector<GeoDataGeometry> vector() const;
QVector<GeoDataGeometry*>::Iterator erase ( QVector<GeoDataGeometry*>::Iterator pos );
QVector<GeoDataGeometry*>::Iterator erase ( QVector<GeoDataGeometry*>::Iterator begin,
QVector<GeoDataGeometry*>::Iterator end );
// Serialize the Placemark to @p stream
virtual void pack( QDataStream& stream ) const;
// Unserialize the Placemark from @p stream
virtual void unpack( QDataStream& stream );
private:
GeoDataMultiGeometryPrivate *p() const;
};
}
#endif
|