Isis Developer Reference
UniversalGroundMap.h
Go to the documentation of this file.
1#ifndef UniversalGroundMap_h
2#define UniversalGroundMap_h
8/* SPDX-License-Identifier: CC0-1.0 */
9namespace 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:
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
116 return p_projection != 0;
117 };
118
119
126 bool HasCamera() {
127 return p_camera != 0;
128 };
129
132 return p_projection;
133 };
134
137 return p_camera;
138 };
139
140
141 private:
142 Isis::Camera *p_camera;
143 Isis::Projection *p_projection;
144 };
145};
146
147#endif
Definition Camera.h:236
IO Handler for Isis Cubes.
Definition Cube.h:168
This class is designed to encapsulate the concept of a Latitude.
Definition Latitude.h:51
This class is designed to encapsulate the concept of a Longitude.
Definition Longitude.h:40
Base class for Map Projections.
Definition Projection.h:155
This class defines a body-fixed surface point.
Definition SurfacePoint.h:132
Universal Ground Map.
Definition UniversalGroundMap.h:69
double Sample() const
Returns the current line value of the camera model or projection.
Definition UniversalGroundMap.cpp:200
double UniversalLongitude() const
Returns the universal longitude of the camera model or projection.
Definition UniversalGroundMap.cpp:270
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
double Resolution() const
Returns the resolution of the camera model or projection.
Definition UniversalGroundMap.cpp:294
~UniversalGroundMap()
Destroys the UniversalGroundMap object.
Definition UniversalGroundMap.cpp:80
void SetBand(const int band)
Set the image band number.
Definition UniversalGroundMap.cpp:72
double UniversalLatitude() const
Returns the universal latitude of the camera model or projection.
Definition UniversalGroundMap.cpp:247
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
double Line() const
Returns the current line value of the camera model or projection.
Definition UniversalGroundMap.cpp:214
bool HasProjection()
Returns whether the ground map has a projection or not.
Definition UniversalGroundMap.h:115
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
@ ProjectionFirst
Use the projection for functionality well outside the original image if available,...
Definition UniversalGroundMap.h:85
@ CameraFirst
This is the default because cameras are projection-aware.
Definition UniversalGroundMap.h:80
bool HasCamera()
Returns whether the ground map has a camera or not.
Definition UniversalGroundMap.h:126
UniversalGroundMap(Cube &cube, CameraPriority priority=CameraFirst)
Constructs a UniversalGroundMap object from a cube.
Definition UniversalGroundMap.cpp:33
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
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::Projection * Projection() const
Return the projection associated with the ground map (NULL implies none)
Definition UniversalGroundMap.h:131
Isis::Camera * Camera() const
Return the camera associated with the ground map (NULL implies none)
Definition UniversalGroundMap.h:136
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
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16