ad_map_access
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
ad::map::point::ECEFCoordinate Class Reference

DataType ECEFCoordinate. More...

#include <ad/map/point/ECEFCoordinate.hpp>

Public Member Functions

 ECEFCoordinate ()
 default constructor More...
 
_AD_MAP_POINT_ECEFCOORDINATE_EXPLICIT_CONVERSION_ ECEFCoordinate (double const iECEFCoordinate)
 standard constructor More...
 
 ECEFCoordinate (const ECEFCoordinate &other)=default
 standard copy constructor
 
 ECEFCoordinate (ECEFCoordinate &&other)=default
 standard move constructor
 
ECEFCoordinateoperator= (const ECEFCoordinate &other)=default
 standard assignment operator More...
 
ECEFCoordinateoperator= (ECEFCoordinate &&other)=default
 standard move operator More...
 
bool operator== (const ECEFCoordinate &other) const
 standard comparison operator More...
 
bool operator!= (const ECEFCoordinate &other) const
 standard comparison operator More...
 
bool operator> (const ECEFCoordinate &other) const
 standard comparison operator More...
 
bool operator< (const ECEFCoordinate &other) const
 standard comparison operator More...
 
bool operator>= (const ECEFCoordinate &other) const
 standard comparison operator More...
 
bool operator<= (const ECEFCoordinate &other) const
 standard comparison operator More...
 
ECEFCoordinate operator+ (const ECEFCoordinate &other) const
 standard arithmetic operator More...
 
ECEFCoordinateoperator+= (const ECEFCoordinate &other)
 standard arithmetic operator More...
 
ECEFCoordinate operator- (const ECEFCoordinate &other) const
 standard arithmetic operator More...
 
ECEFCoordinate operator-= (const ECEFCoordinate &other)
 standard arithmetic operator More...
 
ECEFCoordinate operator* (const double &scalar) const
 standard arithmetic operator More...
 
ECEFCoordinate operator/ (const double &scalar) const
 standard arithmetic operator More...
 
double operator/ (const ECEFCoordinate &other) const
 standard arithmetic operator More...
 
ECEFCoordinate operator- () const
 standard arithmetic operator More...
 
_AD_MAP_POINT_ECEFCOORDINATE_EXPLICIT_CONVERSION_ operator double () const
 conversion to base type: double More...
 
bool isValid () const
 
void ensureValid () const
 ensure that the ECEFCoordinate is valid More...
 
void ensureValidNonZero () const
 ensure that the ECEFCoordinate is valid and non zero More...
 

Static Public Member Functions

static ECEFCoordinate getMin ()
 get minimum valid ECEFCoordinate (i.e. cMinValue)
 
static ECEFCoordinate getMax ()
 get maximum valid ECEFCoordinate (i.e. cMaxValue)
 
static ECEFCoordinate getPrecision ()
 get assumed accuracy of ECEFCoordinate (i.e. cPrecisionValue)
 

Static Public Attributes

static const double cMinValue
 constant defining the minimum valid ECEFCoordinate value (used in isValid())
 
static const double cMaxValue
 constant defining the maximum valid ECEFCoordinate value (used in isValid())
 
static const double cPrecisionValue
 constant defining the assumed ECEFCoordinate value accuracy (used in comparison operator==(), operator!=())
 

Detailed Description

DataType ECEFCoordinate.

equatorial WGS-84 earth radius [m]= 6378137 Height of the Mount Everest [m]= 8848; Maximum ECEF Coordinate: WGS84_R + MOUNT_EVEREST ~ 6400000 The unit is: Meter

Constructor & Destructor Documentation

◆ ECEFCoordinate() [1/2]

ad::map::point::ECEFCoordinate::ECEFCoordinate ( )
inline

default constructor

The default value of ECEFCoordinate is: std::numeric_limits<double>::quiet_NaN()

◆ ECEFCoordinate() [2/2]

_AD_MAP_POINT_ECEFCOORDINATE_EXPLICIT_CONVERSION_ ad::map::point::ECEFCoordinate::ECEFCoordinate ( double const  iECEFCoordinate)
inline

standard constructor

Note
_AD_MAP_POINT_ECEFCOORDINATE_EXPLICIT_CONVERSION_ defines, if only an explicit conversion is allowed.

Member Function Documentation

◆ ensureValid()

void ad::map::point::ECEFCoordinate::ensureValid ( ) const
inline

ensure that the ECEFCoordinate is valid

Throws an std::out_of_range() exception if the ECEFCoordinate in not valid (i.e. isValid() returns false)

◆ ensureValidNonZero()

void ad::map::point::ECEFCoordinate::ensureValidNonZero ( ) const
inline

ensure that the ECEFCoordinate is valid and non zero

Throws an std::out_of_range() exception if the ECEFCoordinate in not valid or zero (i.e. isValid() returns false)

◆ isValid()

bool ad::map::point::ECEFCoordinate::isValid ( ) const
inline
Returns
true if the ECEFCoordinate in a valid range

An ECEFCoordinate value is defined to be valid if:

◆ operator double()

_AD_MAP_POINT_ECEFCOORDINATE_EXPLICIT_CONVERSION_ ad::map::point::ECEFCoordinate::operator double ( ) const
inline

conversion to base type: double

Note
the conversion to the base type removes the physical unit. _AD_MAP_POINT_ECEFCOORDINATE_EXPLICIT_CONVERSION_ defines, if only explicit calls are allowed.

◆ operator!=()

bool ad::map::point::ECEFCoordinate::operator!= ( const ECEFCoordinate other) const
inline

standard comparison operator

Parameters
[in]otherOther ECEFCoordinate.
Returns
true if one of the ECEFCoordinate is not valid or they can be taken as numerically different

◆ operator*()

ECEFCoordinate ad::map::point::ECEFCoordinate::operator* ( const double &  scalar) const
inline

standard arithmetic operator

Parameters
[in]scalarScalar double value
Returns
Result of arithmetic operation.
Note
throws a std::out_of_range exception if value or the result of the operation is not valid

◆ operator+()

ECEFCoordinate ad::map::point::ECEFCoordinate::operator+ ( const ECEFCoordinate other) const
inline

standard arithmetic operator

Parameters
[in]otherOther ECEFCoordinate
Returns
Result of arithmetic operation.
Note
throws a std::out_of_range exception if one of the two operands or the result of the operation is not valid

◆ operator+=()

ECEFCoordinate& ad::map::point::ECEFCoordinate::operator+= ( const ECEFCoordinate other)
inline

standard arithmetic operator

Parameters
[in]otherOther ECEFCoordinate
Returns
Result of arithmetic operation.
Note
throws a std::out_of_range exception if one of the two operands or the result of the operation is not valid

◆ operator-() [1/2]

ECEFCoordinate ad::map::point::ECEFCoordinate::operator- ( ) const
inline

standard arithmetic operator

Returns
Result of arithmetic operation.
Note
throws a std::out_of_range exception if this or the result of the operation is not valid

◆ operator-() [2/2]

ECEFCoordinate ad::map::point::ECEFCoordinate::operator- ( const ECEFCoordinate other) const
inline

standard arithmetic operator

Parameters
[in]otherOther ECEFCoordinate
Returns
Result of arithmetic operation.
Note
throws a std::out_of_range exception if one of the two operands or the result of the operation is not valid

◆ operator-=()

ECEFCoordinate ad::map::point::ECEFCoordinate::operator-= ( const ECEFCoordinate other)
inline

standard arithmetic operator

Parameters
[in]otherOther ECEFCoordinate
Returns
Result of arithmetic operation.
Note
throws a std::out_of_range exception if one of the two operands or the result of the operation is not valid

◆ operator/() [1/2]

ECEFCoordinate ad::map::point::ECEFCoordinate::operator/ ( const double &  scalar) const
inline

standard arithmetic operator

Parameters
[in]scalarScalar double value
Returns
Result of arithmetic operation.
Note
throws a std::out_of_range exception if this or the result of the operation is not valid or other is zero

◆ operator/() [2/2]

double ad::map::point::ECEFCoordinate::operator/ ( const ECEFCoordinate other) const
inline

standard arithmetic operator

Parameters
[in]otherOther ECEFCoordinate
Returns
Result of arithmetic operation.
Note
throws a std::out_of_range exception if one of the two operands or the result of the operation is not valid or other is zero
since ECEFCoordinate is a type with physical unit, the division results in the dimensionless type.

◆ operator<()

bool ad::map::point::ECEFCoordinate::operator< ( const ECEFCoordinate other) const
inline

standard comparison operator

Parameters
[in]otherOther ECEFCoordinate.
Returns
true if both ECEFCoordinate are valid and this ECEFCoordinate is strictly numerically smaller than other.
Note
the precision of ECEFCoordinate is considered

◆ operator<=()

bool ad::map::point::ECEFCoordinate::operator<= ( const ECEFCoordinate other) const
inline

standard comparison operator

Parameters
[in]otherOther ECEFCoordinate
Returns
true if both ECEFCoordinate are valid and this ECEFCoordinate is numerically smaller than other.
Note
the precision of ECEFCoordinate is considered

◆ operator=() [1/2]

ECEFCoordinate& ad::map::point::ECEFCoordinate::operator= ( const ECEFCoordinate other)
default

standard assignment operator

Parameters
[in]otherOther ECEFCoordinate
Returns
Reference to this ECEFCoordinate.

◆ operator=() [2/2]

ECEFCoordinate& ad::map::point::ECEFCoordinate::operator= ( ECEFCoordinate &&  other)
default

standard move operator

Parameters
[in]otherOther ECEFCoordinate
Returns
Reference to this ECEFCoordinate.

◆ operator==()

bool ad::map::point::ECEFCoordinate::operator== ( const ECEFCoordinate other) const
inline

standard comparison operator

Parameters
[in]otherOther ECEFCoordinate
Returns
true if both ECEFCoordinate are valid and can be taken as numerically equal

◆ operator>()

bool ad::map::point::ECEFCoordinate::operator> ( const ECEFCoordinate other) const
inline

standard comparison operator

Parameters
[in]otherOther ECEFCoordinate.
Returns
true if both ECEFCoordinate are valid and this ECEFCoordinate is strictly numerically greater than other.
Note
the precision of ECEFCoordinate is considered

◆ operator>=()

bool ad::map::point::ECEFCoordinate::operator>= ( const ECEFCoordinate other) const
inline

standard comparison operator

Parameters
[in]otherOther ECEFCoordinate.
Returns
true if both ECEFCoordinate are valid and this ECEFCoordinate is numerically greater than other.
Note
the precision of ECEFCoordinate is considered

The documentation for this class was generated from the following file: