diff --git a/src/lib/marble/geodata/CMakeLists.txt b/src/lib/marble/geodata/CMakeLists.txt index 1a26de784..2105d0571 100644 --- a/src/lib/marble/geodata/CMakeLists.txt +++ b/src/lib/marble/geodata/CMakeLists.txt @@ -1,499 +1,500 @@ SET ( geodata_data_SRCS geodata/data/LonLatParser.cpp geodata/data/GeoDataRegion.cpp geodata/data/GeoDataUpdate.cpp geodata/data/GeoDataViewVolume.cpp geodata/data/GeoDataHotSpot.cpp geodata/data/GeoDataAlias.cpp geodata/data/GeoDataImagePyramid.cpp geodata/data/GeoDataGeometry.cpp geodata/data/GeoDataPoint.cpp geodata/data/GeoDataPhotoOverlay.cpp geodata/data/GeoDataTimePrimitive.cpp geodata/data/GeoDataVec2.cpp geodata/data/GeoDataBalloonStyle.cpp geodata/data/GeoDataNetworkLink.cpp geodata/data/GeoDataLineStyle.cpp geodata/data/GeoDataScreenOverlay.cpp geodata/data/GeoDataContainer.cpp geodata/data/GeoDataItemIcon.cpp geodata/data/GeoDataTour.cpp geodata/data/GeoDataTourPrimitive.cpp geodata/data/GeoDataOverlay.cpp geodata/data/GeoDataListStyle.cpp geodata/data/GeoDataFlyTo.cpp geodata/data/GeoDataMultiTrack.cpp geodata/data/GeoDataSnippet.cpp geodata/data/GeoDataStyle.cpp geodata/data/GeoDataLinearRing.cpp geodata/data/GeoDataFolder.cpp geodata/data/GeoDataDocument.cpp geodata/data/GeoDataLatLonAltBox.cpp geodata/data/GeoDataStyleSelector.cpp geodata/data/GeoDataLod.cpp geodata/data/GeoDataColorStyle.cpp geodata/data/GeoDataData.cpp geodata/data/GeoDataLocation.cpp geodata/data/GeoDataPolygon.cpp geodata/data/GeoDataLineString.cpp geodata/data/GeoDataOrientation.cpp geodata/data/GeoDataLookAt.cpp geodata/data/GeoDataPlacemark.cpp geodata/data/GeoDataPlaylist.cpp geodata/data/GeoDataPolyStyle.cpp geodata/data/GeoDataModel.cpp geodata/data/GeoDataLink.cpp geodata/data/GeoDataIconStyle.cpp geodata/data/GeoDataAbstractView.cpp geodata/data/GeoDataStyleMap.cpp geodata/data/GeoDataExtendedData.cpp geodata/data/GeoDataLabelStyle.cpp geodata/data/GeoDataTimeSpan.cpp geodata/data/GeoDataMultiGeometry.cpp geodata/data/GeoDataRelation.cpp geodata/data/GeoDataSimpleArrayData.cpp geodata/data/GeoDataObject.cpp geodata/data/GeoDataLatLonQuad.cpp geodata/data/GeoDataCoordinates.cpp geodata/data/GeoDataTrack.cpp geodata/data/GeoDataNetworkLinkControl.cpp geodata/data/GeoDataFeature.cpp geodata/data/GeoDataCamera.cpp geodata/data/GeoDataTimeStamp.cpp geodata/data/GeoDataGroundOverlay.cpp geodata/data/GeoDataLatLonBox.cpp geodata/data/GeoDataScale.cpp geodata/data/GeoDataResourceMap.cpp geodata/data/GeoDataTourControl.cpp geodata/data/GeoDataAccuracy.cpp geodata/data/GeoDataWait.cpp geodata/data/GeoDataSoundCue.cpp geodata/data/GeoDataAnimatedUpdate.cpp geodata/data/GeoDataSchema.cpp geodata/data/GeoDataSimpleField.cpp geodata/data/GeoDataChange.cpp geodata/data/GeoDataCreate.cpp geodata/data/GeoDataDelete.cpp geodata/data/GeoDataSchemaData.cpp geodata/data/GeoDataSimpleData.cpp + geodata/data/GeoDataBuilding.cpp ) SET ( geodata_scene_SRCS geodata/scene/GeoSceneAbstractTileProjection.cpp geodata/scene/GeoSceneMercatorTileProjection.cpp geodata/scene/GeoSceneEquirectTileProjection.cpp geodata/scene/GeoSceneIcon.cpp geodata/scene/GeoSceneTileDataset.cpp geodata/scene/GeoSceneVectorTileDataset.cpp geodata/scene/GeoSceneGeodata.cpp geodata/scene/GeoSceneGroup.cpp geodata/scene/GeoSceneZoom.cpp geodata/scene/GeoSceneLegend.cpp geodata/scene/GeoSceneTextureTileDataset.cpp geodata/scene/GeoSceneAbstractDataset.cpp geodata/scene/GeoSceneItem.cpp geodata/scene/GeoSceneLicense.cpp geodata/scene/GeoSceneSection.cpp geodata/scene/GeoSceneFilter.cpp geodata/scene/GeoSceneHead.cpp geodata/scene/GeoSceneVector.cpp geodata/scene/GeoSceneSettings.cpp geodata/scene/GeoSceneDocument.cpp geodata/scene/GeoSceneMap.cpp geodata/scene/GeoSceneProperty.cpp geodata/scene/GeoSceneLayer.cpp geodata/scene/GeoScenePalette.cpp ) # handlers and writers sources SET ( geodata_handlers_dgml_SRCS geodata/handlers/dgml/DgmlFilterTagHandler.h geodata/handlers/dgml/DgmlHeadingTagHandler.h geodata/handlers/dgml/DgmlDocumentTagHandler.cpp geodata/handlers/dgml/DgmlMinimumTagHandler.cpp geodata/handlers/dgml/DgmlHeadTagHandler.h geodata/handlers/dgml/DgmlLayerTagHandler.cpp geodata/handlers/dgml/DgmlMinimumTagHandler.h geodata/handlers/dgml/DgmlTargetTagHandler.cpp geodata/handlers/dgml/DgmlSourceFileTagHandler.h geodata/handlers/dgml/DgmlSourceFileTagHandler.cpp geodata/handlers/dgml/DgmlGeodataTagHandler.h geodata/handlers/dgml/DgmlDownloadPolicyTagHandler.h geodata/handlers/dgml/DgmlProjectionTagHandler.cpp geodata/handlers/dgml/DgmlLegendTagHandler.cpp geodata/handlers/dgml/DgmlTargetTagHandler.h geodata/handlers/dgml/DgmlAuxillaryDictionary.cpp geodata/handlers/dgml/DgmlGeodataTagHandler.cpp geodata/handlers/dgml/DgmlBlendingTagHandler.h geodata/handlers/dgml/DgmlSourceDirTagHandler.cpp geodata/handlers/dgml/DgmlValueTagHandler.h geodata/handlers/dgml/DgmlMapTagHandler.h geodata/handlers/dgml/DgmlPropertyTagHandler.h geodata/handlers/dgml/DgmlAttributeDictionary.h geodata/handlers/dgml/DgmlThemeTagHandler.cpp geodata/handlers/dgml/DgmlInstallMapTagHandler.h geodata/handlers/dgml/DgmlPropertyTagHandler.cpp geodata/handlers/dgml/DgmlAvailableTagHandler.h geodata/handlers/dgml/DgmlMaximumTagHandler.h geodata/handlers/dgml/DgmlHeadTagHandler.cpp geodata/handlers/dgml/DgmlLegendTagHandler.h geodata/handlers/dgml/DgmlProjectionTagHandler.h geodata/handlers/dgml/DgmlAttributeDictionary.cpp geodata/handlers/dgml/DgmlInstallMapTagHandler.cpp geodata/handlers/dgml/DgmlVectorTagHandler.h geodata/handlers/dgml/DgmlDiscreteTagHandler.cpp geodata/handlers/dgml/DgmlNameTagHandler.cpp geodata/handlers/dgml/DgmlLicenseTagHandler.h geodata/handlers/dgml/DgmlAvailableTagHandler.cpp geodata/handlers/dgml/DgmlStorageLayoutTagHandler.h geodata/handlers/dgml/DgmlThemeTagHandler.h geodata/handlers/dgml/DgmlSettingsTagHandler.h geodata/handlers/dgml/DgmlDescriptionTagHandler.h geodata/handlers/dgml/DgmlBrushTagHandler.cpp geodata/handlers/dgml/DgmlSectionTagHandler.h geodata/handlers/dgml/DgmlTextureTagHandler.h geodata/handlers/dgml/DgmlDownloadUrlTagHandler.cpp geodata/handlers/dgml/DgmlBlendingTagHandler.cpp geodata/handlers/dgml/DgmlBrushTagHandler.h geodata/handlers/dgml/DgmlZoomTagHandler.h geodata/handlers/dgml/DgmlVectorTagHandler.cpp geodata/handlers/dgml/DgmlDiscreteTagHandler.h geodata/handlers/dgml/DgmlMapTagHandler.cpp geodata/handlers/dgml/DgmlVectortileTagHandler.cpp geodata/handlers/dgml/DgmlVisibleTagHandler.cpp geodata/handlers/dgml/DgmlHeadingTagHandler.cpp geodata/handlers/dgml/DgmlTileSizeTagHandler.h geodata/handlers/dgml/DgmlPenTagHandler.h geodata/handlers/dgml/DgmlZoomTagHandler.cpp geodata/handlers/dgml/DgmlTileSizeTagHandler.cpp geodata/handlers/dgml/DgmlTextureTagHandler.cpp geodata/handlers/dgml/DgmlPenTagHandler.cpp geodata/handlers/dgml/DgmlDescriptionTagHandler.cpp geodata/handlers/dgml/DgmlElementDictionary.h geodata/handlers/dgml/DgmlIconTagHandler.cpp geodata/handlers/dgml/DgmlValueTagHandler.cpp geodata/handlers/dgml/DgmlLicenseTagHandler.cpp geodata/handlers/dgml/DgmlTextTagHandler.cpp geodata/handlers/dgml/DgmlMaximumTagHandler.cpp geodata/handlers/dgml/DgmlPaletteTagHandler.cpp geodata/handlers/dgml/DgmlGroupTagHandler.cpp geodata/handlers/dgml/DgmlDownloadUrlTagHandler.h geodata/handlers/dgml/DgmlItemTagHandler.h geodata/handlers/dgml/DgmlSourceDirTagHandler.h geodata/handlers/dgml/DgmlGroupTagHandler.h geodata/handlers/dgml/DgmlStorageLayoutTagHandler.cpp geodata/handlers/dgml/DgmlTextTagHandler.h geodata/handlers/dgml/DgmlFilterTagHandler.cpp geodata/handlers/dgml/DgmlVisibleTagHandler.h geodata/handlers/dgml/DgmlSectionTagHandler.cpp geodata/handlers/dgml/DgmlDownloadPolicyTagHandler.cpp geodata/handlers/dgml/DgmlIconTagHandler.h geodata/handlers/dgml/DgmlNameTagHandler.h geodata/handlers/dgml/DgmlDocumentTagHandler.h geodata/handlers/dgml/DgmlPaletteTagHandler.h geodata/handlers/dgml/DgmlVectortileTagHandler.h geodata/handlers/dgml/DgmlElementDictionary.cpp geodata/handlers/dgml/DgmlItemTagHandler.cpp geodata/handlers/dgml/DgmlSettingsTagHandler.cpp geodata/handlers/dgml/DgmlAuxillaryDictionary.h geodata/handlers/dgml/DgmlLayerTagHandler.h geodata/handlers/dgml/DgmlRenderOrderTagHandler.cpp geodata/handlers/dgml/DgmlRenderOrderTagHandler.h ) SET ( geodata_writers_dgml_SRCS geodata/writers/dgml/DgmlSectionTagWriter.h geodata/writers/dgml/DgmlSettingsTagWriter.cpp geodata/writers/dgml/DgmlTagWriter.h geodata/writers/dgml/DgmlItemTagWriter.h geodata/writers/dgml/DgmlSettingsTagWriter.h geodata/writers/dgml/DgmlMapTagWriter.cpp geodata/writers/dgml/DgmlSectionTagWriter.cpp geodata/writers/dgml/DgmlGeodataTagWriter.h geodata/writers/dgml/DgmlVectorTagWriter.h geodata/writers/dgml/DgmlGeodataTagWriter.cpp geodata/writers/dgml/DgmlLayerTagWriter.cpp geodata/writers/dgml/DgmlDocumentTagWriter.cpp geodata/writers/dgml/DgmlTextureTagWriter.h geodata/writers/dgml/DgmlMapTagWriter.h geodata/writers/dgml/DgmlVectorTagWriter.cpp geodata/writers/dgml/DgmlDocumentTagWriter.h geodata/writers/dgml/DgmlHeadTagWriter.cpp geodata/writers/dgml/DgmlLegendTagWriter.cpp geodata/writers/dgml/DgmlLegendTagWriter.h geodata/writers/dgml/DgmlHeadTagWriter.h geodata/writers/dgml/DgmlTextureTagWriter.cpp geodata/writers/dgml/DgmlTagWriter.cpp geodata/writers/dgml/DgmlLayerTagWriter.h geodata/writers/dgml/DgmlItemTagWriter.cpp ) SET( geodata_graphicsitem_SRCS geodata/graphicsitem/GeoLineStringGraphicsItem.cpp geodata/graphicsitem/GeoPhotoGraphicsItem.cpp geodata/graphicsitem/GeoPolygonGraphicsItem.cpp geodata/graphicsitem/AbstractGeoPolygonGraphicsItem.cpp geodata/graphicsitem/BuildingGeoPolygonGraphicsItem.cpp geodata/graphicsitem/GeoTrackGraphicsItem.cpp geodata/graphicsitem/ScreenOverlayGraphicsItem.cpp ) SET ( geodata_handlers_kml_SRCS geodata/handlers/kml/KmlAddressTagHandler.cpp geodata/handlers/kml/KmlAltitudeModeTagHandler.cpp geodata/handlers/kml/KmlAltitudeTagHandler.cpp geodata/handlers/kml/KmlAnimatedUpdateTagHandler.cpp geodata/handlers/kml/KmlAreaTagHandler.cpp geodata/handlers/kml/KmlBalloonStyleTagHandler.cpp geodata/handlers/kml/KmlBeginTagHandler.cpp geodata/handlers/kml/KmlBgColorTagHandler.cpp geodata/handlers/kml/KmlCameraTagHandler.cpp geodata/handlers/kml/KmlChangeTagHandler.cpp geodata/handlers/kml/KmlColorModeTagHandler.cpp geodata/handlers/kml/KmlColorTagHandler.cpp geodata/handlers/kml/KmlCoordinatesTagHandler.cpp geodata/handlers/kml/KmlCountrycodeTagHandler.cpp geodata/handlers/kml/KmlCountryNameCodeTagHandler.cpp geodata/handlers/kml/KmlDataTagHandler.cpp geodata/handlers/kml/KmlDescriptionTagHandler.cpp geodata/handlers/kml/KmlDisplayModeTagHandler.cpp geodata/handlers/kml/KmlDisplayNameTagHandler.cpp geodata/handlers/kml/KmlDocumentTagHandler.cpp geodata/handlers/kml/KmlDurationTagHandler.cpp geodata/handlers/kml/KmldrawOrderTagHandler.cpp geodata/handlers/kml/KmlEastTagHandler.cpp geodata/handlers/kml/KmlElementDictionary.cpp geodata/handlers/kml/KmlEndTagHandler.cpp geodata/handlers/kml/KmlExtendedDataTagHandler.cpp geodata/handlers/kml/KmlExtrudeTagHandler.cpp geodata/handlers/kml/KmlFillTagHandler.cpp geodata/handlers/kml/KmlFlyToModeTagHandler.cpp geodata/handlers/kml/KmlFlyToTagHandler.cpp geodata/handlers/kml/KmlFlyToViewTagHandler.cpp geodata/handlers/kml/KmlFolderTagHandler.cpp geodata/handlers/kml/KmlGroundOverlayTagHandler.cpp geodata/handlers/kml/KmlGxAltitudeModeTagHandler.cpp geodata/handlers/kml/KmlGxTimeSpanTagHandler.cpp geodata/handlers/kml/KmlGxTimeStampTagHandler.cpp geodata/handlers/kml/KmlHeadingTagHandler.cpp geodata/handlers/kml/KmlHotSpotTagHandler.cpp geodata/handlers/kml/KmlHrefTagHandler.cpp geodata/handlers/kml/KmlHttpQueryTagHandler.cpp geodata/handlers/kml/KmlIconStyleTagHandler.cpp geodata/handlers/kml/KmlIconTagHandler.cpp geodata/handlers/kml/KmlInnerBoundaryIsTagHandler.cpp geodata/handlers/kml/KmlItemIconTagHandler.cpp geodata/handlers/kml/KmlKeyTagHandler.cpp geodata/handlers/kml/KmlLabelStyleTagHandler.cpp geodata/handlers/kml/KmlLatitudeTagHandler.cpp geodata/handlers/kml/KmlLatLonAltBoxTagHandler.cpp geodata/handlers/kml/KmlLatLonBoxTagHandler.cpp geodata/handlers/kml/KmlLatLonQuadTagHandler.cpp geodata/handlers/kml/KmlLinearRingTagHandler.cpp geodata/handlers/kml/KmlLineStringTagHandler.cpp geodata/handlers/kml/KmlLineStyleTagHandler.cpp geodata/handlers/kml/KmlLinkTagHandler.cpp geodata/handlers/kml/KmlListItemTypeTagHandler.cpp geodata/handlers/kml/KmlListStyleTagHandler.cpp geodata/handlers/kml/KmlLodTagHandler.cpp geodata/handlers/kml/KmlLongitudeTagHandler.cpp geodata/handlers/kml/KmlLookAtTagHandler.cpp geodata/handlers/kml/KmlMarblePlacemarkTagHandler.cpp geodata/handlers/kml/KmlMaxAltitudeTagHandler.cpp geodata/handlers/kml/KmlMaxFadeExtentTagHandler.cpp geodata/handlers/kml/KmlMaxLodPixelsTagHandler.cpp geodata/handlers/kml/KmlMinAltitudeTagHandler.cpp geodata/handlers/kml/KmlMinFadeExtentTagHandler.cpp geodata/handlers/kml/KmlMinLodPixelsTagHandler.cpp geodata/handlers/kml/KmlModelTagHandler.cpp geodata/handlers/kml/KmlMultiGeometryTagHandler.cpp geodata/handlers/kml/KmlMultiTrackTagHandler.cpp geodata/handlers/kml/KmlMxSizeTagHandler.cpp geodata/handlers/kml/KmlNameTagHandler.cpp geodata/handlers/kml/KmlNetworkLinkTagHandler.cpp geodata/handlers/kml/KmlNorthTagHandler.cpp geodata/handlers/kml/KmlObjectTagHandler.cpp geodata/handlers/kml/KmlOpenTagHandler.cpp geodata/handlers/kml/KmlOuterBoundaryIsTagHandler.cpp geodata/handlers/kml/KmlOutlineTagHandler.cpp geodata/handlers/kml/KmlOverlayXYTagHandler.cpp geodata/handlers/kml/KmlPairTagHandler.cpp geodata/handlers/kml/KmlPhotoOverlayTagHandler.cpp geodata/handlers/kml/KmlPlacemarkTagHandler.cpp geodata/handlers/kml/KmlPlaylistTagHandler.cpp geodata/handlers/kml/KmlPointTagHandler.cpp geodata/handlers/kml/KmlPolygonTagHandler.cpp geodata/handlers/kml/KmlPolyStyleTagHandler.cpp geodata/handlers/kml/KmlPopTagHandler.cpp geodata/handlers/kml/KmlRangeTagHandler.cpp geodata/handlers/kml/KmlRefreshIntervalTagHandler.cpp geodata/handlers/kml/KmlRefreshModeTagHandler.cpp geodata/handlers/kml/KmlRefreshVisibilityTagHandler.cpp geodata/handlers/kml/KmlRegionTagHandler.cpp geodata/handlers/kml/KmlRoleTagHandler.cpp geodata/handlers/kml/KmlRollTagHandler.cpp geodata/handlers/kml/KmlRotationTagHandler.cpp geodata/handlers/kml/KmlRotationXYTagHandler.cpp geodata/handlers/kml/Kml_scaleTagHandler.cpp geodata/handlers/kml/KmlSchemaDataTagHandler.cpp geodata/handlers/kml/KmlSchemaTagHandler.cpp geodata/handlers/kml/KmlScreenOverlayTagHandler.cpp geodata/handlers/kml/KmlScreenXYTagHandler.cpp geodata/handlers/kml/KmlSimpleArrayDataTagHandler.cpp geodata/handlers/kml/KmlSimpleDataTagHandler.cpp geodata/handlers/kml/KmlSimpleFieldTagHandler.cpp geodata/handlers/kml/KmlSizeTagHandler.cpp geodata/handlers/kml/KmlSouthTagHandler.cpp geodata/handlers/kml/KmlStateTagHandler.cpp geodata/handlers/kml/KmlStyleMapTagHandler.cpp geodata/handlers/kml/KmlStyleTagHandler.cpp geodata/handlers/kml/KmlStyleUrlTagHandler.cpp geodata/handlers/kml/KmlTessellateTagHandler.cpp geodata/handlers/kml/KmlTextColorTagHandler.cpp geodata/handlers/kml/KmlTextTagHandler.cpp geodata/handlers/kml/KmlTiltTagHandler.cpp geodata/handlers/kml/KmlTimeSpanTagHandler.cpp geodata/handlers/kml/KmlTimeStampTagHandler.cpp geodata/handlers/kml/KmlTourTagHandler.cpp geodata/handlers/kml/KmlTourControlTagHandler.cpp geodata/handlers/kml/KmlTrackTagHandler.cpp geodata/handlers/kml/KmlValueTagHandler.cpp geodata/handlers/kml/KmlViewBoundScaleTagHandler.cpp geodata/handlers/kml/KmlVisibilityTagHandler.cpp geodata/handlers/kml/KmlWaitTagHandler.cpp geodata/handlers/kml/KmlWestTagHandler.cpp geodata/handlers/kml/KmlWhenTagHandler.cpp geodata/handlers/kml/KmlWidthTagHandler.cpp geodata/handlers/kml/KmlViewFormatTagHandler.cpp geodata/handlers/kml/KmlViewRefreshModeTagHandler.cpp geodata/handlers/kml/KmlViewRefreshTimeTagHandler.cpp geodata/handlers/kml/KmlViewVolumeTagHandler.cpp geodata/handlers/kml/KmlLeftFovTagHandler.cpp geodata/handlers/kml/KmlRightFovTagHandler.cpp geodata/handlers/kml/KmlBottomFovTagHandler.cpp geodata/handlers/kml/KmlTopFovTagHandler.cpp geodata/handlers/kml/KmlNearTagHandler.cpp geodata/handlers/kml/KmlImagePyramidTagHandler.cpp geodata/handlers/kml/KmlTileSizeTagHandler.cpp geodata/handlers/kml/KmlMaxHeightTagHandler.cpp geodata/handlers/kml/KmlMaxWidthTagHandler.cpp geodata/handlers/kml/KmlGridOriginTagHandler.cpp geodata/handlers/kml/KmlShapeTagHandler.cpp geodata/handlers/kml/KmlMinRefreshPeriodTagHandler.cpp geodata/handlers/kml/KmlMaxSessionLengthTagHandler.cpp geodata/handlers/kml/KmlCookieTagHandler.cpp geodata/handlers/kml/KmlMessageTagHandler.cpp geodata/handlers/kml/KmlLinkNameTagHandler.cpp geodata/handlers/kml/KmlLinkDescriptionTagHandler.cpp geodata/handlers/kml/KmlLinkSnippetTagHandler.cpp geodata/handlers/kml/KmlSnippetTagHandler.cpp geodata/handlers/kml/KmlExpiresTagHandler.cpp geodata/handlers/kml/KmlUpdateTagHandler.cpp geodata/handlers/kml/KmlNetworkLinkControlTagHandler.cpp geodata/handlers/kml/KmlplayModeTagHandler.cpp geodata/handlers/kml/KmlOrientationTagHandler.cpp geodata/handlers/kml/KmlScaleTagHandler.cpp geodata/handlers/kml/KmlXTagHandler.cpp geodata/handlers/kml/KmlYTagHandler.cpp geodata/handlers/kml/KmlZTagHandler.cpp geodata/handlers/kml/KmlLocationTagHandler.cpp geodata/handlers/kml/KmlResourceMapTagHandler.cpp geodata/handlers/kml/KmlAliasTagHandler.cpp geodata/handlers/kml/KmlSourceHrefTagHandler.cpp geodata/handlers/kml/KmlTargetHrefTagHandler.cpp geodata/handlers/kml/KmlSoundCueTagHandler.cpp geodata/handlers/kml/KmldelayedStartTagHandler.cpp geodata/handlers/kml/KmlBalloonVisibilityTagHandler.cpp geodata/handlers/kml/KmlCreateTagHandler.cpp geodata/handlers/kml/KmlDeleteTagHandler.cpp geodata/handlers/kml/KmlOsmPlacemarkDataTagHandler.cpp geodata/handlers/kml/KmlTagTagHandler.cpp geodata/handlers/kml/KmlMemberTagHandler.cpp geodata/handlers/kml/KmlNdTagHandler.cpp ) SET ( geodata_writers_kml_SRCS geodata/writers/kml/KmlAnimatedUpdateTagWriter.cpp geodata/writers/kml/KmlBalloonStyleTagWriter.cpp geodata/writers/kml/KmlCameraTagWriter.cpp geodata/writers/kml/KmlColorStyleTagWriter.cpp geodata/writers/kml/KmlDataTagWriter.cpp geodata/writers/kml/KmlDocumentTagWriter.cpp geodata/writers/kml/KmlExtendedDataTagWriter.cpp geodata/writers/kml/KmlFeatureTagWriter.cpp geodata/writers/kml/KmlFolderTagWriter.cpp geodata/writers/kml/KmlFlyToTagWriter.cpp geodata/writers/kml/KmlGroundOverlayWriter.cpp geodata/writers/kml/KmlIconStyleTagWriter.cpp geodata/writers/kml/KmlLatLonAltBoxWriter.cpp geodata/writers/kml/KmlLatLonBoxWriter.cpp geodata/writers/kml/KmlLatLonQuadWriter.cpp geodata/writers/kml/KmlLabelStyleTagWriter.cpp geodata/writers/kml/KmlLinearRingTagWriter.cpp geodata/writers/kml/KmlLineStringTagWriter.cpp geodata/writers/kml/KmlLineStyleTagWriter.cpp geodata/writers/kml/KmlLinkTagWriter.cpp geodata/writers/kml/KmlListStyleTagWriter.cpp geodata/writers/kml/KmlLodTagWriter.cpp geodata/writers/kml/KmlLookAtTagWriter.cpp geodata/writers/kml/KmlModelTagWriter.cpp geodata/writers/kml/KmlMultiGeometryTagWriter.cpp geodata/writers/kml/KmlMultiTrackTagWriter.cpp geodata/writers/kml/KmlNetworkLinkTagWriter.cpp geodata/writers/kml/KmlNetworkLinkControlTagWriter.cpp geodata/writers/kml/KmlObjectTagWriter.cpp geodata/writers/kml/KmlOverlayTagWriter.cpp geodata/writers/kml/KmlPhotoOverlayWriter.cpp geodata/writers/kml/KmlPlacemarkTagWriter.cpp geodata/writers/kml/KmlPlaylistTagWriter.cpp geodata/writers/kml/KmlPointTagWriter.cpp geodata/writers/kml/KmlPolygonTagWriter.cpp geodata/writers/kml/KmlPolyStyleTagWriter.cpp geodata/writers/kml/KmlRegionTagWriter.cpp geodata/writers/kml/KmlSchemaTagWriter.cpp geodata/writers/kml/KmlSchemaDataTagWriter.cpp geodata/writers/kml/KmlSimpleDataTagWriter.cpp geodata/writers/kml/KmlSimpleFieldTagWriter.cpp geodata/writers/kml/KmlScreenOverlayWriter.cpp geodata/writers/kml/KmlStyleMapTagWriter.cpp geodata/writers/kml/KmlStyleTagWriter.cpp geodata/writers/kml/KmlTagWriter.cpp geodata/writers/kml/KmlTimeSpanWriter.cpp geodata/writers/kml/KmlTimeStampTagWriter.cpp geodata/writers/kml/KmlTourTagWriter.cpp geodata/writers/kml/KmlTrackWriter.cpp geodata/writers/kml/KmlUpdateTagWriter.cpp geodata/writers/kml/KmlOsmPlacemarkDataTagWriter.cpp ) # writer and the parser sources SET ( geodata_parser_SRCS geodata/parser/GeoDataParser.cpp geodata/parser/GeoDataTypes.cpp geodata/parser/GeoDocument.cpp geodata/parser/GeoParser.cpp geodata/parser/GeoSceneParser.cpp geodata/parser/GeoSceneTypes.cpp geodata/parser/GeoTagHandler.cpp ) SET( geodata_writer_SRCS geodata/writer/GeoTagWriter.cpp geodata/writer/GeoWriter.cpp geodata/writer/GeoWriterBackend.cpp geodata/writer/GeoDataDocumentWriter.cpp ) SET( geodata_SRCS ${geodata_data_SRCS} ${geodata_graphicsitem_SRCS} ${geodata_scene_SRCS} ${geodata_parser_SRCS} ${geodata_writer_SRCS} ${geodata_handlers_kml_SRCS} ${geodata_handlers_dgml_SRCS} ${geodata_writers_kml_SRCS} ${geodata_writers_dgml_SRCS} ) #add_subdirectory(geodata/data/tests) diff --git a/src/lib/marble/geodata/data/GeoDataBuilding.cpp b/src/lib/marble/geodata/data/GeoDataBuilding.cpp new file mode 100644 index 000000000..5bdc0bebe --- /dev/null +++ b/src/lib/marble/geodata/data/GeoDataBuilding.cpp @@ -0,0 +1,107 @@ +// +// 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 2017 Mohammed Nafees +// + +#include "GeoDataBuilding.h" +#include "GeoDataBuilding_p.h" +#include "GeoDataTypes.h" + +namespace Marble { + +GeoDataBuilding::GeoDataBuilding() + : GeoDataGeometry(new GeoDataBuildingPrivate), + d(new GeoDataBuildingPrivate) +{ +} + +GeoDataBuilding::GeoDataBuilding(const GeoDataGeometry &other) + : GeoDataGeometry(other), + d(new GeoDataBuildingPrivate) +{ +} + +GeoDataBuilding::GeoDataBuilding(const GeoDataBuilding &other) + : GeoDataGeometry(other), + d(new GeoDataBuildingPrivate(*other.d)) +{ +} + +GeoDataBuilding::~GeoDataBuilding() +{ + delete d; +} + +GeoDataBuilding& GeoDataBuilding::operator=(const GeoDataBuilding& other) +{ + GeoDataGeometry::operator=(other); + *d = *other.d; + return *this; +} + +const char *GeoDataBuilding::nodeType() const +{ + return GeoDataTypes::GeoDataBuildingType; +} + +EnumGeometryId GeoDataBuilding::geometryId() const +{ + return GeoDataBuildingId; +} + +GeoDataGeometry *GeoDataBuilding::copy() const +{ + return new GeoDataBuilding(*this); +} + +double GeoDataBuilding::height() const +{ + return d->m_height; +} + +void GeoDataBuilding::setHeight(double height) +{ + d->m_height = height; +} + +int GeoDataBuilding::minLevel() const +{ + return d->m_minLevel; +} + +void GeoDataBuilding::setMinLevel(int minLevel) +{ + d->m_minLevel = minLevel; +} + +int GeoDataBuilding::maxLevel() const +{ + return d->m_maxLevel; +} + +void GeoDataBuilding::setMaxLevel(int maxLevel) +{ + d->m_maxLevel = maxLevel; +} + +QVector GeoDataBuilding::nonExistentLevels() const +{ + return d->m_nonExistentLevels; +} + +void GeoDataBuilding::setNonExistentLevels(const QVector &nonExistentLevels) +{ + d->m_nonExistentLevels = nonExistentLevels; +} + +GeoDataMultiGeometry* GeoDataBuilding::multiGeometry() const +{ + return &d->m_multiGeometry; +} + +} diff --git a/src/lib/marble/geodata/data/GeoDataBuilding.h b/src/lib/marble/geodata/data/GeoDataBuilding.h new file mode 100644 index 000000000..1fd01bf5a --- /dev/null +++ b/src/lib/marble/geodata/data/GeoDataBuilding.h @@ -0,0 +1,116 @@ +// +// 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 2017 Mohammed Nafees +// + +#ifndef MARBLE_GEODATABUILDING_H +#define MARBLE_GEODATABUILDING_H + +#include + +#include "GeoDataGeometry.h" + +#include "geodata_export.h" + +namespace Marble { +class GeoDataBuildingPrivate; + +/*! + \class GeoDataBuilding + \brief Contains important information about a building and its floors (levels) + + GeoDataBuilding holds information such as minimum floor, maximum floor, + floor data and their respective MultiGeometry and other possible metadata such + as the total height of the building, type etc. + */ + +class GEODATA_EXPORT GeoDataBuilding : public GeoDataGeometry +{ +public: + explicit GeoDataBuilding(); + explicit GeoDataBuilding(const GeoDataGeometry &other); + explicit GeoDataBuilding(const GeoDataBuilding &other); + + GeoDataBuilding& operator=(const GeoDataBuilding &other); + + const char *nodeType() const override; + + EnumGeometryId geometryId() const override; + + GeoDataGeometry *copy() const override; + + /*! + Destroys the GeoDataBuilding +*/ + ~GeoDataBuilding() override; + + +/*! + @return the height of the building +*/ + double height() const; + + +/*! + Sets the height of the building + @param height + */ + void setHeight(double height); + + +/*! + @return the minimum level + */ + int minLevel() const; + + +/*! + Sets the minimum level of the building + @param minLevel + */ + void setMinLevel(int minLevel); + + +/*! + @return the maximum level of the building + */ + int maxLevel() const; + + +/*! + Sets the maximum level of the building + @param maxLevel + */ + void setMaxLevel(int maxLevel); + + +/*! + @return the non existent levels in the building + */ + QVector nonExistentLevels() const; + + +/*! + Sets the non existent levels of the building + @param nonExistentLevels + */ + void setNonExistentLevels(const QVector& nonExistentLevels); + + +/*! + * @return the multigeometry associated with the building + */ + GeoDataMultiGeometry* multiGeometry() const; + +private: + GeoDataBuildingPrivate* const d; +}; + +} + +#endif diff --git a/src/lib/marble/geodata/data/GeoDataBuilding_p.h b/src/lib/marble/geodata/data/GeoDataBuilding_p.h new file mode 100644 index 000000000..0df2b46a2 --- /dev/null +++ b/src/lib/marble/geodata/data/GeoDataBuilding_p.h @@ -0,0 +1,45 @@ +// +// 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 2017 Mohammed Nafees +// + +#ifndef MARBLE_GEODATABUILDING_P_H +#define MARBLE_GEODATABUILDING_P_H + +#include "GeoDataGeometry_p.h" +#include "GeoDataMultiGeometry.h" + +namespace Marble { + +class GeoDataBuildingPrivate : public GeoDataGeometryPrivate +{ +public: + GeoDataBuildingPrivate() + : m_height(0.0), + m_minLevel(0), + m_maxLevel(0) + { + } + + GeoDataGeometryPrivate *copy() const override + { + GeoDataBuildingPrivate* copy = new GeoDataBuildingPrivate; + *copy = *this; + return copy; + } + + double m_height; + int m_minLevel; + int m_maxLevel; + QVector m_nonExistentLevels; + GeoDataMultiGeometry m_multiGeometry; +}; + +} + +#endif diff --git a/src/lib/marble/geodata/data/Serializable.h b/src/lib/marble/geodata/data/Serializable.h index ca9627f42..9333fa64b 100644 --- a/src/lib/marble/geodata/data/Serializable.h +++ b/src/lib/marble/geodata/data/Serializable.h @@ -1,54 +1,55 @@ // // 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 2007 Murad Tagirov // #ifndef MARBLE_SERIALIZABLE_H #define MARBLE_SERIALIZABLE_H class QDataStream; namespace Marble { class Serializable { public: virtual ~Serializable(){} virtual void pack( QDataStream& stream ) const = 0; virtual void unpack( QDataStream& stream ) = 0; }; /* the next two id's are needed to get unpacking working - this cannot be * achieved without a special Id */ enum EnumFeatureId { InvalidFeatureId = -1, GeoDataDocumentId = 1, GeoDataFolderId, GeoDataPlacemarkId, GeoDataNetworkLinkId, GeoDataScreenOverlayId, GeoDataGroundOverlayId }; enum EnumGeometryId { InvalidGeometryId = -1, GeoDataPointId = 1, GeoDataLineStringId, GeoDataLinearRingId, GeoDataPolygonId, GeoDataMultiGeometryId, GeoDataMultiTrackId, GeoDataModelId, - GeoDataTrackId + GeoDataTrackId, + GeoDataBuildingId }; } #endif diff --git a/src/lib/marble/geodata/parser/GeoDataTypes.cpp b/src/lib/marble/geodata/parser/GeoDataTypes.cpp index d338da4b4..793a10e9d 100644 --- a/src/lib/marble/geodata/parser/GeoDataTypes.cpp +++ b/src/lib/marble/geodata/parser/GeoDataTypes.cpp @@ -1,97 +1,98 @@ /* Copyright (C) 2008 Jens-Michael Hoffmann This file is part of the KDE project This library is free software you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License aint with this library see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "GeoDataTypes.h" namespace Marble { namespace GeoDataTypes { const char GeoDataAnimatedUpdateType[] = "GeoDataAnimatedUpdate"; const char GeoDataAliasType[] = "GeoDataAlias"; const char GeoDataCameraType[] = "GeoDataCamera"; const char GeoDataChangeType[] = "GeoDataChange"; const char GeoDataColorStyleType[] = "GeoDataColorStyle"; const char GeoDataCreateType[] = "GeoDataCreate"; const char GeoDataDataType[] = "GeoDataData"; const char GeoDataDeleteType[] = "GeoDataDelete"; const char GeoDataDocumentType[] = "GeoDataDocument"; const char GeoDataExtendedDataType[] = "GeoDataExtendedData"; const char GeoDataFlyToType[] = "GeoDataFlyTo"; const char GeoDataFolderType[] = "GeoDataFolder"; const char GeoDataGroundOverlayType[] = "GeoDataGroundOverlay"; const char GeoDataHotspotType[] = "GeoDataHotspot"; const char GeoDataIconStyleType[] = "GeoDataIconStyle"; const char GeoDataInnerBoundaryType[] = "GeoDataInnerBoundary"; const char GeoDataLabelStyleType[] = "GeoDataLabelStyle"; const char GeoDataLatLonAltBoxType[] = "GeoDataLatLonAlt"; const char GeoDataLatLonBoxType[] = "GeoDataLatLonBox"; const char GeoDataLatLonQuadType[] = "GeoDataLatLonQuad"; const char GeoDataLinearRingType[] = "GeoDataLinearRing"; const char GeoDataLineStringType[] = "GeoDataLineString"; const char GeoDataLineStyleType[] = "GeoDataLineStyle"; const char GeoDataLinkType[] = "GeoDataLink"; const char GeoDataLocationType[] = "GeoDataLocation"; const char GeoDataLodType[] = "GeoDataLod"; const char GeoDataLookAtType[] = "GeoDataLookAt"; const char GeoDataModelType[] = "GeoDataModel"; const char GeoDataMultiGeometryType[] = "GeoDataMultiGeometry"; const char GeoDataMultiTrackType[] = "GeoDataMultiTrack"; const char GeoDataNetworkLinkType[] = "GeoDataNetworkLink"; const char GeoDataOrientationType[] = "GeoDataOrientation"; const char GeoDataOuterBoundaryType[] = "GeoDataOuterBoundary"; const char GeoDataPhotoOverlayType[] = "GeoDataPhotoOverlay"; const char GeoDataPlacemarkType[] = "GeoDataPlacemark"; const char GeoDataPlaylistType[] = "GeoDataPlaylist"; const char GeoDataPointType[] = "GeoDataPoint"; const char GeoDataPolygonType[] = "GeoDataPolygon"; const char GeoDataPolyStyleType[] = "GeoDataPolyStyle"; const char GeoDataRegionType[] = "GeoDataRegion"; const char GeoDataRelationType[] = "GeoDataRelationType"; const char GeoDataResourceMapType[] = "GeoDataResourceMap"; const char GeoDataSchemaType[] = "GeoDataSchema"; const char GeoDataSchemaDataType[] = "GeoDataSchemaData"; const char GeoDataSimpleDataType[] = "GeoDataSimpleData"; const char GeoDataSimpleFieldType[] = "GeoDataSimpleField"; const char GeoDataSimpleArrayDataType[] = "GeoDataSimpleArrayData"; const char GeoDataStyleType[] = "GeoDataStyle"; const char GeoDataStyleMapType[] = "GeoDataStyleMap"; const char GeoDataSoundCueType[] = "GeoDataSoundCue"; const char GeoDataTimePrimitiveType[] = "GeoDataTimePrimitive"; const char GeoDataTimeSpanType[] = "GeoDataTimeSpan"; const char GeoDataTimeStampType[] = "GeoDataTimeStamp"; const char GeoDataTourType[] = "GeoDataTour"; const char GeoDataTourControlType[] = "GeoDataTourControl"; const char GeoDataWaitType[] = "GeoDataWait"; const char GeoDataTrackType[] = "GeoDataTrack"; const char GeoDataScaleType[] = "GeoDataScale"; const char GeoDataScreenOverlayType[] = "GeoDataScreenOverlay"; const char GeoDataBalloonStyleType[] = "GeoDataBalloonStyle"; const char GeoDataListStyleType[] = "GeoDataListStyle"; const char GeoDataItemIconType[] = "GeoDataItemIcon"; const char GeoDataImagePyramidType[] = "GeoDataImagePyramid"; const char GeoDataViewVolumeType[] = "GeoDataViewVolume"; const char GeoDataNetworkLinkControlType[] = "GeoDataNetworkLinkControl"; const char GeoDataUpdateType[] = "GeoDataUpdate"; +const char GeoDataBuildingType[] = "GeoDataBuilding"; } } diff --git a/src/lib/marble/geodata/parser/GeoDataTypes.h b/src/lib/marble/geodata/parser/GeoDataTypes.h index 0610bd04f..59cc2de24 100644 --- a/src/lib/marble/geodata/parser/GeoDataTypes.h +++ b/src/lib/marble/geodata/parser/GeoDataTypes.h @@ -1,108 +1,109 @@ /* Copyright (C) 2008 Nikolas Zimmermann Copyright (C) 2008 Jens-Michael Hoffmann This file is part of the KDE project This library is free software you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License aint with this library see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef MARBLE_GEODATATYPES_H #define MARBLE_GEODATATYPES_H #include "geodata_export.h" namespace Marble { namespace GeoDataTypes { /** * the following const char* XXType are used to provide RTTI to the GeoData for * downcasting to the good object * please keep alphabetic order to prevent mess */ GEODATA_EXPORT extern const char GeoDataAliasType[]; GEODATA_EXPORT extern const char GeoDataAnimatedUpdateType[]; GEODATA_EXPORT extern const char GeoDataCameraType[]; GEODATA_EXPORT extern const char GeoDataChangeType[]; GEODATA_EXPORT extern const char GeoDataColorStyleType[]; GEODATA_EXPORT extern const char GeoDataCreateType[]; GEODATA_EXPORT extern const char GeoDataDataType[]; GEODATA_EXPORT extern const char GeoDataDeleteType[]; GEODATA_EXPORT extern const char GeoDataDocumentType[]; GEODATA_EXPORT extern const char GeoDataExtendedDataType[]; GEODATA_EXPORT extern const char GeoDataFlyToType[]; GEODATA_EXPORT extern const char GeoDataFolderType[]; GEODATA_EXPORT extern const char GeoDataGroundOverlayType[]; GEODATA_EXPORT extern const char GeoDataHotspotType[]; GEODATA_EXPORT extern const char GeoDataIconStyleType[]; GEODATA_EXPORT extern const char GeoDataInnerBoundaryType[]; GEODATA_EXPORT extern const char GeoDataLabelStyleType[]; GEODATA_EXPORT extern const char GeoDataLatLonAltBoxType[]; GEODATA_EXPORT extern const char GeoDataLatLonBoxType[]; GEODATA_EXPORT extern const char GeoDataLatLonQuadType[]; GEODATA_EXPORT extern const char GeoDataLinearRingType[]; GEODATA_EXPORT extern const char GeoDataLineStringType[]; GEODATA_EXPORT extern const char GeoDataLineStyleType[]; GEODATA_EXPORT extern const char GeoDataLinkType[]; GEODATA_EXPORT extern const char GeoDataLocationType[]; GEODATA_EXPORT extern const char GeoDataLodType[]; GEODATA_EXPORT extern const char GeoDataLookAtType[]; GEODATA_EXPORT extern const char GeoDataModelType[]; GEODATA_EXPORT extern const char GeoDataMultiGeometryType[]; GEODATA_EXPORT extern const char GeoDataMultiTrackType[]; GEODATA_EXPORT extern const char GeoDataNetworkLinkType[]; GEODATA_EXPORT extern const char GeoDataOrientationType[]; GEODATA_EXPORT extern const char GeoDataOuterBoundaryType[]; GEODATA_EXPORT extern const char GeoDataPhotoOverlayType[]; GEODATA_EXPORT extern const char GeoDataPlacemarkType[]; GEODATA_EXPORT extern const char GeoDataPlaylistType[]; GEODATA_EXPORT extern const char GeoDataPointType[]; GEODATA_EXPORT extern const char GeoDataPolygonType[]; GEODATA_EXPORT extern const char GeoDataPolyStyleType[]; GEODATA_EXPORT extern const char GeoDataRegionType[]; GEODATA_EXPORT extern const char GeoDataRelationType[]; GEODATA_EXPORT extern const char GeoDataResourceMapType[]; GEODATA_EXPORT extern const char GeoDataSchemaType[]; GEODATA_EXPORT extern const char GeoDataSchemaDataType[]; GEODATA_EXPORT extern const char GeoDataSimpleDataType[]; GEODATA_EXPORT extern const char GeoDataSimpleFieldType[]; GEODATA_EXPORT extern const char GeoDataSimpleArrayDataType[]; GEODATA_EXPORT extern const char GeoDataStyleType[]; GEODATA_EXPORT extern const char GeoDataStyleMapType[]; GEODATA_EXPORT extern const char GeoDataSoundCueType[]; GEODATA_EXPORT extern const char GeoDataTimePrimitiveType[]; GEODATA_EXPORT extern const char GeoDataTimeStampType[]; GEODATA_EXPORT extern const char GeoDataTimeSpanType[]; GEODATA_EXPORT extern const char GeoDataTourType[]; GEODATA_EXPORT extern const char GeoDataTourControlType[]; GEODATA_EXPORT extern const char GeoDataWaitType[]; GEODATA_EXPORT extern const char GeoDataTrackType[]; GEODATA_EXPORT extern const char GeoDataScaleType[]; GEODATA_EXPORT extern const char GeoDataScreenOverlayType[]; GEODATA_EXPORT extern const char GeoDataBalloonStyleType[]; GEODATA_EXPORT extern const char GeoDataListStyleType[]; GEODATA_EXPORT extern const char GeoDataItemIconType[]; GEODATA_EXPORT extern const char GeoDataImagePyramidType[]; GEODATA_EXPORT extern const char GeoDataViewVolumeType[]; GEODATA_EXPORT extern const char GeoDataNetworkLinkControlType[]; GEODATA_EXPORT extern const char GeoDataUpdateType[]; +GEODATA_EXPORT extern const char GeoDataBuildingType[]; } } #endif diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 32c034c92..ecb3012b0 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,119 +1,120 @@ ############################################################# ADD_DEFINITIONS(-DTEST_DATA_DIR="${TEST_DATA_DIR}") ADD_DEFINITIONS(-DMARBLE_SRC_DIR="${CMAKE_SOURCE_DIR}") ############################################################# # libraries # because of htonl IF (WIN32) SET(PLATFORM_LIBRARIES wsock32) ENDIF (WIN32) # Since the tests are not actually installed, but rather # run directly from the build/src/tests dir we need to # ensure the marble libs can be found. IF (APPLE) # For Mac OS X, the executable must be at the root of the bundle's executable folder SET (CMAKE_INSTALL_NAME_DIR @executable_path/../lib) ENDIF (APPLE) set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} ) ############################################################# # includes ############################################################# # Make the current test source directory available in #define TESTSRCDIR # use this for accessing TESTSRCDIR/data ############################################################# add_definitions( -DTESTSRCDIR="${CMAKE_CURRENT_SOURCE_DIR}" ) ############################################################# ############################################################# # Configure the test scripts and put them in the project root # directory. ############################################################# #make sure that the cmake and ctest stuff is available if( CMAKE_COMMAND AND CMAKE_CTEST_COMMAND ) configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/CTestNightlyScript.cmake.in" "${PROJECT_BINARY_DIR}/CTestNightlyScript.cmake" ) else( CMAKE_COMMAND AND CMAKE_CTEST_COMMAND ) message( STATUS "Both the CTest and CMake command are needed to create test scripts" ) message( STATUS "Test Scripts have not been created" ) endif( CMAKE_COMMAND AND CMAKE_CTEST_COMMAND ) ############################ # Drop in New Tests ############################ marble_add_test( MarbleWidgetSpeedTest ) add_definitions( -DDGML_PATH="${CMAKE_CURRENT_SOURCE_DIR}/../data/maps/earth" ) marble_add_test( TestGeoSceneWriter ) marble_add_test( LocaleTest ) # Check MarbleLocale functionality marble_add_test( QuaternionTest ) # Check Quaternion arithmetic marble_add_test( TileIdTest ) # Check TileId arithmetic marble_add_test( ViewportParamsTest ) marble_add_test( PluginManagerTest ) # Check plugin loading marble_add_test( MarbleRunnerManagerTest ) # Check RunnerManager signals marble_add_test( BookmarkManagerTest ) marble_add_test( PlacemarkPositionProviderPluginTest ) marble_add_test( PositionTrackingTest ) marble_add_test( MercatorProjectionTest ) # Check Screen coordinates marble_add_test( GnomonicProjectionTest ) marble_add_test( StereographicProjectionTest ) marble_add_test( MarbleMapTest ) # Check map theme and centering marble_add_test( MarbleWidgetTest ) # Check map theme, mouse move, repaint and multiple widgets marble_add_test( MapViewWidgetTest ) # Check mapview signals marble_add_test( TestGeoPainter ) # no tests! marble_add_test( GeoUriParserTest ) marble_add_test( BillboardGraphicsItemTest ) marble_add_test( ScreenGraphicsItemTest ) marble_add_test( FrameGraphicsItemTest ) marble_add_test( RenderPluginTest ) marble_add_test( AbstractDataPluginModelTest ) marble_add_test( AbstractDataPluginTest ) marble_add_test( AbstractFloatItemTest ) marble_add_test( RenderPluginModelTest ) marble_add_test( GeoDataTreeModelTest ) marble_add_test( RouteRequestTest ) ## GeoData Classes tests marble_add_test( TestCamera ) marble_add_test( TestNetworkLink ) marble_add_test( TestLatLonQuad ) marble_add_test( TestGeoData ) # Check parent, nodetype marble_add_test( TestGeoDataCoordinates ) # Check coordinates specifics marble_add_test( TestGeoDataLatLonAltBox ) # Check boxen specifics marble_add_test( TestGeoDataGeometry ) # Check geometry specifics marble_add_test( TestGeoDataTrack ) # Check track specifics marble_add_test( TestGxTimeSpan ) marble_add_test( TestGxTimeStamp ) marble_add_test( TestBalloonStyle ) # Check BalloonStyle marble_add_test( TestListStyle ) # Check ListStyle marble_add_test( TestTour ) marble_add_test( TestGroundOverlay ) # Check GroundOverlay specifics marble_add_test( TestModel ) marble_add_test( TestTimeStamp ) marble_add_test( TestTimeSpan ) marble_add_test( TestEquality ) marble_add_test( TestFeatureDetach ) marble_add_test( TestGeometryDetach ) marble_add_test( TestTileProjection ) +marble_add_test( TestGeoDataBuilding ) qt_add_resources(TestGeoDataCopy_SRCS TestGeoDataCopy.qrc) # Check copy operations on CoW classes marble_add_test( TestGeoDataCopy ${TestGeoDataCopy_SRCS} ) add_definitions( -DCITIES_PATH="${CMAKE_CURRENT_SOURCE_DIR}/../data/placemarks/cityplacemarks.kml" ) marble_add_test( TestGeoDataWriter ) # Check parsing, writing, reloading and comparing kml files marble_add_test( TestGeoDataPack ) # Check pack and unpack to file diff --git a/tests/TestGeoDataBuilding.cpp b/tests/TestGeoDataBuilding.cpp new file mode 100644 index 000000000..2906dbcf0 --- /dev/null +++ b/tests/TestGeoDataBuilding.cpp @@ -0,0 +1,69 @@ +// +// 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 2017 Mohammed Nafees +// + +#include +#include + +#include "GeoDataBuilding.h" +#include "GeoDataMultiGeometry.h" +#include "GeoDataLinearRing.h" + +namespace Marble { + +class TestGeoDataBuilding : public QObject { + Q_OBJECT + +private Q_SLOTS: + void defaultConstructor(); +}; + +void TestGeoDataBuilding::defaultConstructor() { + GeoDataBuilding building; + + QCOMPARE(building.height(), 0.0); + QCOMPARE(building.minLevel(), 0); + QCOMPARE(building.maxLevel(), 0); + + building.setHeight(24.5); + building.setMinLevel(-2); + building.setMaxLevel(10); + + QCOMPARE(building.height(), 24.5); + QCOMPARE(building.minLevel(), -2); + QCOMPARE(building.maxLevel(), 10); + + QVERIFY(building.nonExistentLevels().isEmpty()); + + QVector nonExistentLevels; + nonExistentLevels << 4 << 13; + building.setNonExistentLevels(nonExistentLevels); + + QVERIFY(!building.nonExistentLevels().isEmpty()); + + QVERIFY(building.multiGeometry()->size() == 0); + + building.multiGeometry()->append(new GeoDataLinearRing); + + QVERIFY(building.multiGeometry()->size() > 0); + + GeoDataBuilding building2(building); + + QCOMPARE(building2.height(), 24.5); + QCOMPARE(building2.minLevel(), -2); + QCOMPARE(building2.maxLevel(), 10); + QVERIFY(!building2.nonExistentLevels().isEmpty()); + QVERIFY(building2.multiGeometry()->size() > 0); +} + +} + +QTEST_MAIN(Marble::TestGeoDataBuilding) + +#include "TestGeoDataBuilding.moc"