|
Isis 3 Programmer Reference
|
1 #ifndef RingPlaneProjection_h
2 #define RingPlaneProjection_h
12 #include "Projection.h"
164 virtual QString
Name()
const = 0;
202 virtual bool SetGround(
const double ringRadius,
const double ringLongitude);
223 double Scale()
const;
226 virtual bool XYRange(
double &minX,
double &maxX,
227 double &minY,
double &maxY);
235 static double ToClockwise(
const double ringLongitude,
const int domain);
243 void XYRangeCheck(
const double ringRadius,
const double ringLongitude);
@ CounterClockwise
Ring longitude values increase in the counterclockwise direction.
virtual bool SetGround(const double ringRadius, const double ringLongitude)
This method is used to set the ring radius/longitude (assumed to be of the correct LatitudeType,...
bool Has360Domain() const
This indicates if the ring longitude domain is 0 to 360 (as opposed to -180 to 180).
double m_maximumRingLongitude
Contains the maximum longitude for the entire ground range.
double UniversalRingLongitude()
This returns a universal ring longitude (clockwise in 0 to 360 domain).
double MinimumRingRadius() const
This returns the minimum radius of the area of interest.
virtual QString Version() const =0
This method returns the Version of the map projection.
virtual PvlGroup Mapping()
This method is used to find the XY range for oblique aspect projections (non-polar projections) by "w...
static double To360Domain(const double lon)
This method converts an ring longitude into the 0 to 360 domain.
double RingLongitude() const
This returns a ring longitude with correct ring longitude direction and domain as specified in the la...
double LocalRadius() const
This returns a local radius.
Container for cube-like labels.
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...
bool Has180Domain() const
This indicates if the longitude domain is -180 to 180 (as opposed to 0 to 360).
double m_maximumRingRadius
Contains the maximum ring radius for the entire ground range.
virtual bool SetCoordinate(const double x, const double y)
This method is used to set the projection x/y.
double m_ringRadius
This contain a ring radius value in m.
virtual QString Name() const =0
This method returns the name of the map projection.
void XYRangeCheck(const double ringRadius, const double ringLongitude)
This convience function is established to assist in the development of the XYRange virtual method.
double MaximumRingRadius() const
This returns the maximum radius of the area of interest.
std::string RingLongitudeDirectionString() const
This method returns the ring longitude direction as a string.
RingLongitudeDirection
This enum defines the types of ring longitude directions supported in this class.
virtual double TrueScaleRingRadius() const
This method returns the radius of true scale.
std::string RingLongitudeDomainString() const
This method returns the ring longitude domain as a string.
Base class for Map Projections of plane shapes.
Contains multiple PvlContainers.
RingPlaneProjection(Pvl &label)
Constructs an empty RingPlaneProjection object.
static double ToCounterClockwise(const double ringLongitude, const int domain)
This method converts an ring longitude into the counterclockwise direction.
bool IsClockwise() const
This indicates if the longitude direction type is positive west (as opposed to postive east).
double RingRadius() const
This returns a radius.
double MaximumRingLongitude() const
This returns the maximum ring longitude of the area of interest.
double MinimumRingLongitude() const
This returns the minimum ring longitude of the area of interest.
virtual PvlGroup MappingRingRadii()
This function returns the ring radius keywords that this projection uses.
double m_ringLongitude
This contain a ring longitude value.
bool SetUniversalGround(const double ringRadius, const double ringLongitude)
This method is used to set the ring radius/longitude which must be PositiveEast/Domain360 (ring longi...
RingLongitudeDirection m_ringLongitudeDirection
An enumerated type indicating the LongitudeDirection read from the labels.
bool IsCounterClockwise() const
This indicates if the longitude direction type is positive east (as opposed to postive west).
static double To180Domain(const double lon)
This method converts a ring longitude into the -180 to 180 domain.
virtual ~RingPlaneProjection()
Destroys the Projection object.
double Scale() const
This method returns the scale for mapping world coordinates into projection coordinates.
virtual bool operator==(const Projection &proj)
This method determines whether two map projection objects are equal by comparing the ring longitude d...
double m_minimumRingRadius
Contains the minimum ring radius for the entire ground range.
static double ToClockwise(const double ringLongitude, const int domain)
This method converts an ring longitude into the clockwise direction.
virtual PvlGroup MappingRingLongitudes()
This function returns the ring longitude keywords that this projection uses.
@ Clockwise
Ring longitude values increase in the clockwise direction.
double m_minimumRingLongitude
Contains the minimum longitude for the entire ground range.
int m_ringLongitudeDomain
This integer is either 180 or 360 and is read from the labels.
Base class for Map Projections.
This is free and unencumbered software released into the public domain.
double UniversalRingRadius()
This returns a universal radius, which is just the radius in meters.