Universal Ground Map. More...
#include <UniversalGroundMap.h>

| Public Types | |
| enum | CameraPriority { CameraFirst , ProjectionFirst } | 
| This enum is used to define whether to use a camera or projection primarily, and which to fall back on.  More... | |
| Public Member Functions | |
| UniversalGroundMap (Cube &cube, CameraPriority priority=CameraFirst) | |
| Constructs a UniversalGroundMap object from a cube. | |
| ~UniversalGroundMap () | |
| Destroys the UniversalGroundMap object. | |
| void | SetBand (const int band) | 
| Set the image band number. | |
| bool | SetUniversalGround (double lat, double lon) | 
| Returns whether the lat/lon position was set successfully in the camera model or projection. | |
| bool | SetUnboundGround (Latitude lat, Longitude lon) | 
| Returns whether the lat/lon position was set successfully in the camera model or projection. | |
| bool | SetGround (Latitude lat, Longitude lon) | 
| Returns whether the lat/lon position was set successfully in the camera model or projection. | |
| bool | SetGround (const SurfacePoint &) | 
| Returns whether the SurfacePoint was set successfully in the camera model or projection. | |
| double | Sample () const | 
| Returns the current line value of the camera model or projection. | |
| double | Line () const | 
| Returns the current line value of the camera model or projection. | |
| bool | SetImage (double sample, double line) | 
| Returns whether the sample/line postion was set successfully in the camera model or projection. | |
| double | UniversalLatitude () const | 
| Returns the universal latitude of the camera model or projection. | |
| double | UniversalLongitude () const | 
| Returns the universal longitude of the camera model or projection. | |
| double | Resolution () const | 
| Returns the resolution of the camera model or projection. | |
| bool | GroundRange (Cube *cube, Latitude &minLat, Latitude &maxLat, Longitude &minLon, Longitude &maxLon, bool allowEstimation=true) | 
| Find the lat/lon range of the image. | |
| bool | HasProjection () | 
| Returns whether the ground map has a projection or not. | |
| bool | HasCamera () | 
| Returns whether the ground map has a camera or not. | |
| Isis::Projection * | Projection () const | 
| Return the projection associated with the ground map (NULL implies none) | |
| Isis::Camera * | Camera () const | 
| Return the camera associated with the ground map (NULL implies none) | |
Universal Ground Map.
???
This enum is used to define whether to use a camera or projection primarily, and which to fall back on.
| Isis::UniversalGroundMap::UniversalGroundMap | ( | Cube & | cube, | 
| CameraPriority | priority = CameraFirst ) | 
Constructs a UniversalGroundMap object from a cube.
| cube | The Cube to create the UniversalGroundMap from | 
| priority | Try to make a camera or projection first | 
References _FILEINFO_, Isis::IException::append(), CameraFirst, Isis::CameraFactory::Create(), Isis::ProjectionFactory::CreateFromCube(), Isis::Cube::fileName(), Isis::Cube::label(), and Isis::IException::Unknown.
| Isis::UniversalGroundMap::~UniversalGroundMap | ( | ) | 
Destroys the UniversalGroundMap object.
| 
 | inline | 
Return the camera associated with the ground map (NULL implies none)
| bool Isis::UniversalGroundMap::GroundRange | ( | Cube * | cube, | 
| Latitude & | minLat, | ||
| Latitude & | maxLat, | ||
| Longitude & | minLon, | ||
| Longitude & | maxLon, | ||
| bool | allowEstimation = true ) | 
Find the lat/lon range of the image.
This will use the image footprint, camera, or projection in order to find a good result.
| Cube* | This is required for estimation. You can pass in NULL (it will disable estimation). | 
| minLat | This is an output: minimum latitude | 
| maxLat | This is an output: maximum latitude | 
| minLon | This is an output: minimum longitude | 
| maxLon | This is an output: maximum longitude | 
| allowEstimation | If this is true then extra efforts will be made to guess the ground range of the input. This can still fail. | 
References Isis::Angle::Degrees, HasCamera(), Isis::PvlContainer::hasKeyword(), HasProjection(), Isis::Angle::isValid(), Isis::Cube::lineCount(), Isis::PolygonTools::MakeMultiPolygon(), Isis::ImagePolygon::Polys(), Isis::Cube::readFootprint(), Isis::Projection::RingPlane, Isis::Cube::sampleCount(), Isis::Projection::SetWorld(), Isis::TProjection::UniversalLatitude(), and Isis::TProjection::UniversalLongitude().
| 
 | inline | 
Returns whether the ground map has a camera or not.
Referenced by GroundRange(), and Isis::InterestOperator::Operate().
| 
 | inline | 
Returns whether the ground map has a projection or not.
Referenced by GroundRange().
| double Isis::UniversalGroundMap::Line | ( | ) | const | 
Returns the current line value of the camera model or projection.
Referenced by Isis::PolygonTools::LatLonToSampleLine(), Isis::FindTool::paintViewport(), and Isis::FindTool::updateTool().
| 
 | inline | 
Return the projection associated with the ground map (NULL implies none)
| double Isis::UniversalGroundMap::Resolution | ( | ) | const | 
Returns the resolution of the camera model or projection.
| double Isis::UniversalGroundMap::Sample | ( | ) | const | 
Returns the current line value of the camera model or projection.
Referenced by Isis::PolygonTools::LatLonToSampleLine(), Isis::FindTool::paintViewport(), and Isis::FindTool::updateTool().
| void Isis::UniversalGroundMap::SetBand | ( | const int | band | ) | 
Set the image band number.
| [in] | band | (int) Image band number | 
| bool Isis::UniversalGroundMap::SetGround | ( | const SurfacePoint & | sp | ) | 
Returns whether the SurfacePoint was set successfully in the camera model or projection.
| sp | The Surface Point to set ground with | 
References Isis::Angle::degrees(), Isis::SurfacePoint::GetLatitude(), and Isis::SurfacePoint::GetLongitude().
Returns whether the lat/lon position was set successfully in the camera model or projection.
| lat | The universal latitude or ring radius for ring planes | 
| lon | The universal longitude or ring longitude (azimuth) for ring planes | 
References Isis::Angle::degrees().
| bool Isis::UniversalGroundMap::SetImage | ( | double | sample, | 
| double | line ) | 
Returns whether the sample/line postion was set successfully in the camera model or projection.
| sample | The sample position | 
| line | The line position | 
Referenced by Isis::ControlNetTool::mouseButtonRelease(), Isis::FindTool::mouseButtonRelease(), Isis::QnetTool::mouseButtonRelease(), Isis::InterestOperator::Operate(), and Isis::FindTool::updateTool().
Returns whether the lat/lon position was set successfully in the camera model or projection.
This will not adjust the longitude based on the longitude domain.
| lat | The universal latitude or ring radius for ring planes | 
| lon | The universal longitude or ring longitude (azimuth) for ring planes | 
References Isis::Angle::degrees().
| bool Isis::UniversalGroundMap::SetUniversalGround | ( | double | lat, | 
| double | lon ) | 
Returns whether the lat/lon position was set successfully in the camera model or projection.
| lat | The universal latitude or ring radius for ring planes | 
| lon | The universal longitude or ring longitude (azimuth) for ring planes | 
Referenced by Isis::PolygonTools::LatLonToSampleLine(), Isis::FindTool::paintViewport(), and Isis::FindTool::updateTool().
| double Isis::UniversalGroundMap::UniversalLatitude | ( | ) | const | 
Returns the universal latitude of the camera model or projection.
References Isis::RingPlaneProjection::RingRadius(), Isis::Projection::Triaxial, and Isis::TProjection::UniversalLatitude().
Referenced by Isis::ControlNetTool::mouseButtonRelease(), Isis::FindTool::mouseButtonRelease(), Isis::QnetTool::mouseButtonRelease(), and Isis::FindTool::updateTool().
| double Isis::UniversalGroundMap::UniversalLongitude | ( | ) | const | 
Returns the universal longitude of the camera model or projection.
References Isis::RingPlaneProjection::RingLongitude(), Isis::Projection::Triaxial, and Isis::TProjection::UniversalLongitude().
Referenced by Isis::ControlNetTool::mouseButtonRelease(), Isis::FindTool::mouseButtonRelease(), Isis::QnetTool::mouseButtonRelease(), and Isis::FindTool::updateTool().