Isis 3.0 Developer's Reference (API) |
Home |
00001 #ifndef LambertConformal_h 00002 #define LambertConformal_h 00003 00025 #include "Projection.h" 00026 #include "Constants.h" 00027 00028 namespace Isis { 00055 class LambertConformal : public Isis::Projection { 00056 public: 00057 LambertConformal(Isis::Pvl &label, bool allowDefaults = false); 00058 ~LambertConformal(); 00059 bool SetGround(const double lat, const double lon); 00060 bool SetCoordinate(const double x, const double y); 00061 bool XYRange(double &minX, double &maxX, double &minY, double &maxY); 00062 PvlGroup Mapping(); 00063 PvlGroup MappingLatitudes(); 00064 PvlGroup MappingLongitudes(); 00065 00071 std::string Name() const { 00072 return "LambertConformal"; 00073 } 00074 00081 std::string Version() const { 00082 return "1.0"; 00083 } 00084 00085 bool operator== (const Isis::Projection &proj); 00086 00093 double TrueScaleLatitude() const { 00094 if(p_par1 > p_par2) return p_par2 * 180.0 / Isis::PI; 00095 else return p_par1 * 180.0 / Isis::PI; 00096 }; 00097 00098 00099 private: 00100 double p_centerLongitude; 00101 double p_centerLatitude; 00102 double p_par1; 00103 double p_par2; 00104 double p_n, p_f, p_rho; 00105 00106 }; 00107 }; 00108 00109 #endif