USGS

Isis 3.0 Developer's Reference (API)

Home

PolarStereographic.h

Go to the documentation of this file.
00001 #ifndef PolarStereographic_h
00002 #define PolarStereographic_h
00003 
00025 #include "Projection.h"
00026 #include "Constants.h"
00027 
00028 namespace Isis {
00059   class PolarStereographic : public Isis::Projection {
00060     public:
00061       PolarStereographic(Isis::Pvl &label, bool allowDefaults = false);
00062       ~PolarStereographic();
00063       bool SetGround(const double lat, const double lon);
00064       bool SetCoordinate(const double x, const double y);
00065       bool XYRange(double &minX, double &maxX, double &minY, double &maxY);
00066 
00067       PvlGroup Mapping();
00068       PvlGroup MappingLatitudes();
00069       PvlGroup MappingLongitudes();
00070 
00076       std::string Name() const {
00077         return "PolarStereographic";
00078       }
00079 
00086       std::string Version() const {
00087         return "1.0";
00088       }
00089 
00090       bool operator== (const Isis::Projection &proj);
00091 
00098       double TrueScaleLatitude() const {
00099         return p_centerLatitude * 180.0 / Isis::PI;
00100       };
00101 
00102     private:
00103       double p_centerLongitude;  
00104       double p_centerLatitude;   
00105 
00106       double p_t;
00107       double p_m;
00108       double p_e4;
00109       double p_signFactor;
00110       double p_poleFlag;
00111   };
00112 };
00113 
00114 #endif
00115