Isis Developer Reference
|
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. More... | |
~UniversalGroundMap () | |
Destroys the UniversalGroundMap object. More... | |
void | SetBand (const int band) |
Set the image band number. More... | |
bool | SetUniversalGround (double lat, double lon) |
Returns whether the lat/lon position was set successfully in the camera model or projection. More... | |
bool | SetUnboundGround (Latitude lat, Longitude lon) |
Returns whether the lat/lon position was set successfully in the camera model or projection. More... | |
bool | SetGround (Latitude lat, Longitude lon) |
Returns whether the lat/lon position was set successfully in the camera model or projection. More... | |
bool | SetGround (const SurfacePoint &) |
Returns whether the SurfacePoint was set successfully in the camera model or projection. More... | |
double | Sample () const |
Returns the current line value of the camera model or projection. More... | |
double | Line () const |
Returns the current line value of the camera model or projection. More... | |
bool | SetImage (double sample, double line) |
Returns whether the sample/line postion was set successfully in the camera model or projection. More... | |
double | UniversalLatitude () const |
Returns the universal latitude of the camera model or projection. More... | |
double | UniversalLongitude () const |
Returns the universal longitude of the camera model or projection. More... | |
double | Resolution () const |
Returns the resolution of the camera model or projection. More... | |
bool | GroundRange (Cube *cube, Latitude &minLat, Latitude &maxLat, Longitude &minLon, Longitude &maxLon, bool allowEstimation=true) |
Find the lat/lon range of the image. More... | |
bool | HasProjection () |
Returns whether the ground map has a projection or not. More... | |
bool | HasCamera () |
Returns whether the ground map has a camera or not. More... | |
Isis::Projection * | Projection () const |
Return the projection associated with the ground map (NULL implies none) More... | |
Isis::Camera * | Camera () const |
Return the camera associated with the ground map (NULL implies none) More... | |
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)
Referenced by Isis::ImagePolygon::Create(), Isis::CubeViewport::CubeViewport(), and Isis::ImagePolygon::initCube().
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, Isis::Camera::GroundRange(), HasCamera(), Isis::PvlContainer::hasKeyword(), HasProjection(), Isis::Angle::isValid(), Isis::Cube::lineCount(), Isis::PolygonTools::MakeMultiPolygon(), Isis::Projection::Mapping(), Isis::ShapeModel::name(), Isis::ImagePolygon::Polys(), Isis::Projection::projectionType(), Isis::Cube::readFootprint(), Isis::Projection::RingPlane, Isis::Cube::sampleCount(), Isis::Projection::SetWorld(), Isis::Target::shape(), Isis::Spice::target(), 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.
References Isis::Camera::Line(), and Isis::Projection::WorldY().
Referenced by Isis::StereoTool::createPoint(), Isis::PolygonTools::LatLonToSampleLine(), Isis::FindTool::paintViewport(), and Isis::FindTool::updateTool().
|
inline |
Return the projection associated with the ground map (NULL implies none)
Referenced by Isis::CubeViewport::CubeViewport().
double Isis::UniversalGroundMap::Resolution | ( | ) | const |
Returns the resolution of the camera model or projection.
References Isis::Camera::PixelResolution(), and Isis::Projection::Resolution().
double Isis::UniversalGroundMap::Sample | ( | ) | const |
Returns the current line value of the camera model or projection.
References Isis::Camera::Sample(), and Isis::Projection::WorldX().
Referenced by Isis::StereoTool::createPoint(), 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 |
References Isis::Camera::SetBand().
Referenced by Isis::ImagePolygon::initCube().
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(), Isis::SurfacePoint::GetLongitude(), Isis::Camera::InCube(), Isis::Camera::SetGround(), and Isis::Projection::SetUniversalGround().
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(), Isis::Camera::InCube(), Isis::Camera::SetGround(), and Isis::Projection::SetUniversalGround().
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 |
References Isis::Camera::SetImage(), and Isis::Projection::SetWorld().
Referenced by Isis::ControlNetTool::mouseButtonRelease(), Isis::FindTool::mouseButtonRelease(), Isis::QnetTool::mouseButtonRelease(), Isis::InterestOperator::Operate(), Isis::StereoTool::rubberBandComplete(), 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(), Isis::Camera::InCube(), Isis::Camera::SetGround(), and Isis::Projection::SetUnboundUniversalGround().
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 |
References Isis::Camera::InCube(), Isis::Projection::SetUniversalGround(), and Isis::Camera::SetUniversalGround().
Referenced by Isis::StereoTool::createPoint(), 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::Projection::projectionType(), Isis::RingPlaneProjection::RingRadius(), Isis::Projection::Triaxial, Isis::TProjection::UniversalLatitude(), and Isis::Sensor::UniversalLatitude().
Referenced by Isis::ControlNetTool::mouseButtonRelease(), Isis::FindTool::mouseButtonRelease(), Isis::QnetTool::mouseButtonRelease(), Isis::StereoTool::rubberBandComplete(), and Isis::FindTool::updateTool().
double Isis::UniversalGroundMap::UniversalLongitude | ( | ) | const |
Returns the universal longitude of the camera model or projection.
References Isis::Projection::projectionType(), Isis::RingPlaneProjection::RingLongitude(), Isis::Projection::Triaxial, Isis::TProjection::UniversalLongitude(), and Isis::Sensor::UniversalLongitude().
Referenced by Isis::ControlNetTool::mouseButtonRelease(), Isis::FindTool::mouseButtonRelease(), Isis::QnetTool::mouseButtonRelease(), Isis::StereoTool::rubberBandComplete(), and Isis::FindTool::updateTool().