Search for usage in LXR

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
GeoDataObjectparent ()
const GeoDataObjectparent () 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

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 43 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 25 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 31 of file GeoDataRegion.cpp.

◆ GeoDataRegion() [3/3]

Marble::GeoDataRegion::GeoDataRegion ( GeoDataFeature * feature)

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 37 of file GeoDataRegion.cpp.

◆ ~GeoDataRegion()

Marble::GeoDataRegion::~GeoDataRegion ( )

Destroys a Region object.

Definition at line 44 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 67 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 109 of file GeoDataRegion.cpp.

◆ nodeType()

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

Provides type information for downcasting a GeoNode.

Implements Marble::GeoNode.

Definition at line 50 of file GeoDataRegion.cpp.

◆ operator!=()

bool Marble::GeoDataRegion::operator!= ( const GeoDataRegion & other) const

Definition at line 62 of file GeoDataRegion.cpp.

◆ operator=()

GeoDataRegion & Marble::GeoDataRegion::operator= ( const GeoDataRegion & other)

Definition at line 145 of file GeoDataRegion.cpp.

◆ operator==()

bool Marble::GeoDataRegion::operator== ( const GeoDataRegion & other) const

Definition at line 55 of file GeoDataRegion.cpp.

◆ pack()

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

Serialize the Region to a stream.

streamthe stream.

Definition at line 128 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 102 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 121 of file GeoDataRegion.cpp.

◆ unpack()

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

Unserialize the Region from a stream.

streamthe stream.

Definition at line 137 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-2024 The KDE developers.
Generated on Fri Jul 12 2024 11:58:56 by doxygen 1.11.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.