Qt Virtual Chart Table (QVCT)
|
(Geographical) Position data [long,lat,elev] More...
#include <data/CDataPosition.hpp>
Public Member Functions | |
CDataPosition () | |
CDataPosition (double _fdLongitude, double _fdLatitude, double _fdElevation=UNDEFINED_ELEVATION) | |
CDataPosition (const CDataPosition &_roDataPosition) | |
virtual | ~CDataPosition () |
void | setPosition (double _fdLongitude, double _fdLatitude, double _fdElevation=UNDEFINED_ELEVATION) |
Sets new coordinates. More... | |
void | setPosition (const CDataPosition &_roDataPosition) |
Copy coordinates from another position. More... | |
void | resetPosition () |
Resets all coordinates (to an undefined position) More... | |
void | setElevation (double _fdElevation) |
Sets the elevation, in meters. More... | |
void | resetElevation () |
Resets the elevation (to an undefined elevation) More... | |
double | getLongitude () const |
Returns this position's longitude, in degrees. More... | |
double | getLatitude () const |
Returns this position's latitude, in degrees. More... | |
double | getElevation () const |
Returns this position's elevation, in meters. More... | |
void | serialize (QDataStream &_rqDataStream) const |
Serializes (store) this object's data to binary format. More... | |
void | unserialize (QDataStream &_rqDataStream) |
Unserializes (restore) this object's data from binary format. More... | |
bool | operator== (const CDataPosition &_roPosition) const |
Equality operator. More... | |
bool | operator!= (const CDataPosition &_roPosition) const |
Inequality operator. More... | |
Static Public Member Functions | |
static double | distanceGC (const CDataPosition &_roPosition1, const CDataPosition &_roPosition2) |
Returns the WGS84-corrected great-circle distance between two points, in meters. More... | |
static double | bearingGC (const CDataPosition &_roPosition1, const CDataPosition &_roPosition2) |
Returns the great-circle (initial) bearing between two points, in degrees. More... | |
static double | distanceRL (const CDataPosition &_roPosition1, const CDataPosition &_roPosition2) |
Returns the rhumb-line distance between two points, in meters. More... | |
static double | bearingRL (const CDataPosition &_roPosition1, const CDataPosition &_roPosition2) |
Returns the rhumb-line (constant) bearing between two points, in degrees. More... | |
static double | length (const CDataPosition &_roPosition1, const CDataPosition &_roPosition2) |
Returns the length (rhumb-line distance and elevation delta) between two points, in meters. More... | |
static bool | compareLongitudeAscending (const CDataPosition &_roPosition1, const CDataPosition &_roPosition2) |
Longitude (ascending sort) comparison operator. More... | |
static bool | compareLongitudeDescending (const CDataPosition &_roPosition1, const CDataPosition &_roPosition2) |
Longitude (descending sort) comparison operator. More... | |
static bool | compareLatitudeAscending (const CDataPosition &_roPosition1, const CDataPosition &_roPosition2) |
Latitude (ascending sort) comparison operator. More... | |
static bool | compareLatitudeDescending (const CDataPosition &_roPosition1, const CDataPosition &_roPosition2) |
Latitude (descending sort) comparison operator. More... | |
static bool | compareElevationAscending (const CDataPosition &_roPosition1, const CDataPosition &_roPosition2) |
Elevation (ascending sort) comparison operator. More... | |
static bool | compareElevationDescending (const CDataPosition &_roPosition1, const CDataPosition &_roPosition2) |
Elevation (descending sort) comparison operator. More... | |
Static Public Attributes | |
static constexpr double | UNDEFINED_LONGITUDE = -999 |
Specific value for an undefined longitude. More... | |
static constexpr double | UNDEFINED_LATITUDE = -99 |
Specific value for an undefined latitude. More... | |
static constexpr double | UNDEFINED_ELEVATION = -9999999 |
Specific value for an undefined elevation. More... | |
static const CDataPosition | UNDEFINED |
Specific value for an undefined position. More... | |
Private Attributes | |
double | fdLongitude |
Longitude, in degrees. More... | |
double | fdLatitude |
Latitude, in degrees. More... | |
double | fdElevation |
Elevation, in meters. More... | |
(Geographical) Position data [long,lat,elev]
This class gathers all components of a fully-qualified geographical position (longitude, latitude and elevation) in SI units (respectively degrees, degrees and meters). It also provides useful geographical position processing functions, such as comparison (sorting), distance and bearing between two positions.
Definition at line 35 of file CDataPosition.hpp.
CDataPosition::CDataPosition | ( | ) |
Definition at line 116 of file CDataPosition.cpp.
CDataPosition::CDataPosition | ( | double | _fdLongitude, |
double | _fdLatitude, | ||
double | _fdElevation = UNDEFINED_ELEVATION |
||
) |
[in] | _fdLongitude | Longitude, in degrees |
[in] | _fdLatitude | Latitude, in degrees |
[in] | _fdElevation | Elevation, in meters |
Definition at line 122 of file CDataPosition.cpp.
CDataPosition::CDataPosition | ( | const CDataPosition & | _roDataPosition | ) |
Definition at line 127 of file CDataPosition.cpp.
|
inlinevirtual |
Definition at line 93 of file CDataPosition.hpp.
|
static |
Returns the WGS84-corrected great-circle distance between two points, in meters.
Definition at line 40 of file CDataPosition.cpp.
|
static |
Returns the great-circle (initial) bearing between two points, in degrees.
Definition at line 54 of file CDataPosition.cpp.
|
static |
Returns the rhumb-line distance between two points, in meters.
Definition at line 69 of file CDataPosition.cpp.
|
static |
Returns the rhumb-line (constant) bearing between two points, in degrees.
Definition at line 84 of file CDataPosition.cpp.
|
static |
Returns the length (rhumb-line distance and elevation delta) between two points, in meters.
Definition at line 100 of file CDataPosition.cpp.
void CDataPosition::setPosition | ( | double | _fdLongitude, |
double | _fdLatitude, | ||
double | _fdElevation = UNDEFINED_ELEVATION |
||
) |
Sets new coordinates.
[in] | _fdLongitude | Longitude, in degrees |
[in] | _fdLatitude | Latitude, in degrees |
[in] | _fdElevation | Elevation, in meters |
Definition at line 141 of file CDataPosition.cpp.
void CDataPosition::setPosition | ( | const CDataPosition & | _roDataPosition | ) |
Copy coordinates from another position.
Definition at line 167 of file CDataPosition.cpp.
void CDataPosition::resetPosition | ( | ) |
Resets all coordinates (to an undefined position)
Definition at line 174 of file CDataPosition.cpp.
|
inline |
Sets the elevation, in meters.
Definition at line 114 of file CDataPosition.hpp.
|
inline |
Resets the elevation (to an undefined elevation)
Definition at line 117 of file CDataPosition.hpp.
|
inline |
Returns this position's longitude, in degrees.
Definition at line 122 of file CDataPosition.hpp.
|
inline |
Returns this position's latitude, in degrees.
Definition at line 124 of file CDataPosition.hpp.
|
inline |
Returns this position's elevation, in meters.
Definition at line 126 of file CDataPosition.hpp.
void CDataPosition::serialize | ( | QDataStream & | _rqDataStream | ) | const |
Serializes (store) this object's data to binary format.
Definition at line 185 of file CDataPosition.cpp.
void CDataPosition::unserialize | ( | QDataStream & | _rqDataStream | ) |
Unserializes (restore) this object's data from binary format.
Definition at line 190 of file CDataPosition.cpp.
bool CDataPosition::operator== | ( | const CDataPosition & | _roPosition | ) | const |
Equality operator.
This operator returns true if all components - longitude, latitude and elevation - match.
Definition at line 198 of file CDataPosition.cpp.
bool CDataPosition::operator!= | ( | const CDataPosition & | _roPosition | ) | const |
Inequality operator.
This operator returns true if any components - longitude, latitude and elevation - mismatch.
Definition at line 205 of file CDataPosition.cpp.
|
static |
Longitude (ascending sort) comparison operator.
Definition at line 216 of file CDataPosition.cpp.
|
static |
Longitude (descending sort) comparison operator.
Definition at line 221 of file CDataPosition.cpp.
|
static |
Latitude (ascending sort) comparison operator.
Definition at line 226 of file CDataPosition.cpp.
|
static |
Latitude (descending sort) comparison operator.
Definition at line 231 of file CDataPosition.cpp.
|
static |
Elevation (ascending sort) comparison operator.
Definition at line 236 of file CDataPosition.cpp.
|
static |
Elevation (descending sort) comparison operator.
Definition at line 241 of file CDataPosition.cpp.
|
staticconstexpr |
Specific value for an undefined longitude.
Definition at line 44 of file CDataPosition.hpp.
|
staticconstexpr |
Specific value for an undefined latitude.
Definition at line 46 of file CDataPosition.hpp.
|
staticconstexpr |
Specific value for an undefined elevation.
Definition at line 48 of file CDataPosition.hpp.
|
static |
Specific value for an undefined position.
Definition at line 50 of file CDataPosition.hpp.
|
private |
Longitude, in degrees.
Definition at line 72 of file CDataPosition.hpp.
|
private |
Latitude, in degrees.
Definition at line 75 of file CDataPosition.hpp.
|
private |
Elevation, in meters.
Definition at line 78 of file CDataPosition.hpp.