Isis 3.0 Object Programmers' Reference
Home
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
Sensor.h
Go to the documentation of this file.
1
#ifndef Sensor_h
2
#define Sensor_h
3
25
#include "
Spice.h
"
26
27
#include <QList>
28
#include <QPointF>
29
30
#include "
Cube.h
"
31
#include "
Interpolator.h
"
32
#include "
Portal.h
"
33
#include "
ProjectionFactory.h
"
34
35
namespace
Isis {
36
class
Distance;
37
class
EllipsoidShape;
38
class
iTime;
39
class
Latitude;
40
class
Longitude;
41
class
ShapeModel;
42
class
SurfacePoint;
43
class
Target;
44
199
class
Sensor
:
public
Spice
{
200
public
:
201
Sensor
(
Cube
&cube);
202
203
virtual
~Sensor
();
204
205
void
setTime
(
const
iTime
&
time
);
206
bool
SetLookDirection
(
const
double
v[3]);
207
bool
SetRightAscensionDeclination
(
const
double
ra,
const
double
dec);
208
bool
SetUniversalGround
(
const
double
latitude,
const
double
longitude,
209
bool
backCheck =
true
);
210
bool
SetUniversalGround
(
const
double
latitude,
const
double
longitude,
211
const
double
radius,
bool
backCheck =
true
);
212
bool
SetGround
(
const
SurfacePoint
&surfacePt,
bool
backCheck =
true
);
213
bool
HasSurfaceIntersection
()
const
;
214
void
Coordinate
(
double
p[3])
const
;
215
216
double
UniversalLatitude
()
const
;
217
Latitude
GetLatitude
()
const
;
218
double
UniversalLongitude
()
const
;
219
Longitude
GetLongitude
()
const
;
220
SurfacePoint
GetSurfacePoint
()
const
;
221
222
Distance
LocalRadius
()
const
;
223
Distance
LocalRadius
(
Latitude
lat,
Longitude
lon);
224
Distance
LocalRadius
(
double
lat,
double
lon);
225
226
double
PhaseAngle
()
const
;
227
double
EmissionAngle
()
const
;
228
double
IncidenceAngle
()
const
;
229
230
void
LookDirection
(
double
v[3])
const
;
231
232
double
RightAscension
();
233
double
Declination
();
234
235
// Return vector between spacecraft and surface point in body-fixed
236
void
SpacecraftSurfaceVector
(
double
scSurfaceVector[3])
const
;
237
double
SlantDistance
()
const
;
238
double
LocalSolarTime
();
239
double
SolarDistance
()
const
;
240
double
SpacecraftAltitude
();
241
242
// Return local radius from dem
243
// Distance DemRadius(const SurfacePoint &pt);
244
// Distance DemRadius(const Latitude &lat, const Longitude
245
// &lon); bool HasElevationModel() {
246
253
virtual
double
resolution
() {
254
return
1.0;
255
};
256
void
IgnoreElevationModel
(
bool
ignore);
257
258
virtual
QList<QPointF>
PixelIfovOffsets
();
259
260
private
:
261
// This version of DemRadius is for SetLookDirection ONLY. Do not call.
262
// DAC TODO Why is next declaration here? Don't move until I know
263
// double DemRadius(double lat, double lon);
264
void
CommonInitialize(
const
std::string &demCube);
265
266
SpiceDouble
m_lookB
[3];
267
268
bool
m_newLookB
;
269
SpiceDouble
m_ra
;
270
SpiceDouble
m_dec
;
271
void
computeRaDec
();
272
bool
SetGroundLocal
(
bool
backCheck);
273
};
274
};
275
276
#endif