Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS
A lock ( ) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

Isis Developer Reference
UniversalGroundMap.h
Go to the documentation of this file.
1#ifndef UniversalGroundMap_h
2#define UniversalGroundMap_h
7
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
88 UniversalGroundMap(Cube &cube, CameraPriority priority = CameraFirst);
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 LocalRadius() const;
103 double Resolution() const;
104
105 bool GroundRange(Cube *cube,
106 Latitude &minLat, Latitude &maxLat,
107 Longitude &minLon, Longitude &maxLon,
108 bool allowEstimation = true);
109
117 return p_projection != 0;
118 };
119
120
127 bool HasCamera() {
128 return p_camera != 0;
129 };
130
132 return p_priority;
133 };
134
135 void setPriority(int priority);
136
139 return p_projection;
140 };
141
144 return p_camera;
145 };
146
147
148 private:
149 Isis::Camera *p_camera;
150 Isis::Projection *p_projection;
151 CameraPriority p_priority;
152 };
153};
154
155#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:154
This class defines a body-fixed surface point.
Definition SurfacePoint.h:132
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
int currentPriority()
Definition UniversalGroundMap.h:131
double Resolution() const
Returns the resolution of the camera model or projection.
Definition UniversalGroundMap.cpp:308
~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:116
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
double LocalRadius() const
Returns the radius of the camera model or projection.
Definition UniversalGroundMap.cpp:294
bool HasCamera()
Returns whether the ground map has a camera or not.
Definition UniversalGroundMap.h:127
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
void setPriority(int priority)
Definition UniversalGroundMap.cpp:556
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:138
Isis::Camera * Camera() const
Return the camera associated with the ground map (NULL implies none)
Definition UniversalGroundMap.h:143
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:334
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16