186      virtual QString 
Name() 
const = 0;
 
  247      virtual bool SetGround(
const double lat, 
const double lon);
 
  264      double Scale() 
const;
 
  267      virtual bool XYRange(
double &minX, 
double &maxX,
 
  268                           double &minY, 
double &maxY);
 
  277                                     double eRadius, 
double pRadius);
 
  279                                     double eRadius, 
double pRadius);
 
  289      void XYRangeCheck(
const double latitude, 
const double longitude);
 
  294                          double &minY, 
double &maxY);
 
  297      double qCompute(
const double sinPhi) 
const; 
 
  299      double mCompute(
const double sinphi, 
const double cosphi) 
const; 
 
  300      double tCompute(
const double phi, 
const double sinphi) 
const; 
 
  304      void doSearch(
double minBorder, 
double maxBorder, 
 
  305                    double &extremeVal, 
const double constBorder,
 
  306                    bool searchX, 
bool searchLongitude, 
bool findMin);
 
  307      void findExtreme(
double &minBorder,  
double &maxBorder, 
 
  308                       double &minBorderX, 
double &minBorderY, 
 
  309                       double &maxBorderX, 
double &maxBorderY, 
 
  310                       const double constBorder, 
bool searchX, 
 
  311                       bool searchLongitude, 
bool findMin);
 
  312      void setSearchGround(
const double variableBorder, 
 
  313                           const double constBorder, 
bool variableIsLat);
 
  365      std::vector<double> m_specialLatCases; 
 
  367      std::vector<double> m_specialLonCases; 
 
Base class for Map Projections.
Definition: Projection.h:155
 
Contains multiple PvlContainers.
Definition: PvlGroup.h:41
 
Container for cube-like labels.
Definition: Pvl.h:119
 
Base class for Map TProjections.
Definition: TProjection.h:166
 
double m_longitude
This contains the currently set longitude value.
Definition: TProjection.h:318
 
virtual bool SetGround(const double lat, const double lon)
This method is used to set the latitude/longitude (assumed to be of the correct LatitudeType,...
Definition: TProjection.cpp:760
 
bool xyRangeOblique(double &minX, double &maxX, double &minY, double &maxY)
This method is used to find the XY range for oblique aspect projections (non-polar projections) by "w...
Definition: TProjection.cpp:1195
 
bool SetUnboundUniversalGround(const double coord1, const double coord2)
This method is used to set the latitude/longitude.
Definition: TProjection.cpp:879
 
bool IsPlanetocentric() const
This indicates if the latitude type is planetocentric (as opposed to planetographic).
Definition: TProjection.cpp:392
 
double m_minimumLatitude
Contains the minimum latitude for the entire ground range.
Definition: TProjection.h:354
 
virtual bool XYRange(double &minX, double &maxX, double &minY, double &maxY)
This method is used to determine the x/y range which completely covers the area of interest specified...
Definition: TProjection.cpp:993
 
double m_polarRadius
Polar radius of the target.
Definition: TProjection.h:342
 
double m_maximumLongitude
Contains the maximum longitude for the entire ground range.
Definition: TProjection.h:360
 
static double To180Domain(const double lon)
This method converts a longitude into the -180 to 180 domain.
Definition: TProjection.cpp:657
 
double m_equatorialRadius
Polar radius of the target.
Definition: TProjection.h:335
 
LongitudeDirection m_longitudeDirection
An enumerated type indicating the LongitudeDirection read from the labels.
Definition: TProjection.h:324
 
virtual PvlGroup MappingLongitudes()
This function returns the longitude keywords that this projection uses.
Definition: TProjection.cpp:1739
 
virtual double MaximumLatitude() const
This returns the maximum latitude of the area of interest.
Definition: TProjection.cpp:721
 
virtual ~TProjection()
Destroys the TProjection object.
Definition: TProjection.cpp:247
 
double LocalRadius() const
This method returns the local radius in meters at the current latitude position.
Definition: TProjection.cpp:353
 
virtual bool SetCoordinate(const double x, const double y)
This method is used to set the projection x/y.
Definition: TProjection.cpp:789
 
int m_longitudeDomain
This integer is either 180 or 360 and is read from the labels.
Definition: TProjection.h:331
 
double mCompute(const double sinphi, const double cosphi) const
A convience method to compute Snyder's m equation (14-15) for a given latitude, .
Definition: TProjection.cpp:1847
 
double ToPlanetocentric(const double lat) const
This method converts a planetographic latitude to a planetocentric latitude.
Definition: TProjection.cpp:418
 
bool Has180Domain() const
This indicates if the longitude domain is -180 to 180 (as opposed to 0 to 360).
Definition: TProjection.cpp:632
 
virtual bool SetUniversalGround(const double lat, const double lon)
This method is used to set the latitude/longitude which must be Planetocentric (latitude) and Positiv...
Definition: TProjection.cpp:839
 
virtual QString Name() const =0
This method returns the name of the map projection.
 
virtual double MinimumLongitude() const
This returns the minimum longitude of the area of interest.
Definition: TProjection.cpp:732
 
virtual double UniversalLongitude()
This returns a universal longitude (positive east in 0 to 360 domain).
Definition: TProjection.cpp:922
 
double PolarRadius() const
This returns the polar radius of the target.
Definition: TProjection.cpp:287
 
bool inLongitudeRange(double longitude)
Determine whether the given longitude is within the range of the MinimumLongitude and MaximumLongitud...
Definition: TProjection.cpp:1140
 
void XYRangeCheck(const double latitude, const double longitude)
This convience function is established to assist in the development of the XYRange virtual method.
Definition: TProjection.cpp:1062
 
double Eccentricity() const
This returns the eccentricity of the target,.
Definition: TProjection.cpp:304
 
bool IsPositiveWest() const
This indicates if the longitude direction type is positive east (as opposed to postive west).
Definition: TProjection.cpp:531
 
QString LongitudeDirectionString() const
This method returns the longitude direction as a string.
Definition: TProjection.cpp:620
 
bool inLatitudeRange(double latitude)
Determine whether the given latitude is within the range of the MinimumLatitude and MaximumLatitude r...
Definition: TProjection.cpp:1160
 
virtual PvlGroup MappingLatitudes()
This function returns the latitude keywords that this projection uses.
Definition: TProjection.cpp:1723
 
double m_eccentricity
The eccentricity of the target body.
Definition: TProjection.h:352
 
double qCompute(const double sinPhi) const
A convience method to compute Snyder's q equation (3-12) for a given latitude, .
Definition: TProjection.cpp:1770
 
virtual bool operator==(const Projection &proj)
This method determines whether two map projection objects are equal by comparing the equatorial radiu...
Definition: TProjection.cpp:260
 
double phi2Compute(const double t) const
A convience method to compute latitude angle phi2 given small t, from Syder's recursive equation (7-9...
Definition: TProjection.cpp:1803
 
double m_minimumLongitude
Contains the minimum longitude for the entire ground range.
Definition: TProjection.h:358
 
virtual QString Version() const =0
This method returns the Version of the map projection.
 
double e4Compute() const
A convience method to compute.
Definition: TProjection.cpp:1891
 
double tCompute(const double phi, const double sinphi) const
A convience method to compute Snyder's t equation (15-9) for a given latitude, .
Definition: TProjection.cpp:1870
 
LongitudeDirection
This enum defines the types of Longitude directions supported in this class.
Definition: TProjection.h:223
 
@ PositiveWest
Longitude values increase in the westerly direction.
Definition: TProjection.h:225
 
@ PositiveEast
Longitude values increase in the easterly direction.
Definition: TProjection.h:223
 
double m_maximumLatitude
Contains the maximum latitude for the entire ground range.
Definition: TProjection.h:356
 
virtual double Latitude() const
This returns a latitude with correct latitude type as specified in the label object.
Definition: TProjection.cpp:811
 
static double ToPositiveWest(const double lon, const int domain)
This method converts a longitude into the positive west direction.
Definition: TProjection.cpp:587
 
static double To360Domain(const double lon)
This method converts a longitude into the 0 to 360 domain.
Definition: TProjection.cpp:675
 
QString LongitudeDomainString() const
This method returns the longitude domain as a string.
Definition: TProjection.cpp:698
 
bool IsPlanetographic() const
This indicates if the latitude type is planetographic (as opposed to planetocentric).
Definition: TProjection.cpp:403
 
virtual bool IsEquatorialCylindrical()
This method returns true if the projection is equatorial cylindrical.
Definition: TProjection.cpp:381
 
QString LatitudeTypeString() const
This method returns the latitude type as a string.
Definition: TProjection.cpp:508
 
bool Has360Domain() const
This indicates if the longitude domain is 0 to 360 (as opposed to -180 to 180).
Definition: TProjection.cpp:643
 
LatitudeType
This enum defines the types of Latitude supported in this class.
Definition: TProjection.h:203
 
@ Planetocentric
Latitudes are measured as the angle from the equatorial plane to the plane through the center of the ...
Definition: TProjection.h:204
 
@ Planetographic
Latitudes are measured as the angle from the equatorial plane to the normal to the surface of the pla...
Definition: TProjection.h:207
 
virtual double MinimumLatitude() const
This returns the minimum latitude of the area of interest.
Definition: TProjection.cpp:710
 
LatitudeType m_latitudeType
An enumerated type indicating the LatitudeType read from the labels.
Definition: TProjection.h:321
 
virtual double MaximumLongitude() const
This returns the maximum longitude of the area of interest.
Definition: TProjection.cpp:743
 
virtual PvlGroup Mapping()
This function returns the keywords that this projection uses.
Definition: TProjection.cpp:1698
 
static double ToPositiveEast(const double lon, const int domain)
This method converts a longitude into the positive east direction.
Definition: TProjection.cpp:548
 
virtual double UniversalLatitude()
This returns a universal latitude (planetocentric).
Definition: TProjection.cpp:908
 
double EquatorialRadius() const
This returns the equatorial radius of the target.
Definition: TProjection.cpp:277
 
bool IsPositiveEast() const
This indicates if the longitude direction type is positive west (as opposed to postive east).
Definition: TProjection.cpp:520
 
double Scale() const
This method returns the scale for mapping world coordinates into projection coordinates.
Definition: TProjection.cpp:940
 
virtual double Longitude() const
This returns a longitude with correct longitude direction and domain as specified in the label object...
Definition: TProjection.cpp:823
 
double ToPlanetographic(const double lat) const
This method converts a planetocentric latitude to a planetographic latitude.
Definition: TProjection.cpp:463
 
double m_latitude
This contains the currently set latitude value.
Definition: TProjection.h:316
 
virtual double TrueScaleLatitude() const
This method returns the latitude of true scale.
Definition: TProjection.cpp:368
 
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16