Your IP : 216.73.216.48
//
// 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 2013 Mayank Madan <maddiemadan@gmail.com>
//
#ifndef GEODATALATLONQUAD_H
#define GEODATALATLONQUAD_H
#include "GeoDataCoordinates.h"
#include "GeoDataObject.h"
#include "MarbleGlobal.h"
namespace Marble {
class GeoDataLatLonQuadPrivate;
class MARBLE_EXPORT GeoDataLatLonQuad: public GeoDataObject
{
public:
GeoDataLatLonQuad();
GeoDataLatLonQuad( const GeoDataLatLonQuad &other );
GeoDataLatLonQuad& operator=( const GeoDataLatLonQuad &other );
bool operator==( const GeoDataLatLonQuad &other ) const;
bool operator!=( const GeoDataLatLonQuad &other ) const;
~GeoDataLatLonQuad();
/** Provides type information for downcasting a GeoNode */
virtual const char* nodeType() const;
qreal bottomLeftLatitude( GeoDataCoordinates::Unit unit ) const;
qreal bottomRightLatitude( GeoDataCoordinates::Unit unit ) const;
qreal topRightLatitude( GeoDataCoordinates::Unit unit ) const;
qreal topLeftLatitude( GeoDataCoordinates::Unit unit ) const;
qreal bottomLeftLongitude( GeoDataCoordinates::Unit unit ) const;
qreal bottomRightLongitude( GeoDataCoordinates::Unit unit ) const;
qreal topRightLongitude( GeoDataCoordinates::Unit unit ) const;
qreal topLeftLongitude( GeoDataCoordinates::Unit unit ) const;
void setBottomLeftLatitude( qreal latitude, GeoDataCoordinates::Unit unit );
void setBottomRightLatitude( qreal latitude, GeoDataCoordinates::Unit unit );
void setTopRightLatitude( qreal latitude, GeoDataCoordinates::Unit unit );
void setTopLeftLatitude( qreal latitude, GeoDataCoordinates::Unit unit );
void setBottomLeftLongitude( qreal longitude, GeoDataCoordinates::Unit unit );
void setBottomRightLongitude( qreal longitude, GeoDataCoordinates::Unit unit );
void setTopRightLongitude( qreal longitude, GeoDataCoordinates::Unit unit );
void setTopLeftLongitude( qreal longitude, GeoDataCoordinates::Unit unit );
GeoDataCoordinates& bottomLeft() const;
void setBottomLeft( const GeoDataCoordinates &coordinates );
GeoDataCoordinates& bottomRight() const;
void setBottomRight( const GeoDataCoordinates &coordinates );
GeoDataCoordinates& topRight() const;
void setTopRight( const GeoDataCoordinates &coordinates );
GeoDataCoordinates& topLeft() const;
void setTopLeft( const GeoDataCoordinates &coordinates );
bool isValid() const;
private:
GeoDataLatLonQuadPrivate* const d;
};
}
#endif