Marble
7 #include "KmlGroundOverlayWriter.h"
9 #include "GeoDataLatLonQuad.h"
10 #include "GeoDataGroundOverlay.h"
11 #include "GeoDataTypes.h"
12 #include "GeoWriter.h"
13 #include "KmlElementDictionary.h"
18 static GeoTagWriterRegistrar s_writerLookAt(
20 kml::kmlTag_nameSpaceOgc22 ),
21 new KmlGroundOverlayWriter );
23 KmlGroundOverlayWriter::KmlGroundOverlayWriter() : KmlOverlayTagWriter( kml::kmlTag_GroundOverlay )
28 bool KmlGroundOverlayWriter::writeMid(
const GeoNode *node, GeoWriter &writer)
const
30 KmlOverlayTagWriter::writeMid( node, writer );
32 const GeoDataGroundOverlay *ground_overlay =
33 static_cast<const GeoDataGroundOverlay*
>( node );
35 writer.writeOptionalElement( kml::kmlTag_altitude,
37 KmlGroundOverlayWriter::writeAltitudeMode( writer, ground_overlay->altitudeMode() );
39 if ( !ground_overlay->latLonBox().isEmpty() ) {
40 writeElement( &ground_overlay->latLonBox(), writer );
43 if ( ground_overlay->latLonQuad().isValid() ) {
44 writeElement( &ground_overlay->latLonQuad(), writer );
54 return "clampToGround";
56 return "relativeToGround";
58 return "clampToSeaFloor";
60 return "relativeToSeaFloor";
67 void KmlGroundOverlayWriter::writeAltitudeMode(GeoWriter& writer,
AltitudeMode altMode)
74 const QString altitudeMode = KmlGroundOverlayWriter::altitudeModeToString( altMode );
76 if ( isGoogleExtension ) {
78 writer.writeElement( kml::kmlTag_nameSpaceGx22, kml::kmlTag_altitudeMode, altitudeMode);
80 writer.writeElement( kml::kmlTag_altitudeMode, altitudeMode );
@ RelativeToSeaFloor
Altitude is given relative to the sea floor.
QString number(int n, int base)
QPair< QString, QString > QualifiedName
Object Name and Namespace Pair This type is intended to be used in a similar way to.
@ ClampToSeaFloor
Altitude always sticks to sea floor.
Binds a QML item to a specific geodetic location in screen coordinates.
@ Absolute
Altitude is given relative to the sealevel.
@ ClampToGround
Altitude always sticks to ground level.
@ RelativeToGround
Altitude is always given relative to ground level.
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Wed Oct 4 2023 04:09:42 by
doxygen 1.8.17 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.