/usr/include/marble/GeoDataLatLonAltBox.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 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | //
// 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 2007 Andrew Manson <g.real.ate@gmail.com>
// Copyright 2008 Torsten Rahn <rahn@kde.org>
//
#ifndef MARBLE_GEODATALATLONALTBOX_H
#define MARBLE_GEODATALATLONALTBOX_H
#include "global.h"
#include "GeoDataObject.h"
#include "GeoDataPoint.h"
#include "geodata_export.h"
#include "GeoDataLatLonBox.h"
namespace Marble
{
class GeoDataLatLonAltBoxPrivate;
class GeoDataLineString;
/**
* @short A class that defines a 3D bounding box for geographic data.
*
* GeoDataLatLonAltBox is a 3D bounding box that describes a geographic area
* in terms of latitude, longitude and altitude.
*
* The bounding box gets described by assigning the northern, southern,
* eastern and western boundary.
* So usually the value of the eastern boundary is bigger than the
* value of the western boundary. Only if the bounding box crosses the
* date line then the eastern boundary has got a smaller value than
* the western one.
*/
class GEODATA_EXPORT GeoDataLatLonAltBox : public GeoDataLatLonBox
{
friend bool GEODATA_EXPORT operator==( GeoDataLatLonAltBox const& lhs, GeoDataLatLonAltBox const& rhs );
public:
GeoDataLatLonAltBox();
GeoDataLatLonAltBox( const GeoDataLatLonAltBox & other );
GeoDataLatLonAltBox( const GeoDataLatLonBox & other );
/**
* @brief A LatLonAltBox with the data from a GeoDataCoordinate
* This way of creating a GeoDataLatLonAltBox sets the north and south
* values of this box to the Latitude value in the GeoDataCoordinate,
* resulting in a Box that has a 0 Area. This is useful for building
* LatLonAltBoxes from GeoDataCoordinates.
*/
GeoDataLatLonAltBox( const GeoDataCoordinates & coordinates );
virtual ~GeoDataLatLonAltBox();
GeoDataLatLonAltBox& operator=( const GeoDataLatLonAltBox& other );
/// Provides type information for downcasting a GeoData
virtual const char* nodeType() const;
/**
* @brief Get the lower altitude boundary of the bounding box.
* @return the height of the lower altitude boundary in meters.
*/
qreal minAltitude() const;
void setMinAltitude( const qreal minAltitude );
/**
* @brief Get the upper altitude boundary of the bounding box.
* @return the height of the upper altitude boundary in meters.
*/
qreal maxAltitude() const;
void setMaxAltitude( const qreal maxAltitude );
/**
* @brief Get the reference system for the altitude.
* @return the point of reference which marks the origin
* for measuring the altitude.
*/
AltitudeMode altitudeMode() const;
void setAltitudeMode( const AltitudeMode altitudeMode );
virtual bool contains( const GeoDataPoint & ) const; // NOTE: Why do we need this one?
virtual bool contains( const GeoDataCoordinates & ) const;
bool contains( const GeoDataLatLonAltBox & ) const;
/**
* @brief Check if this GeoDataLatLonAltBox intersects with the given one.
*/
virtual bool intersects( const GeoDataLatLonAltBox & ) const;
using GeoDataLatLonBox::intersects;
/**
* @brief Create the smallest bounding box from a line string.
* @return the smallest bounding box that contains the linestring.
*/
static GeoDataLatLonAltBox fromLineString( const GeoDataLineString& lineString );
/**
* @brief Creates a text string of the bounding box
*/
virtual QString toString( GeoDataCoordinates::Unit unit = GeoDataCoordinates::Radian ) const;
/**
* @brief Indicates whether the bounding box only contains a single 2D point ("singularity").
* @return Return value is true if the height and the width of the bounding box equal zero.
*/
bool isNull() const;
/**
* @brief returns the center of this box
* @return a coordinate, body-center of the box
*/
virtual GeoDataCoordinates center() const;
/// Serialize the contents of the feature to @p stream.
virtual void pack( QDataStream& stream ) const;
/// Unserialize the contents of the feature from @p stream.
virtual void unpack( QDataStream& stream );
private:
GeoDataLatLonAltBoxPrivate * const d;
};
bool GEODATA_EXPORT operator==( GeoDataLatLonAltBox const& lhs, GeoDataLatLonAltBox const& rhs );
}
#endif
|