6 #include "GeoDataLatLonQuad.h"
7 #include "GeoDataTypes.h"
11 class GeoDataLatLonQuadPrivate
14 GeoDataCoordinates m_bottomLeft;
15 GeoDataCoordinates m_bottomRight;
16 GeoDataCoordinates m_topRight;
17 GeoDataCoordinates m_topLeft;
19 GeoDataLatLonQuadPrivate();
22 GeoDataLatLonQuadPrivate::GeoDataLatLonQuadPrivate() :
23 m_bottomLeft(),m_bottomRight(),m_topRight(),m_topLeft()
28 GeoDataLatLonQuad::GeoDataLatLonQuad() : GeoDataObject(), d( new GeoDataLatLonQuadPrivate )
33 GeoDataLatLonQuad::GeoDataLatLonQuad(
const Marble::GeoDataLatLonQuad &other ) :
34 GeoDataObject( other ), d( new GeoDataLatLonQuadPrivate( *other.d ) )
39 GeoDataLatLonQuad &GeoDataLatLonQuad::operator=(
const GeoDataLatLonQuad &other )
45 bool GeoDataLatLonQuad::operator==(
const GeoDataLatLonQuad& other)
const
47 return equals( other )
48 && d->m_bottomLeft == other.d->m_bottomLeft
49 && d->m_bottomRight == other.d->m_bottomRight
50 && d->m_topLeft == other.d->m_topLeft
51 && d->m_topRight == other.d->m_topRight;
54 bool GeoDataLatLonQuad::operator!=(
const GeoDataLatLonQuad& other)
const
59 GeoDataLatLonQuad::~GeoDataLatLonQuad()
64 const char *GeoDataLatLonQuad::nodeType()
const
66 return GeoDataTypes::GeoDataLatLonQuadType;
71 return d->m_bottomLeft.latitude(unit);
76 d->m_bottomLeft.setLatitude( latitude, unit );
81 return d->m_bottomLeft.longitude( unit );
86 d->m_bottomLeft.setLongitude( longitude, unit );
91 return d->m_bottomRight.latitude( unit );
96 d->m_bottomRight.setLatitude( latitude, unit );
101 return d->m_bottomRight.longitude( unit );
106 d->m_bottomRight.setLongitude( longitude, unit );
111 return d->m_topRight.latitude( unit );
116 d->m_topRight.setLatitude( latitude, unit );
121 return d->m_topRight.longitude( unit );
126 d->m_topRight.setLongitude( longitude, unit );
131 return d->m_topLeft.latitude( unit );
136 d->m_topLeft.setLatitude( latitude, unit );
141 return d->m_topLeft.longitude( unit );
146 d->m_topLeft.setLongitude(longitude, unit );
150 GeoDataCoordinates &GeoDataLatLonQuad::bottomLeft()
const
152 return d->m_bottomLeft;
155 void GeoDataLatLonQuad::setBottomLeft(
const GeoDataCoordinates &coordinates)
157 d->m_bottomLeft = coordinates;
159 GeoDataCoordinates &GeoDataLatLonQuad::bottomRight()
const
161 return d->m_bottomRight;
164 void GeoDataLatLonQuad::setBottomRight(
const GeoDataCoordinates &coordinates)
166 d->m_bottomRight = coordinates;
169 GeoDataCoordinates &GeoDataLatLonQuad::topRight()
const
171 return d->m_topRight;
174 void GeoDataLatLonQuad::setTopRight(
const GeoDataCoordinates &coordinates)
176 d->m_topRight = coordinates;
179 GeoDataCoordinates &GeoDataLatLonQuad::topLeft()
const
184 void GeoDataLatLonQuad::setTopLeft(
const GeoDataCoordinates &coordinates)
186 d->m_topLeft = coordinates;
189 bool GeoDataLatLonQuad::isValid()
const
191 return d->m_bottomLeft.isValid() && d->m_bottomRight.isValid()
192 && d->m_topLeft.isValid() && d->m_topRight.isValid();