void TestGxTimeStamp::simpleParseTest() { QString const centerContent ( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" "<kml xmlns=\"http://www.opengis.net/kml/2.2\"" " xmlns:gx=\"http://www.google.com/kml/ext/2.2\">" "<Document>" "<Placemark>" "<Camera>" "<gx:TimeStamp>" "<when>1987-06-05T04:03:02-01:00</when>" "</gx:TimeStamp>" "</Camera>" "</Placemark>" "</Document>" "</kml>" ); GeoDataDocument* dataDocument = parseKml( centerContent ); QCOMPARE( dataDocument->placemarkList().size(), 1 ); GeoDataPlacemark *placemark = dataDocument->placemarkList().at( 0 ); GeoDataAbstractView* view = placemark->abstractView(); QVERIFY( view != 0 ); GeoDataCamera* camera = dynamic_cast<GeoDataCamera*>( view ); QVERIFY( camera != 0 ); QCOMPARE( camera->timeStamp().when().toUTC(), QDateTime::fromString( "1987-06-05T04:03:02-01:00", Qt::ISODate).toUTC() ); delete dataDocument; }
void TestCamera::simpleParseTest() { QString const kmlContent ( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" "<kml xmlns=\"http://www.opengis.net/kml/2.2\"" " xmlns:gx=\"http://www.google.com/kml/ext/2.2\">" "<Document>" " <Camera id=\"myCam\">" " <longitude>1</longitude>" " <latitude>2</latitude>" " <altitude>3</altitude>" " <heading>4</heading>" " <tilt>5</tilt>" " <roll>6</roll>" " <altitudeMode>relativeToGround</altitudeMode>" " </Camera>" "</Document>" "</kml>" ); GeoDataDocument* dataDocument = parseKml( kmlContent ); GeoDataCamera *camera = dynamic_cast<GeoDataCamera*>( dataDocument->abstractView() ); QVERIFY( camera != 0); GeoDataCoordinates::Unit const degree = GeoDataCoordinates::Degree; QCOMPARE( camera->longitude( degree ), 1.0 ); QCOMPARE( camera->latitude( degree ), 2.0 ); QCOMPARE( camera->altitude(), 3.0 ); QCOMPARE( camera->heading(), 4.0 ); QCOMPARE( camera->tilt(), 5.0 ); QCOMPARE( camera->roll(), 6.0 ); QCOMPARE( camera->altitudeMode(), RelativeToGround ); delete dataDocument; }
bool GeoDataCamera::operator==( const GeoDataCamera &other ) const { return equals(other) && d->m_coordinates == other.d->m_coordinates && d->m_roll == other.d->m_roll && d->m_heading == other.d->m_heading && d->m_tilt == other.d->m_tilt && altitudeMode() == other.altitudeMode(); }
void FlyToEditWidget::save() { if (flyToElement()->view() != 0 && m_coord != GeoDataCoordinates()) { GeoDataCoordinates coords = m_coord; if ( flyToElement()->view()->nodeType() == GeoDataTypes::GeoDataCameraType ) { GeoDataCamera* camera = dynamic_cast<GeoDataCamera*>( flyToElement()->view() ); camera->setCoordinates( coords ); } else if ( flyToElement()->view()->nodeType() == GeoDataTypes::GeoDataLookAtType ) { GeoDataLookAt* lookAt = dynamic_cast<GeoDataLookAt*>( flyToElement()->view() ); lookAt->setCoordinates( coords ); } else{ GeoDataLookAt* lookAt = new GeoDataLookAt; lookAt->setCoordinates( coords ); flyToElement()->setView( lookAt ); } } flyToElement()->setDuration(m_waitSpin->value()); emit editingDone(m_index); }