Isis 3 Programmer Reference
UniversalGroundMap.h
Go to the documentation of this file.
1 #ifndef UniversalGroundMap_h
2 #define UniversalGroundMap_h
3 
25 namespace Isis {
26  class Camera;
27  class Cube;
28  class Projection;
29  class Pvl;
30  class SurfacePoint;
31  class Latitude;
32  class Longitude;
33 
86  public:
102  };
103 
106 
107  void SetBand(const int band);
108  bool SetUniversalGround(double lat, double lon);
109  bool SetUnboundGround(Latitude lat, Longitude lon);
110  bool SetGround(Latitude lat, Longitude lon);
111  bool SetGround(const SurfacePoint &);
112  double Sample() const;
113  double Line() const;
114 
115  bool SetImage(double sample, double line);
116  double UniversalLatitude() const;
117  double UniversalLongitude() const;
118  double Resolution() const;
119 
120  bool GroundRange(Cube *cube,
121  Latitude &minLat, Latitude &maxLat,
122  Longitude &minLon, Longitude &maxLon,
123  bool allowEstimation = true);
124 
131  bool HasProjection() {
132  return p_projection != 0;
133  };
134 
135 
142  bool HasCamera() {
143  return p_camera != 0;
144  };
145 
148  return p_projection;
149  };
150 
152  Isis::Camera *Camera() const {
153  return p_camera;
154  };
155 
156 
157  private:
160  };
161 };
162 
163 #endif
This class defines a body-fixed surface point.
Definition: SurfacePoint.h:148
Isis::Camera * p_camera
The camera (if the image has a camera)
double Line() const
Returns the current line value of the camera model or projection.
Universal Ground Map.
Isis::Projection * p_projection
The projection (if the image is projected)
~UniversalGroundMap()
Destroys the UniversalGroundMap object.
Use the projection for functionality well outside the original image if available, and fall back to camera.
This class is designed to encapsulate the concept of a Latitude.
Definition: Latitude.h:63
This class is designed to encapsulate the concept of a Longitude.
Definition: Longitude.h:52
Base class for Map Projections.
Definition: Projection.h:171
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.
Isis::Projection * Projection() const
Return the projection associated with the ground map (NULL implies none)
double UniversalLatitude() const
Returns the universal latitude of the camera model or projection.
CameraPriority
This enum is used to define whether to use a camera or projection primarily, and which to fall back o...
UniversalGroundMap(Cube &cube, CameraPriority priority=CameraFirst)
Constructs a UniversalGroundMap object from a cube.
bool SetImage(double sample, double line)
Returns whether the sample/line postion was set successfully in the camera model or projection...
void SetBand(const int band)
Set the image band number.
bool HasCamera()
Returns whether the ground map has a camera or not.
This is the default because cameras are projection-aware.
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
Isis::Camera * Camera() const
Return the camera associated with the ground map (NULL implies none)
bool SetUniversalGround(double lat, double lon)
Returns whether the lat/lon position was set successfully in the camera model or projection.
double Sample() const
Returns the current line value 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 HasProjection()
Returns whether the ground map has a projection or not.
bool GroundRange(Cube *cube, Latitude &minLat, Latitude &maxLat, Longitude &minLon, Longitude &maxLon, bool allowEstimation=true)
Find the lat/lon range of the image.
IO Handler for Isis Cubes.
Definition: Cube.h:170