Marble::GeoDataRegion

Marble::GeoDataRegion Class Reference

#include <GeoDataRegion.h>

Inheritance diagram for Marble::GeoDataRegion:

Public Member Functions

 GeoDataRegion ()
 
 GeoDataRegion (const GeoDataRegion &other)
 
 GeoDataRegion (GeoDataFeature *feature)
 
 ~GeoDataRegion () override
 
const GeoDataLatLonAltBoxlatLonAltBox () const
 
GeoDataLodlod () const
 
const char * nodeType () const override
 
bool operator!= (const GeoDataRegion &other) const
 
GeoDataRegionoperator= (const GeoDataRegion &other)
 
bool operator== (const GeoDataRegion &other) const
 
void pack (QDataStream &stream) const override
 
void setLatLonAltBox (const GeoDataLatLonAltBox &latLonAltBox)
 
void setLod (const GeoDataLod &lod)
 
void unpack (QDataStream &stream) override
 
- Public Member Functions inherited from Marble::GeoDataObject
 GeoDataObject (const GeoDataObject &)
 
QString id () const
 
GeoDataObjectoperator= (const GeoDataObject &)
 
void pack (QDataStream &stream) const override
 
const GeoDataObjectparent () const
 
GeoDataObjectparent ()
 
QString resolvePath (const QString &relativePath) const
 
void setId (const QString &value)
 
void setParent (GeoDataObject *parent)
 
void setTargetId (const QString &value)
 
QString targetId () const
 
void unpack (QDataStream &steam) override
 

Additional Inherited Members

- Protected Member Functions inherited from Marble::GeoDataObject
virtual bool equals (const GeoDataObject &other) const
 

Detailed Description

GeoDataRegion describes the visibility and extent of a feature.

GeoDataRegion is a tool class that implements the Region tag/class of the Open Geospatial Consortium standard KML 2.2.

GeoDataRegion provides all aspects that can be taken into account to find out whether a GeoDataFeature (or a GeoDataLink) is visible on the map:

  • On one hand GeoDataRegion owns a GeoDataLatLon(Alt)Box object. GeoDataLatLon(Alt)Box is a bounding box in geodesic coordinates. As such GeoDataLatLon(Alt)Box allows to determine whether the feature is located inside the area that the observer/camera is looking at ("viewLatLonAltBox").
  • Additionally GeoDataRegion has got a GeoDataLod ("Level of Detail") object. GeoDataLod describes the least and maximum size on the screen that is required to consider a feature to be active.

A feature is visible if it's active and if its latLonAltBox covers the area that is being looked at by the observer.

Definition at line 48 of file GeoDataRegion.h.

Constructor & Destructor Documentation

Marble::GeoDataRegion::GeoDataRegion ( )

Creates a new GeoDataRegion object that is not assigned to a feature. Naturally it's recommended to assign a feature or a link to the region (and therefore it's recommended to use one of the other constructors instead). This constructor allows to create a stand alone region which can get assigned to the feature or link later on.

Definition at line 30 of file GeoDataRegion.cpp.

Marble::GeoDataRegion::GeoDataRegion ( const GeoDataRegion other)

Creates a new GeoDataRegion as a copy of other.

Definition at line 36 of file GeoDataRegion.cpp.

Marble::GeoDataRegion::GeoDataRegion ( GeoDataFeature feature)
explicit

Creates a new GeoDataRegion object that is associated to a feature. In the model the feature represents the parent object of the region.

Definition at line 42 of file GeoDataRegion.cpp.

Marble::GeoDataRegion::~GeoDataRegion ( )
override

Destroys a Region object.

Definition at line 49 of file GeoDataRegion.cpp.

Member Function Documentation

const GeoDataLatLonAltBox & Marble::GeoDataRegion::latLonAltBox ( ) const

Returns a geodesic bounding box ("latLonAltBox") of the region. Returns a geodesic bounding box that describes the extent of a feature or a link. If no latLonAltBox has been set then a GeoDataLatLonAltBox object will be calculated automatically: If the associated parent object is a feature then the geometry that might be associated to the feature will be used to calculate the GeoDataLatLonAltBox. Otherwise the coordinate will be used to create a GeoDataLatLonAltBox (in case that there is no geometry assigned to the feature or if the parent object of the region is a GeoDataLink).

Definition at line 72 of file GeoDataRegion.cpp.

GeoDataLod & Marble::GeoDataRegion::lod ( ) const

Returns the region's level of detail. The level of detail is returned as a lod object. If no lod has been set then a GeoDataLod object with default values is being returned.

Definition at line 114 of file GeoDataRegion.cpp.

const char * Marble::GeoDataRegion::nodeType ( ) const
overridevirtual

Provides type information for downcasting a GeoNode.

Implements Marble::GeoNode.

Definition at line 55 of file GeoDataRegion.cpp.

void Marble::GeoDataRegion::pack ( QDataStream stream) const
override

Serialize the Region to a stream.

Parameters
streamthe stream.

Definition at line 133 of file GeoDataRegion.cpp.

void Marble::GeoDataRegion::setLatLonAltBox ( const GeoDataLatLonAltBox latLonAltBox)

Sets the latLonAltBox of the region. Sets the geodesic bounding box that describes the extent of a feature or a link.

Definition at line 107 of file GeoDataRegion.cpp.

void Marble::GeoDataRegion::setLod ( const GeoDataLod lod)

Sets a region's level of detail. The level of detail is set as a lod object.

Definition at line 126 of file GeoDataRegion.cpp.

void Marble::GeoDataRegion::unpack ( QDataStream stream)
override

Unserialize the Region from a stream.

Parameters
streamthe stream.

Definition at line 142 of file GeoDataRegion.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Sat Jul 11 2020 23:19:37 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.