60 Mollweide::Mollweide(
Pvl &label,
bool allowDefaults) :
68 if ((allowDefaults) && (!mapGroup.
hasKeyword(
"CenterLongitude"))) {
81 QString message =
"Invalid label group [Mapping]";
100 if (!TProjection::operator==(proj))
return false;
153 theta[0] = asin(2*phi/
PI);
158 while (dtheta > DBL_EPSILON) {
160 theta[1] = theta[0] - (2*theta[0]+sin(2*theta[0]) -(
Isis::PI)*sin(phi))/(2+2*cos(theta[0]));
161 dtheta = fabs(theta[1]-theta[0]);
165 if (niter > 15000000) {
198 double latRadians = lat *
PI / 180.0;
199 double lonRadians = lon *
PI / 180.0;
262 if (cosLat <= DBL_EPSILON) {
314 double &minY,
double &maxY) {
395 bool allowDefaults) {
bool hasKeyword(const QString &name) const
Check to see if a keyword exists.
bool operator==(const Projection &proj)
Compares two Projection objects to see if they are equal.
PvlGroupIterator findGroup(const QString &name, PvlGroupIterator beg, PvlGroupIterator end)
Find a group with the specified name, within these indexes.
bool newton_rapheson(double gamma, double &result)
The Newton-Rapheson method is used to find an iterative solution for:
const double PI
The mathematical constant PI.
Longitude values increase in the westerly direction.
Base class for Map TProjections.
const double HALFPI
The mathematical constant PI/2.
Namespace for the standard library.
bool XYRange(double &minX, double &maxX, double &minY, double &maxY)
Find x/y range from lat/lon range.
double GetX() const
Calculates the unrotated form of current x value.
double m_minimumX
The data elements m_minimumX, m_minimumY, m_maximumX, and m_maximumY are convience data elements when...
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
A type of error that occurred when performing an actual I/O operation.
PvlGroup Mapping()
This function returns the keywords that this projection uses.
PvlGroup MappingLongitudes()
This function returns the longitude keywords that this projection uses.
void SetComputedXY(double x, double y)
This protected method is a helper for derived classes.
double m_latitude
This contains the currently set latitude value.
virtual PvlGroup MappingLatitudes()
This function returns the latitude keywords that this projection uses.
double m_maximumY
See minimumX description.
double m_longitude
This contains the currently set longitude value.
bool SetGround(const double lat, const double lon)
Set lat/lon and attempt to calculate x/y values.
QString Name() const
Returns the name of the map projection, "Mollweide".
double m_maximumLongitude
Contains the maximum longitude for the entire ground range.
double m_minimumLatitude
Contains the minimum latitude for the entire ground range.
double m_maximumLatitude
Contains the maximum latitude for the entire ground range.
QString Version() const
Returns the version of the map projection.
Base class for Map Projections.
double m_minimumY
See minimumX description.
double m_equatorialRadius
Polar radius of the target.
Contains multiple PvlContainers.
#define _FILEINFO_
Macro for the filename and line number.
~Mollweide()
Destroys the Mollweide object.
A single keyword-value pair.
Mollweide Map Projection.
PvlGroup MappingLatitudes()
This function returns the latitude keywords that this projection uses.
Isis::TProjection * MollweidePlugin(Isis::Pvl &lab, bool allowDefaults)
This is the function that is called in order to instantiate a Mollweide object.
Container for cube-like labels.
virtual PvlGroup Mapping()
This function returns the keywords that this projection uses.
bool m_good
Indicates if the contents of m_x, m_y, m_latitude, and m_longitude are valid.
LongitudeDirection m_longitudeDirection
An enumerated type indicating the LongitudeDirection read from the labels.
bool SetCoordinate(const double x, const double y)
This method is used to set the projection x/y.
Namespace for ISIS/Bullet specific routines.
virtual PvlGroup MappingLongitudes()
This function returns the longitude keywords that this projection uses.
void SetXY(double x, double y)
This protected method is a helper for derived classes.
void XYRangeCheck(const double latitude, const double longitude)
This convience function is established to assist in the development of the XYRange virtual method...
double m_minimumLongitude
Contains the minimum longitude for the entire ground range.
double m_maximumX
See minimumX description.
PvlGroup m_mappingGrp
Mapping group that created this projection.
double m_centerLongitude
The center longitude for the map projection.