54       Angle(longitude, longitudeUnits) {
    55     if(mapping[
"LongitudeDomain"][0] == 
"360") {
    58     else if(mapping[
"LongitudeDomain"][0] == 
"180") {
    62       IString msg = 
"Longitude domain [" +
    63           IString(mapping[
"LongitudeDomain"][0]) + 
"] not recognized";
    67     if(mapping[
"LongitudeDirection"][0] == 
"PositiveEast") {
    70     else if(mapping[
"LongitudeDirection"][0] == 
"PositiveWest") {
    74       IString msg = 
"Longitude direction [" +
    75           IString(mapping[
"LongitudeDirection"][0]) + 
"] not recognized";
   101       IString msg = 
"Longitude direction [" + 
IString(lonDir) + 
"] not valid";
   118       Angle(longitude, longitudeUnits) {
   128       IString msg = 
"Longitude direction [" + 
IString(lonDir) + 
"] not valid";
   140       : 
Angle(longitudeToCopy) {
   172     double longitude = 
angle(units);
   177         double halfWrap = wrapPoint / 2.0;
   179         int numPlanetWraps = qFloor(longitude / wrapPoint);
   184         if (numPlanetWraps != 0 && qFuzzyCompare(numPlanetWraps * wrapPoint, longitude)) {
   185           if (numPlanetWraps > 0)
   191         longitude -= numPlanetWraps * wrapPoint;
   192         longitude = -(longitude - halfWrap) + halfWrap;
   193         longitude -= numPlanetWraps * wrapPoint;
   198         longitude = -1 * longitude;
   228         double halfWrap = wrapPoint / 2.0;
   230         int numPlanetWraps = qFloor(longitude / wrapPoint);
   235         if (numPlanetWraps != 0 && qFuzzyCompare(numPlanetWraps * wrapPoint, longitude)) {
   236           if (numPlanetWraps > 0)
   243         longitude -= numPlanetWraps * wrapPoint;
   244         longitude = -(longitude - halfWrap) + halfWrap;
   245         longitude -= numPlanetWraps * wrapPoint;
   250         longitude = -1 * longitude;
   266     if(
this == &longitudeToCopy) 
return *
this;
   286     if (qFuzzyCompare(
degrees(), 360.0)) {
   287       resultantLongitude = 360.0;
   290       resultantLongitude -= 360 * qFloor(resultantLongitude / 360);
   340     foreach (range, ranges) {
   341       if (thisLon >= range.first && thisLon <= range.second) {
   345       double thisLonRadians = thisLon.
radians();
   346       double rangeStartRadians = range.first.radians();
   347       double rangeEndRadians = range.second.radians();
   349       if (qFuzzyCompare(thisLonRadians, rangeStartRadians) ||
   350           qFuzzyCompare(thisLonRadians, rangeEndRadians)) {
   355       if ((qFuzzyCompare(thisLonRadians, 0.0) || qFuzzyCompare(thisLonRadians, 2.0 * 
PI)) &&
   356           (qFuzzyCompare(rangeStartRadians, 0.0) ||
   357            qFuzzyCompare(rangeEndRadians, 2.0 * 
PI))) {
   381     if (startLon.
isValid() && endLon.
isValid() && startLon < endLon) {
   393         if (endLon2 < startLon) {
   394           range.append(qMakePair(startLon2, endLon2));
   404       range.append(qMakePair(startLon, endLon));
 Direction
Possible longitude directions: Is a positive longitude towards east or towards west? 
 
Units
The set of usable angle measurement units. 
 
const double PI
The mathematical constant PI. 
 
double radians() const
   Convert an angle to a double. 
 
virtual void setAngle(const double &angle, const Units &unit)
Set angle value in desired units. 
 
Domain
Use LongitudeDomain360 if 0-360 is the primary range of the longitude values with 180 being the 'cent...
 
double positiveWest(Angle::Units units=Angle::Radians) const
Get the longitude in the PositiveWest coordinate system. 
 
~Longitude()
This cleans up the Longitude class. 
 
Longitude force180Domain() const
This returns a longitude that is constricted to -180 to 180 degrees. 
 
This error is for when a programmer made an API call that was illegal. 
 
Longitude force360Domain() const
This returns a longitude that is constricted to 0-360 degrees. 
 
double degrees() const
Get the angle in units of Degrees. 
 
As the longitude increases the actual position is more west. 
 
Domain m_currentDomain
This is necessary for converting to PositiveWest and back. 
 
void setPositiveEast(double longitude, Angle::Units units=Angle::Radians)
Set the longitude given a value in the PositiveEast longitude system. 
 
This class is designed to encapsulate the concept of a Longitude. 
 
Longitude & operator=(const Longitude &longitudeToCopy)
  Same as positiveEast. 
 
Degrees are generally considered more human readable, 0-360 is one circle, however most math does not...
 
As the longitude increases the actual position is more east. 
 
Angle()
Constructs a blank angle object which needs a value to be set in order to do any calculations. 
 
Contains multiple PvlContainers. 
 
#define _FILEINFO_
Macro for the filename and line number. 
 
static QList< QPair< Longitude, Longitude > > to360Range(Longitude startLon, Longitude endLon)
Calculates where the longitude range is in 0-360. 
 
bool IsSpecial(const double d)
Returns if the input pixel is special. 
 
As the longitude increases the actual position is more east. 
 
double unitWrapValue(const Units &unit) const
Return wrap value in desired units. 
 
double positiveEast(Angle::Units units=Angle::Radians) const
Get the longitude in the PositiveEast coordinate system. 
 
static Angle fullRotation()
Makes an angle to represent a full rotation (0-360 or 0-2pi). 
 
Defines an angle and provides unit conversions. 
 
Unless noted otherwise, the portions of Isis written by the USGS are public domain. 
 
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. 
 
virtual double angle(const Units &unit) const
Return angle value in desired units. 
 
As the longitude increases the actual position is more west. 
 
Adds specific functionality to C++ strings. 
 
Namespace for ISIS/Bullet specific routines. 
 
bool inRange(Longitude min, Longitude max) const
Checks if this longitude value is within the given range. 
 
bool isValid() const
This indicates whether we have a legitimate angle stored or are in an unset, or invalid, state. 
 
Radians are generally used in mathematical equations, 0-2*PI is one circle, however these are more di...