19 #ifndef QVCT_CDATAPOSITION_HPP
20 #define QVCT_CDATAPOSITION_HPP
106 void setPosition(
double _fdLongitude,
double _fdLatitude,
131 void serialize( QDataStream& _rqDataStream )
const;
(Geographical) Position data [long,lat,elev]
double fdElevation
Elevation, in meters.
double getLongitude() const
Returns this position's longitude, in degrees.
static bool compareElevationAscending(const CDataPosition &_roPosition1, const CDataPosition &_roPosition2)
Elevation (ascending sort) comparison operator.
static double bearingGC(const CDataPosition &_roPosition1, const CDataPosition &_roPosition2)
Returns the great-circle (initial) bearing between two points, in degrees.
static constexpr double UNDEFINED_LATITUDE
Specific value for an undefined latitude.
static bool compareElevationDescending(const CDataPosition &_roPosition1, const CDataPosition &_roPosition2)
Elevation (descending sort) comparison operator.
void resetPosition()
Resets all coordinates (to an undefined position)
double fdLatitude
Latitude, in degrees.
double getElevation() const
Returns this position's elevation, in meters.
static bool compareLatitudeDescending(const CDataPosition &_roPosition1, const CDataPosition &_roPosition2)
Latitude (descending sort) comparison operator.
static double bearingRL(const CDataPosition &_roPosition1, const CDataPosition &_roPosition2)
Returns the rhumb-line (constant) bearing between two points, in degrees.
static double distanceRL(const CDataPosition &_roPosition1, const CDataPosition &_roPosition2)
Returns the rhumb-line distance between two points, in meters.
double getLatitude() const
Returns this position's latitude, in degrees.
static const CDataPosition UNDEFINED
Specific value for an undefined position.
static constexpr double UNDEFINED_LONGITUDE
Specific value for an undefined longitude.
void setElevation(double _fdElevation)
Sets the elevation, in meters.
void serialize(QDataStream &_rqDataStream) const
Serializes (store) this object's data to binary format.
static bool compareLongitudeDescending(const CDataPosition &_roPosition1, const CDataPosition &_roPosition2)
Longitude (descending sort) comparison operator.
void resetElevation()
Resets the elevation (to an undefined elevation)
void setPosition(double _fdLongitude, double _fdLatitude, double _fdElevation=UNDEFINED_ELEVATION)
Sets new coordinates.
static constexpr double UNDEFINED_ELEVATION
Specific value for an undefined elevation.
double fdLongitude
Longitude, in degrees.
static double length(const CDataPosition &_roPosition1, const CDataPosition &_roPosition2)
Returns the length (rhumb-line distance and elevation delta) between two points, in meters.
bool operator!=(const CDataPosition &_roPosition) const
Inequality operator.
void unserialize(QDataStream &_rqDataStream)
Unserializes (restore) this object's data from binary format.
bool operator==(const CDataPosition &_roPosition) const
Equality operator.
static bool compareLatitudeAscending(const CDataPosition &_roPosition1, const CDataPosition &_roPosition2)
Latitude (ascending sort) comparison operator.
static double distanceGC(const CDataPosition &_roPosition1, const CDataPosition &_roPosition2)
Returns the WGS84-corrected great-circle distance between two points, in meters.
static bool compareLongitudeAscending(const CDataPosition &_roPosition1, const CDataPosition &_roPosition2)
Longitude (ascending sort) comparison operator.