|
Isis Developer Reference
|
Go to the documentation of this file.
186 virtual QString
Name()
const = 0;
221 virtual bool SetGround(
const double lat,
const double lon) = 0;
235 virtual bool SetWorld(
const double x,
const double y);
238 virtual double WorldX()
const;
239 virtual double WorldY()
const;
242 double ToWorldX(
const double projectionX)
const;
243 double ToWorldY(
const double projectionY)
const;
254 virtual bool XYRange(
double &minX,
double &maxX,
255 double &minY,
double &maxY) = 0;
264 static double ToHours(
double angle);
265 static QString
ToDMS(
double angle);
266 static QString
ToHMS(
double angle);
269 virtual void XYRangeCheck(
const double latitude,
const double longitude) = 0;
272 void SetXY(
double x,
double y);
344 double m_pixelResolution;
virtual bool SetGround(const double lat, const double lon)=0
virtual double WorldX(const double projectionX) const =0
This pure virtual method will return a world X coordinate given a projection Y coordinate in meters.
bool m_sky
Indicates whether projection is sky or land.
Definition: Projection.h:310
PvlGroupIterator findGroup(const QString &name, PvlGroupIterator beg, PvlGroupIterator end)
Find a group with the specified name, within these indexes.
Definition: PvlObject.h:129
WorldMapper * m_mapper
This points to a mapper passed into the SetWorldMapper method.
Definition: Projection.h:292
virtual QString Version() const =0
This method returns the Version of the map projection.
const double PI
The mathematical constant PI.
Definition: Constants.h:40
A single keyword-value pair.
Definition: PvlKeyword.h:82
double Resolution() const
This method returns the resolution for mapping world coordinates into projection coordinates.
Definition: Projection.cpp:675
Projection(Pvl &label)
Constructs an empty Projection object.
Definition: Projection.cpp:91
void SetUpperLeftCorner(const Displacement &x, const Displacement &y)
This method searches for extreme (min/max/discontinuity) coordinate values along the constBorder line...
Definition: Projection.cpp:1373
virtual double ProjectionX(const double worldX) const =0
This pure virtual method will return a projection X coordinate in meters given a world X coordinate.
double Rotation() const
Returns the value of the Rotation keyword from the mapping group.
Definition: Projection.cpp:359
void addKeyword(const PvlKeyword &keyword, const InsertMode mode=Append)
Add a keyword to the container.
Definition: PvlContainer.cpp:202
double PixelResolution() const
Returns the pixel resolution value from the PVL mapping group in meters/pixel.
Definition: Projection.cpp:840
@ Unknown
A type of error that cannot be classified as any of the other error types.
Definition: IException.h:118
double m_minimumY
See minimumX description.
Definition: Projection.h:327
double GetX() const
Calculates the unrotated form of current x value.
Definition: Projection.cpp:818
double ToProjectionY(const double worldY) const
This method converts a world y value to a projection y value.
Definition: Projection.cpp:650
virtual QString Name() const =0
This method returns the name of the map projection.
ProjectionType projectionType() const
Returns an enum value for the projection type.
Definition: Projection.cpp:198
bool hasKeyword(const QString &name) const
Check to see if a keyword exists.
Definition: PvlContainer.cpp:159
Container for cube-like labels.
Definition: Pvl.h:119
void SetXY(double x, double y)
This protected method is a helper for derived classes.
Definition: Projection.cpp:804
void SetWorldMapper(WorldMapper *mapper)
If desired the programmer can use this method to set a world mapper to be used in the SetWorld,...
Definition: Projection.cpp:474
virtual double Resolution() const
This virtual method will the resolution of the world system relative to one unit in the projection sy...
Definition: WorldMapper.h:100
virtual bool SetUniversalGround(const double coord1, const double coord2)
This method is used to set the lat/lon or radius/azimuth (i.e.
Definition: Projection.cpp:417
virtual double WorldY(const double projectionY) const =0
This pure virtual method will return a world Y coordinate given a projection Y coordinate in meters.
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
Definition: IString.cpp:211
PvlGroup m_mappingGrp
Mapping group that created this projection.
Definition: Projection.h:329
bool operator!=(const Projection &proj)
This method determines whether two map projection objects are not equal.
Definition: Projection.cpp:178
double GetY() const
Calculates the unrotated form of the current y value.
Definition: Projection.cpp:829
void setProjectionType(const ProjectionType ptype)
Sets the projection subclass type.
Definition: Projection.cpp:188
virtual double ProjectionY(const double worldY) const =0
This pure virtual method will return a projection Y coordinate in meters given a world Y coordinate.
@ Traverse
Search child objects.
Definition: PvlObject.h:158
Displacement is a signed length, usually in meters.
Definition: Displacement.h:31
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 double WorldY() const
This returns the world Y coordinate provided SetGround, SetCoordinate, SetUniversalGround,...
Definition: Projection.cpp:544
bool IsGood() const
This indicates if the last invocation of SetGround, SetCoordinate, SetUniversalGround,...
Definition: Projection.cpp:374
Base class for Map Projections of plane shapes.
Definition: RingPlaneProjection.h:147
double meters() const
Get the displacement in meters.
Definition: Displacement.cpp:73
double m_minimumX
The data elements m_minimumX, m_minimumY, m_maximumX, and m_maximumY are convience data elements when...
Definition: Projection.h:317
virtual bool IsEquatorialCylindrical()
This method returns true if the projection is equatorial cylindrical.
Definition: Projection.cpp:222
Contains multiple PvlContainers.
Definition: PvlGroup.h:41
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
virtual bool XYRange(double &minX, double &maxX, double &minY, double &maxY)=0
virtual void XYRangeCheck(const double latitude, const double longitude)=0
bool m_good
Indicates if the contents of m_x, m_y, m_latitude, and m_longitude are valid.
Definition: Projection.h:300
Base class for Map TProjections.
Definition: TProjection.h:166
bool SetUnboundUniversalGround(const double coord1, const double coord2)
This method is used to set the latitude/longitude.
Definition: TProjection.cpp:879
virtual PvlGroup Mapping()=0
virtual double LocalRadius() const =0
Create a mapping between a projection and other coordinate system.
Definition: WorldMapper.h:38
double ToWorldY(const double projectionY) const
This method converts a projection y value to a world y value.
Definition: Projection.cpp:594
@ RingPlane
These projections are used to map ring planes.
Definition: Projection.h:168
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...
Definition: RingPlaneProjection.cpp:546
virtual double WorldX() const
This returns the world X coordinate provided SetGround, SetCoordinate, SetUniversalGround,...
Definition: Projection.cpp:524
Isis exception class.
Definition: IException.h:91
virtual bool SetWorld(const double x, const double y)
This method is used to set a world coordinate.
Definition: Projection.cpp:497
bool m_groundRangeGood
Indicates if the ground range (min/max lat/lons) were read from the labels.
Definition: Projection.h:313
const double Null
Value for an Isis Null pixel.
Definition: SpecialPixel.h:95
virtual bool operator==(const Projection &proj)
This method determines whether two map projection objects are equal by comparing the resolution,...
Definition: Projection.cpp:162
void SetComputedXY(double x, double y)
This protected method is a helper for derived classes.
Definition: Projection.cpp:780
Namespace for the standard library.
@ Replace
Definition: PvlContainer.h:95
double ToWorldX(const double projectionX) const
This method converts a projection x value to a world x value.
Definition: Projection.cpp:566
double ToProjectionX(const double worldX) const
This method converts a world x value to a projection x value.
Definition: Projection.cpp:622
virtual ~Projection()
Destroys the Projection object.
Definition: Projection.cpp:148
virtual double Scale() const =0
static QString ToDMS(double angle)
Converts the given angle (in degrees) to degrees, minutes, seconds.
Definition: Projection.cpp:706
@ Triaxial
These projections are used to map triaxial and irregular-shaped bodies.
Definition: Projection.h:166
bool IsSky() const
Returns true if projection is sky and false if it is land.
Definition: Projection.cpp:208
Adds specific functionality to C++ strings.
Definition: IString.h:165
static double ToHours(double angle)
Converts the given angle (in degrees) to hours by using the ratio 15 degrees per hour.
Definition: Projection.cpp:693
double YCoord() const
This returns the projection Y provided SetGround, SetCoordinate, SetUniversalGround,...
Definition: Projection.cpp:400
double m_maximumY
See minimumX description.
Definition: Projection.h:328
Base class for Map Projections.
Definition: Projection.h:155
double m_maximumX
See minimumX description.
Definition: Projection.h:326
static QString ToHMS(double angle)
Converts the given angle (in degrees) to hours, minutes, seconds.
Definition: Projection.cpp:741
ProjectionType
This enum defines the subclasses of Projection supported in Isis.
Definition: Projection.h:166
double XCoord() const
This returns the projection X provided SetGround, SetCoordinate, SetUniversalGround,...
Definition: Projection.cpp:387
virtual bool HasGroundRange() const
This indicates if the longitude direction type is positive west (as opposed to postive east).
Definition: Projection.cpp:349
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
virtual bool SetUnboundUniversalGround(const double coord1, const double coord2)
This method is used to set the lat/lon or radius/azimuth (i.e.
Definition: Projection.cpp:446
virtual bool SetCoordinate(const double x, const double y)=0