Isis 3 Developer 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:
158  Isis::Camera *p_camera;
159  Isis::Projection *p_projection;
160  };
161 };
162 
163 #endif
This class defines a body-fixed surface point.
Definition: SurfacePoint.h:148
double Line() const
Returns the current line value of the camera model or projection.
Definition: UniversalGroundMap.cpp:208
Universal Ground Map.
Definition: UniversalGroundMap.h:85
~UniversalGroundMap()
Destroys the UniversalGroundMap object.
Definition: UniversalGroundMap.cpp:74
Use the projection for functionality well outside the original image if available, and fall back to camera.
Definition: UniversalGroundMap.h:101
This class is designed to encapsulate the concept of a Latitude.
Definition: Latitude.h:63
Definition: Camera.h:249
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.
Definition: UniversalGroundMap.cpp:148
bool SetGround(Latitude lat, Longitude lon)
Returns whether the lat/lon position was set successfully in the camera model or projection.
Definition: UniversalGroundMap.cpp:121
Isis::Projection * Projection() const
Return the projection associated with the ground map (NULL implies none)
Definition: UniversalGroundMap.h:147
double UniversalLatitude() const
Returns the universal latitude of the camera model or projection.
Definition: UniversalGroundMap.cpp:241
CameraPriority
This enum is used to define whether to use a camera or projection primarily, and which to fall back o...
Definition: UniversalGroundMap.h:91
UniversalGroundMap(Cube &cube, CameraPriority priority=CameraFirst)
Constructs a UniversalGroundMap object from a cube.
Definition: UniversalGroundMap.cpp:27
bool SetImage(double sample, double line)
Returns whether the sample/line postion was set successfully in the camera model or projection...
Definition: UniversalGroundMap.cpp:227
void SetBand(const int band)
Set the image band number.
Definition: UniversalGroundMap.cpp:66
bool HasCamera()
Returns whether the ground map has a camera or not.
Definition: UniversalGroundMap.h:142
This is the default because cameras are projection-aware.
Definition: UniversalGroundMap.h:96
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)
Definition: UniversalGroundMap.h:152
bool SetUniversalGround(double lat, double lon)
Returns whether the lat/lon position was set successfully in the camera model or projection.
Definition: UniversalGroundMap.cpp:96
double Sample() const
Returns the current line value of the camera model or projection.
Definition: UniversalGroundMap.cpp:194
double UniversalLongitude() const
Returns the universal longitude of the camera model or projection.
Definition: UniversalGroundMap.cpp:264
double Resolution() const
Returns the resolution of the camera model or projection.
Definition: UniversalGroundMap.cpp:288
bool HasProjection()
Returns whether the ground map has a projection or not.
Definition: UniversalGroundMap.h:131
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:314
IO Handler for Isis Cubes.
Definition: Cube.h:170