Isis 3.0 Programmer Reference
Back | Home
Latitude.h
Go to the documentation of this file.
1 #ifndef Latitude_h
2 #define Latitude_h
3 
23 #include "Angle.h"
24 
25 namespace Isis {
26  class Distance;
27  class PvlGroup;
28 
59  class Latitude : public Angle {
60  public:
84  };
85 
112  };
113 
114  Latitude();
115  Latitude(double latitude,
116  Angle::Units latitudeUnits,
117  ErrorChecking errors = AllowPastPole);
118 
119  Latitude(Angle latitude, ErrorChecking errors = AllowPastPole);
120 
121  Latitude(Angle latitude,
122  PvlGroup mapping,
123  ErrorChecking errors = ThrowAllErrors);
124 
125  Latitude(double latitude,
126  PvlGroup mapping,
127  Angle::Units latitudeUnits,
128  ErrorChecking errors = ThrowAllErrors);
129 
130  Latitude(double latitude, Distance equatorialRadius, Distance polarRadius,
131  CoordinateType latType = Planetocentric,
132  Angle::Units latitudeUnits = Angle::Radians,
133  ErrorChecking errors = ThrowAllErrors);
134 
135  Latitude(const Latitude &latitudeToCopy);
136 
137  ~Latitude();
138 
139  double planetocentric(Angle::Units units = Angle::Radians) const;
140  void setPlanetocentric(double latitude,
141  Angle::Units units = Angle::Radians);
142 
143  double planetographic(Angle::Units units = Angle::Radians) const;
144  void setPlanetographic(double latitude,
145  Angle::Units units = Angle::Radians);
146 
147  bool inRange(Latitude min, Latitude max) const;
148 
149  Latitude& operator=(const Latitude & latitudeToCopy);
150  Latitude add(Angle angleToAdd, PvlGroup mapping);
151  Latitude add(Angle angleToAdd, Distance equatorialRadius, Distance polarRadius,
152  CoordinateType latType);
153 
163  protected:
164  virtual void setAngle(const double &angle, const Angle::Units &units);
165 
166  private:
177 
180  };
181 }
182 
183 #endif
Units
The set of usable angle measurement units.
Definition: Angle.h:62
Distance * m_polarRadius
Used for converting to Planetographic, this is the radius of the target perpendicular to the equatori...
Definition: Latitude.h:176
Don't throw an exception if a latitude beyond -90/90 is found.
Definition: Latitude.h:83
Latitude()
Create a blank Latitude object without Planetographic support.
Definition: Latitude.cpp:38
bool inRange(Latitude min, Latitude max) const
Checks if this latitude value is within the given range.
Definition: Latitude.cpp:424
This class is designed to encapsulate the concept of a Latitude.
Definition: Latitude.h:59
Distance measurement, usually in meters.
Definition: Distance.h:47
Throw an exception if any problems are found.
Definition: Latitude.h:81
This is the universal (and default) latitude coordinate system.
Definition: Latitude.h:99
ErrorChecking m_errors
This contains which exceptions should not be thrown.
Definition: Latitude.h:179
This is a secondary coordinate system for latitudes.
Definition: Latitude.h:111
Contains multiple PvlContainers.
Definition: PvlGroup.h:57
double planetocentric(Angle::Units units=Angle::Radians) const
Get the latitude in the planetocentric (universal) coordinate system.
Definition: Latitude.cpp:295
void setPlanetographic(double latitude, Angle::Units units=Angle::Radians)
Set the latitude given a value in the Planetographic coordinate system.
Definition: Latitude.cpp:373
void setPlanetocentric(double latitude, Angle::Units units=Angle::Radians)
Set the latitude given a value in the Planetocentric coordinate system.
Definition: Latitude.cpp:306
Distance * m_equatorialRadius
Used for converting to Planetographic, this is the radius of the target on the equatorial plane...
Definition: Latitude.h:171
virtual void setAngle(const double &angle, const Angle::Units &units)
Same as planetocentric.
Definition: Latitude.cpp:568
Defines an angle and provides unit conversions.
Definition: Angle.h:58
~Latitude()
This cleans up the Latitude class.
Definition: Latitude.cpp:273
ErrorChecking
Some user-configurable error checking parameters.
Definition: Latitude.h:79
CoordinateType
These are the latitude coordinate systems.
Definition: Latitude.h:93
Radians are generally used in mathematical equations, 0-2*PI is one circle, however these are more di...
Definition: Angle.h:76
Latitude add(Angle angleToAdd, PvlGroup mapping)
Adds an angle to this latitude.
Definition: Latitude.cpp:488
Latitude & operator=(const Latitude &latitudeToCopy)
This assigns another latitude to this one - making this latitude an exact duplicate of the other...
Definition: Latitude.cpp:452
virtual double angle(const Units &unit) const
Return angle value in desired units.
Definition: Angle.cpp:302
double planetographic(Angle::Units units=Angle::Radians) const
Get the latitude in the planetographic coordinate system.
Definition: Latitude.cpp:328

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the ISIS Support Center
File Modified: 07/12/2023 23:21:58