Marble::GeoDataRegion
#include <GeoDataRegion.h>
Public Member Functions | |
GeoDataRegion () | |
GeoDataRegion (const GeoDataRegion &other) | |
GeoDataRegion (GeoDataFeature *feature) | |
~GeoDataRegion () override | |
const GeoDataLatLonAltBox & | latLonAltBox () const |
GeoDataLod & | lod () const |
const char * | nodeType () const override |
bool | operator!= (const GeoDataRegion &other) const |
GeoDataRegion & | operator= (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 |
GeoDataObject & | operator= (const GeoDataObject &) |
void | pack (QDataStream &stream) const override |
GeoDataObject * | parent () |
const GeoDataObject * | parent () const |
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 |
Public Member Functions inherited from Marble::GeoNode |
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 42 of file GeoDataRegion.h.
Constructor & Destructor Documentation
◆ GeoDataRegion() [1/3]
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 23 of file GeoDataRegion.cpp.
◆ GeoDataRegion() [2/3]
Marble::GeoDataRegion::GeoDataRegion | ( | const GeoDataRegion & | other | ) |
Creates a new GeoDataRegion as a copy of other
.
Definition at line 29 of file GeoDataRegion.cpp.
◆ GeoDataRegion() [3/3]
|
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 35 of file GeoDataRegion.cpp.
◆ ~GeoDataRegion()
|
override |
Destroys a Region object.
Definition at line 41 of file GeoDataRegion.cpp.
Member Function Documentation
◆ latLonAltBox()
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 61 of file GeoDataRegion.cpp.
◆ lod()
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 97 of file GeoDataRegion.cpp.
◆ nodeType()
|
overridevirtual |
Provides type information for downcasting a GeoNode.
Implements Marble::GeoNode.
Definition at line 46 of file GeoDataRegion.cpp.
◆ operator!=()
bool Marble::GeoDataRegion::operator!= | ( | const GeoDataRegion & | other | ) | const |
Definition at line 56 of file GeoDataRegion.cpp.
◆ operator=()
GeoDataRegion & Marble::GeoDataRegion::operator= | ( | const GeoDataRegion & | other | ) |
Definition at line 130 of file GeoDataRegion.cpp.
◆ operator==()
bool Marble::GeoDataRegion::operator== | ( | const GeoDataRegion & | other | ) | const |
Definition at line 51 of file GeoDataRegion.cpp.
◆ pack()
|
override |
Serialize the Region to a stream.
- Parameters
-
stream the stream.
Definition at line 114 of file GeoDataRegion.cpp.
◆ setLatLonAltBox()
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 91 of file GeoDataRegion.cpp.
◆ setLod()
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 108 of file GeoDataRegion.cpp.
◆ unpack()
|
override |
Unserialize the Region from a stream.
- Parameters
-
stream the stream.
Definition at line 122 of file GeoDataRegion.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Nov 8 2024 12:02:45 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.