55 RingCylindrical::RingCylindrical(
Pvl &label,
bool allowDefaults) :
62 if ((allowDefaults) && (!mapGroup.
hasKeyword(
"CenterRingLongitude"))) {
69 if ((allowDefaults) && (!mapGroup.
hasKeyword(
"CenterRingRadius"))) {
90 string message =
"Invalid label group [Mapping]";
108 if (!Projection::operator==(proj))
return false;
123 return "RingCylindrical";
208 double ringLongitudeRadians = ringLongitude *
DEG2RAD;
212 if (ringRadius <= 0) {
228 if (ringRadius ==0) {
234 double y = m_centerRingRadius - ringRadius;
372 double &minY,
double &maxY) {
434 bool allowDefaults) {
double GetX() const
Calculates the unrotated form of current x value.
PvlGroupIterator findGroup(const QString &name, PvlGroupIterator beg, PvlGroupIterator end)
Find a group with the specified name, within these indexes.
double m_maximumRingLongitude
Contains the maximum longitude for the entire ground range.
bool HasGroundRange() const
This indicates if the longitude direction type is positive west (as opposed to postive east)...
double m_centerRingLongitude
The center ring longitude (azimuth) for the map projection, in radians.
const double DEG2RAD(0.017453292519943295769237)
Multiplier for converting from degrees to radians.
virtual PvlGroup MappingRingLongitudes()
This function returns the ring longitude keywords that this projection uses.
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...
Ring Cylindrical Map Projection.
double m_minimumX
The data elements m_minimumX, m_minimumY, m_maximumX, and m_maximumY are convience data elements when...
bool operator==(const Projection &proj)
Compares two Projection objects to see if they are equal.
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
double CenterRingLongitude() const
Returns the center longitude, in degrees.
A type of error that occurred when performing an actual I/O operation.
void SetComputedXY(double x, double y)
This protected method is a helper for derived classes.
virtual PvlGroup Mapping()
This method is used to find the XY range for oblique aspect projections (non-polar projections) by "w...
double m_maximumY
See minimumX description.
bool SetGround(const double ringRadius, const double ringLongitude)
This method is used to set the radius/longitude (assumed to be of the correct RingLongitudeDirection...
double CenterRingRadius() const
Returns the center radius, in meters.
Base class for Map Projections.
double m_minimumY
See minimumX description.
RingLongitudeDirection m_ringLongitudeDirection
An enumerated type indicating the LongitudeDirection read from the labels.
~RingCylindrical()
Destroys the RingCylindrical object.
bool SetCoordinate(const double x, const double y)
This method is used to set the projection x/y.
Contains multiple PvlContainers.
Isis::Projection * RingCylindricalPlugin(Isis::Pvl &lab, bool allowDefaults)
This is the function that is called in order to instantiate a RingCylindrical object.
#define _FILEINFO_
Macro for the filename and line number.
A single keyword-value pair.
QString Name() const
Returns the name of the map projection, "RingCylindrical".
Container for cube-like labels.
double TrueScaleRingRadius() const
Returns the center radius, in meters.
double m_ringLongitude
This contain a ring longitude value.
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.
double m_ringRadius
This contain a ring radius value in m.
void XYRangeCheck(const double ringRadius, const double ringLongitude)
This convience function is established to assist in the development of the XYRange virtual method...
Ring longitude values increase in the clockwise direction.
Base class for Map Projections of plane shapes.
bool IsEquatorialCylindrical()
This method returns true if the projection is equatorial cylindrical.
double m_maximumRingRadius
Contains the maximum ring radius for the entire ground range.
double m_centerRingRadius
The center ring radius for the map projection.
double GetY() const
Calculates the unrotated form of the current y value.
PvlGroup MappingRingLongitudes()
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.
const double RAD2DEG(57.29577951308232087679815481)
Multiplier for converting from radians to degrees.
PvlGroup MappingRingRadii()
This function returns the radii keywords that this projection uses.
double m_maximumX
See minimumX description.
bool hasKeyword(const QString &name) const
Check to see if a keyword exists.
double m_minimumRingLongitude
Contains the minimum longitude for the entire ground range.
QString Version() const
Returns the version of the map projection.
virtual PvlGroup MappingRingRadii()
This function returns the ring radius keywords that this projection uses.
double PixelResolution() const
Returns the pixel resolution value from the PVL mapping group in meters/pixel.
PvlGroup m_mappingGrp
Mapping group that created this projection.
double m_minimumRingRadius
Contains the minimum ring radius for the entire ground range.