7 #include "GeoDataCamera.h"
8 #include "GeoDataCamera_p.h"
10 #include "GeoDataTypes.h"
12 #include <QDataStream>
17 GeoDataCamera::GeoDataCamera() :
18 GeoDataAbstractView(),
19 d( new GeoDataCameraPrivate )
23 GeoDataCamera::GeoDataCamera(
const GeoDataCamera& other ) :
24 GeoDataAbstractView(),
30 GeoDataCamera& GeoDataCamera::operator=(
const GeoDataCamera &other )
32 GeoDataAbstractView::operator=( other );
33 qAtomicAssign( d, other.d );
37 bool GeoDataCamera::operator==(
const GeoDataCamera &other )
const
39 return equals(other) &&
40 d->m_coordinates == other.d->m_coordinates &&
41 d->m_roll == other.d->m_roll &&
42 d->m_heading == other.d->m_heading &&
43 d->m_tilt == other.d->m_tilt &&
44 altitudeMode() == other.altitudeMode();
47 bool GeoDataCamera::operator!=(
const GeoDataCamera &other )
const
52 GeoDataCamera::~GeoDataCamera()
54 if( !d->ref.deref() ) {
59 GeoDataAbstractView *GeoDataCamera::copy()
const
61 return new GeoDataCamera( *
this );
64 void GeoDataCamera::setCoordinates(
const GeoDataCoordinates& coordinates )
67 d->m_coordinates = coordinates;
70 const char* GeoDataCamera::nodeType()
const
72 return GeoDataTypes::GeoDataCameraType;
75 void GeoDataCamera::setAltitude( qreal altitude )
78 d->m_coordinates.setAltitude( altitude );
81 qreal GeoDataCamera::altitude()
const
83 return d->m_coordinates.altitude();
89 d->m_coordinates.setLatitude( latitude, unit );
94 return d->m_coordinates.latitude( unit );
100 d->m_coordinates.setLongitude( longitude, unit );
105 return d->m_coordinates.longitude( unit );
108 GeoDataCoordinates GeoDataCamera::coordinates()
const
110 return d->m_coordinates;
113 void GeoDataCamera::setRoll(qreal roll)
119 qreal GeoDataCamera::roll()
const
124 qreal GeoDataCamera::heading()
const
129 void GeoDataCamera::setHeading(qreal heading)
132 d->m_heading = heading;
135 qreal GeoDataCamera::tilt()
const
140 void GeoDataCamera::setTilt(qreal tilt)
146 void GeoDataCamera::detach()