Isis 3 Programmer Reference
UniversalGroundMap.h
1 #ifndef UniversalGroundMap_h
2 #define UniversalGroundMap_h
3 
8 /* SPDX-License-Identifier: CC0-1.0 */
9 namespace Isis {
10  class Camera;
11  class Cube;
12  class Projection;
13  class Pvl;
14  class SurfacePoint;
15  class Latitude;
16  class Longitude;
17 
70  public:
86  };
87 
90 
91  void SetBand(const int band);
92  bool SetUniversalGround(double lat, double lon);
93  bool SetUnboundGround(Latitude lat, Longitude lon);
94  bool SetGround(Latitude lat, Longitude lon);
95  bool SetGround(const SurfacePoint &);
96  double Sample() const;
97  double Line() const;
98 
99  bool SetImage(double sample, double line);
100  double UniversalLatitude() const;
101  double UniversalLongitude() const;
102  double Resolution() const;
103 
104  bool GroundRange(Cube *cube,
105  Latitude &minLat, Latitude &maxLat,
106  Longitude &minLon, Longitude &maxLon,
107  bool allowEstimation = true);
108 
115  bool HasProjection() {
116  return p_projection != 0;
117  };
118 
119 
126  bool HasCamera() {
127  return p_camera != 0;
128  };
129 
132  return p_projection;
133  };
134 
136  Isis::Camera *Camera() const {
137  return p_camera;
138  };
139 
140 
141  private:
144  };
145 };
146 
147 #endif
Isis::UniversalGroundMap::ProjectionFirst
@ ProjectionFirst
Use the projection for functionality well outside the original image if available,...
Definition: UniversalGroundMap.h:85
Isis::UniversalGroundMap
Universal Ground Map.
Definition: UniversalGroundMap.h:69
Isis::UniversalGroundMap::Sample
double Sample() const
Returns the current line value of the camera model or projection.
Definition: UniversalGroundMap.cpp:200
Isis::UniversalGroundMap::UniversalLatitude
double UniversalLatitude() const
Returns the universal latitude of the camera model or projection.
Definition: UniversalGroundMap.cpp:247
Isis::UniversalGroundMap::~UniversalGroundMap
~UniversalGroundMap()
Destroys the UniversalGroundMap object.
Definition: UniversalGroundMap.cpp:80
Isis::Latitude
This class is designed to encapsulate the concept of a Latitude.
Definition: Latitude.h:51
Isis::UniversalGroundMap::SetGround
bool SetGround(Latitude lat, Longitude lon)
Returns whether the lat/lon position was set successfully in the camera model or projection.
Definition: UniversalGroundMap.cpp:127
Isis::UniversalGroundMap::Camera
Isis::Camera * Camera() const
Return the camera associated with the ground map (NULL implies none)
Definition: UniversalGroundMap.h:136
Isis::Camera
Definition: Camera.h:236
Isis::UniversalGroundMap::p_projection
Isis::Projection * p_projection
The projection (if the image is projected)
Definition: UniversalGroundMap.h:143
Isis::Longitude
This class is designed to encapsulate the concept of a Longitude.
Definition: Longitude.h:40
Isis::UniversalGroundMap::HasCamera
bool HasCamera()
Returns whether the ground map has a camera or not.
Definition: UniversalGroundMap.h:126
Isis::UniversalGroundMap::CameraFirst
@ CameraFirst
This is the default because cameras are projection-aware.
Definition: UniversalGroundMap.h:80
Isis::UniversalGroundMap::HasProjection
bool HasProjection()
Returns whether the ground map has a projection or not.
Definition: UniversalGroundMap.h:115
Isis::Cube
IO Handler for Isis Cubes.
Definition: Cube.h:167
Isis::UniversalGroundMap::CameraPriority
CameraPriority
This enum is used to define whether to use a camera or projection primarily, and which to fall back o...
Definition: UniversalGroundMap.h:75
Isis::UniversalGroundMap::UniversalGroundMap
UniversalGroundMap(Cube &cube, CameraPriority priority=CameraFirst)
Constructs a UniversalGroundMap object from a cube.
Definition: UniversalGroundMap.cpp:33
Isis::UniversalGroundMap::Projection
Isis::Projection * Projection() const
Return the projection associated with the ground map (NULL implies none)
Definition: UniversalGroundMap.h:131
Isis::UniversalGroundMap::Resolution
double Resolution() const
Returns the resolution of the camera model or projection.
Definition: UniversalGroundMap.cpp:294
Isis::UniversalGroundMap::SetUnboundGround
bool SetUnboundGround(Latitude lat, Longitude lon)
Returns whether the lat/lon position was set successfully in the camera model or projection.
Definition: UniversalGroundMap.cpp:154
Isis::UniversalGroundMap::SetUniversalGround
bool SetUniversalGround(double lat, double lon)
Returns whether the lat/lon position was set successfully in the camera model or projection.
Definition: UniversalGroundMap.cpp:102
Isis::UniversalGroundMap::SetImage
bool SetImage(double sample, double line)
Returns whether the sample/line postion was set successfully in the camera model or projection.
Definition: UniversalGroundMap.cpp:233
Isis::UniversalGroundMap::GroundRange
bool GroundRange(Cube *cube, Latitude &minLat, Latitude &maxLat, Longitude &minLon, Longitude &maxLon, bool allowEstimation=true)
Find the lat/lon range of the image.
Definition: UniversalGroundMap.cpp:320
Isis::Projection
Base class for Map Projections.
Definition: Projection.h:155
Isis::UniversalGroundMap::Line
double Line() const
Returns the current line value of the camera model or projection.
Definition: UniversalGroundMap.cpp:214
Isis::SurfacePoint
This class defines a body-fixed surface point.
Definition: SurfacePoint.h:132
Isis::UniversalGroundMap::p_camera
Isis::Camera * p_camera
The camera (if the image has a camera)
Definition: UniversalGroundMap.h:138
Isis::UniversalGroundMap::UniversalLongitude
double UniversalLongitude() const
Returns the universal longitude of the camera model or projection.
Definition: UniversalGroundMap.cpp:270
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::UniversalGroundMap::SetBand
void SetBand(const int band)
Set the image band number.
Definition: UniversalGroundMap.cpp:72