Defines an angle and provides unit conversions.
Units
The set of usable angle measurement units.
@ Radians
Radians are generally used in mathematical equations, 0-2*PI is one circle, however these are more di...
This class is designed to encapsulate the concept of a Longitude.
double positiveWest(Angle::Units units=Angle::Radians) const
Get the longitude in the PositiveWest coordinate system.
void setPositiveEast(double longitude, Angle::Units units=Angle::Radians)
Set the longitude given a value in the PositiveEast longitude system.
Direction
Possible longitude directions: Is a positive longitude towards east or towards west?
@ PositiveWest
As the longitude increases the actual position is more west.
@ PositiveEast
As the longitude increases the actual position is more east.
void setPositiveWest(double longitude, Angle::Units units=Angle::Radians)
Set the longitude given a value in the PositiveWest longitude system.
Longitude()
Create a blank Longitude object with 0-360 domain.
~Longitude()
This cleans up the Longitude class.
Domain
Use LongitudeDomain360 if 0-360 is the primary range of the longitude values with 180 being the 'cent...
@ Domain180
As the longitude increases the actual position is more west.
@ Domain360
As the longitude increases the actual position is more east.
Longitude force180Domain() const
This returns a longitude that is constricted to -180 to 180 degrees.
static QList< QPair< Longitude, Longitude > > to360Range(Longitude startLon, Longitude endLon)
Calculates where the longitude range is in 0-360.
Longitude force360Domain() const
This returns a longitude that is constricted to 0-360 degrees.
Domain m_currentDomain
This is necessary for converting to PositiveWest and back.
double positiveEast(Angle::Units units=Angle::Radians) const
Get the longitude in the PositiveEast coordinate system.
Longitude & operator=(const Longitude &longitudeToCopy)
Same as positiveEast.
bool inRange(Longitude min, Longitude max) const
Checks if this longitude value is within the given range.
Contains multiple PvlContainers.
This is free and unencumbered software released into the public domain.