Isis Developer Reference
LunarAzimuthalEqualArea.h
Go to the documentation of this file.
1 #ifndef LunarAzimuthalEqualArea_h
2 #define LunarAzimuthalEqualArea_h
3 
8 /* SPDX-License-Identifier: CC0-1.0 */
9 #include "TProjection.h"
10 
11 namespace Isis {
12  class Pvl;
13  class PvlGroup;
14 
46  public:
49  bool operator== (const TProjection &proj);
50 
51  QString Name() const;
52  QString Version() const;
53 
54  bool SetGround(const double lat, const double lon);
55  bool SetCoordinate(const double x, const double y);
56  bool XYRange(double &minX, double &maxX, double &minY, double &maxY);
57 
58  PvlGroup Mapping();
59 
60  private:
61  double m_maxLibration;
63  };
64 }
65 
66 #endif
Isis::LunarAzimuthalEqualArea::Name
QString Name() const
Returns the name of the map projection, "LunarAzimuthalEqualArea".
Definition: LunarAzimuthalEqualArea.cpp:75
Isis::TProjection::m_maximumLatitude
double m_maximumLatitude
Contains the maximum latitude for the entire ground range.
Definition: TProjection.h:356
Isis::Angle::Degrees
@ Degrees
Degrees are generally considered more human readable, 0-360 is one circle, however most math does not...
Definition: Angle.h:56
Isis::LunarAzimuthalEqualArea::SetGround
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: LunarAzimuthalEqualArea.cpp:101
Isis::HALFPI
const double HALFPI
The mathematical constant PI/2.
Definition: Constants.h:41
Isis::TProjection::m_longitude
double m_longitude
This contains the currently set longitude value.
Definition: TProjection.h:318
Isis::PvlObject::findGroup
PvlGroupIterator findGroup(const QString &name, PvlGroupIterator beg, PvlGroupIterator end)
Find a group with the specified name, within these indexes.
Definition: PvlObject.h:129
Isis::TProjection::m_minimumLongitude
double m_minimumLongitude
Contains the minimum longitude for the entire ground range.
Definition: TProjection.h:358
Isis::TProjection::m_latitude
double m_latitude
This contains the currently set latitude value.
Definition: TProjection.h:316
Isis::PI
const double PI
The mathematical constant PI.
Definition: Constants.h:40
EPSILON
const double EPSILON
This is free and unencumbered software released into the public domain.
Definition: Robinson.cpp:19
Isis::Longitude::positiveWest
double positiveWest(Angle::Units units=Angle::Radians) const
Get the longitude in the PositiveWest coordinate system.
Definition: Longitude.cpp:158
Isis::Longitude::positiveEast
double positiveEast(Angle::Units units=Angle::Radians) const
Get the longitude in the PositiveEast coordinate system.
Definition: Longitude.cpp:146
Isis::TProjection::m_longitudeDirection
LongitudeDirection m_longitudeDirection
An enumerated type indicating the LongitudeDirection read from the labels.
Definition: TProjection.h:324
Isis::TProjection::m_minimumLatitude
double m_minimumLatitude
Contains the minimum latitude for the entire ground range.
Definition: TProjection.h:354
SpecialPixel.h
Isis::TProjection::PositiveWest
@ PositiveWest
Longitude values increase in the westerly direction.
Definition: TProjection.h:225
Isis::IException::Unknown
@ Unknown
A type of error that cannot be classified as any of the other error types.
Definition: IException.h:118
PvlGroup.h
Isis::Projection::m_minimumY
double m_minimumY
See minimumX description.
Definition: Projection.h:327
LunarAzimuthalEqualArea.h
Longitude.h
Isis::Pvl
Container for cube-like labels.
Definition: Pvl.h:119
Isis::Projection::SetXY
void SetXY(double x, double y)
This protected method is a helper for derived classes.
Definition: Projection.cpp:804
Isis::TProjection::ToPlanetocentric
double ToPlanetocentric(const double lat) const
This method converts a planetographic latitude to a planetocentric latitude.
Definition: TProjection.cpp:418
Isis::LunarAzimuthalEqualArea::Mapping
PvlGroup Mapping()
This function returns the keywords that this projection uses.
Definition: LunarAzimuthalEqualArea.cpp:279
Isis::TProjection::XYRangeCheck
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
Isis::Longitude::Domain180
@ Domain180
As the longitude increases the actual position is more west.
Definition: Longitude.h:66
Isis::Longitude::Domain360
@ Domain360
As the longitude increases the actual position is more east.
Definition: Longitude.h:64
Isis::Longitude::force180Domain
Longitude force180Domain() const
This returns a longitude that is constricted to -180 to 180 degrees.
Definition: Longitude.cpp:289
Isis::LunarAzimuthalEqualArea
Modified Lambert Azimuthal Equal-Area Map Projection.
Definition: LunarAzimuthalEqualArea.h:45
Isis::LunarAzimuthalEqualArea::~LunarAzimuthalEqualArea
~LunarAzimuthalEqualArea()
Destroys the LunarAzimuthalEqualArea object.
Definition: LunarAzimuthalEqualArea.cpp:47
Isis::Longitude::setPositiveEast
void setPositiveEast(double longitude, Angle::Units units=Angle::Radians)
Set the longitude given a value in the PositiveEast longitude system.
Definition: Longitude.cpp:199
Isis::Projection::m_mappingGrp
PvlGroup m_mappingGrp
Mapping group that created this projection.
Definition: Projection.h:329
Isis::Longitude
This class is designed to encapsulate the concept of a Longitude.
Definition: Longitude.h:40
Isis::PvlObject::Traverse
@ Traverse
Search child objects.
Definition: PvlObject.h:158
Isis::Projection::m_minimumX
double m_minimumX
The data elements m_minimumX, m_minimumY, m_maximumX, and m_maximumY are convience data elements when...
Definition: Projection.h:317
Isis::PvlGroup
Contains multiple PvlContainers.
Definition: PvlGroup.h:41
Isis::LunarAzimuthalEqualArea::operator==
bool operator==(const TProjection &proj)
Compares two Projection objects to see if they are equal.
Definition: LunarAzimuthalEqualArea.cpp:58
Pvl.h
LunarAzimuthalEqualAreaPlugin
Isis::TProjection * LunarAzimuthalEqualAreaPlugin(Isis::Pvl &lab, bool allowDefaults)
This is the function that is called in order to instantiate a LunarAzimuthalEqualArea object.
Definition: LunarAzimuthalEqualArea.cpp:299
_FILEINFO_
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
Isis::Projection::m_good
bool m_good
Indicates if the contents of m_x, m_y, m_latitude, and m_longitude are valid.
Definition: Projection.h:300
Isis::TProjection
Base class for Map TProjections.
Definition: TProjection.h:166
Isis::Longitude::setPositiveWest
void setPositiveWest(double longitude, Angle::Units units=Angle::Radians)
Set the longitude given a value in the PositiveWest longitude system.
Definition: Longitude.cpp:210
Isis::LunarAzimuthalEqualArea::Version
QString Version() const
Returns the version of the map projection.
Definition: LunarAzimuthalEqualArea.cpp:85
Isis::LunarAzimuthalEqualArea::SetCoordinate
bool SetCoordinate(const double x, const double y)
This method is used to set the projection x/y.
Definition: LunarAzimuthalEqualArea.cpp:162
Isis::IException
Isis exception class.
Definition: IException.h:91
TProjection.h
Isis::Null
const double Null
Value for an Isis Null pixel.
Definition: SpecialPixel.h:95
Isis::Projection::SetComputedXY
void SetComputedXY(double x, double y)
This protected method is a helper for derived classes.
Definition: Projection.cpp:780
IException.h
std
Namespace for the standard library.
Isis::TProjection::m_maximumLongitude
double m_maximumLongitude
Contains the maximum longitude for the entire ground range.
Definition: TProjection.h:360
Isis::LunarAzimuthalEqualArea::LunarAzimuthalEqualArea
LunarAzimuthalEqualArea(Pvl &label)
Constructs a LunarAzimuthalEqualArea object.
Definition: LunarAzimuthalEqualArea.cpp:30
TEST
TEST(Longitude, DefaultConstructor)
Definition: LongitudeTests.cpp:16
Isis::TProjection::ToPlanetographic
double ToPlanetographic(const double lat) const
This method converts a planetocentric latitude to a planetographic latitude.
Definition: TProjection.cpp:463
Isis::E
const double E
Sets some basic constants for use in ISIS programming.
Definition: Constants.h:39
Isis::Angle::degrees
double degrees() const
Get the angle in units of Degrees.
Definition: Angle.h:232
Isis::TProjection::Mapping
virtual PvlGroup Mapping()
This function returns the keywords that this projection uses.
Definition: TProjection.cpp:1698
Isis::TProjection::m_equatorialRadius
double m_equatorialRadius
Polar radius of the target.
Definition: TProjection.h:335
Isis::Longitude::PositiveWest
@ PositiveWest
As the longitude increases the actual position is more west.
Definition: Longitude.h:50
Constants.h
Isis::TProjection::IsPlanetocentric
bool IsPlanetocentric() const
This indicates if the latitude type is planetocentric (as opposed to planetographic).
Definition: TProjection.cpp:392
Isis::Projection::m_maximumY
double m_maximumY
See minimumX description.
Definition: Projection.h:328
Isis::Projection::m_maximumX
double m_maximumX
See minimumX description.
Definition: Projection.h:326
Isis::Longitude::force360Domain
Longitude force360Domain() const
This returns a longitude that is constricted to 0-360 degrees.
Definition: Longitude.cpp:267
Isis::Angle::Radians
@ Radians
Radians are generally used in mathematical equations, 0-2*PI is one circle, however these are more di...
Definition: Angle.h:63
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::Longitude::inRange
bool inRange(Longitude min, Longitude max) const
Checks if this longitude value is within the given range.
Definition: Longitude.cpp:319
Isis::LunarAzimuthalEqualArea::XYRange
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: LunarAzimuthalEqualArea.cpp:242