|
Isis 3 Programmer Reference
|
8 #include "VariableLineScanCameraDetectorMap.h"
9 #include "CameraFocalPlaneMap.h"
25 std::vector< LineRateChange > &lineRates) :
27 lineRates[0].GetStartEt(),
28 lineRates[0].GetLineScanRate()),
29 p_lineRates(lineRates) {
60 int rateIndex = p_lineRates.size() - 1;
62 while (rateIndex >= 0 && currEt < p_lineRates[rateIndex].GetStartEt() - 0.5) {
70 int rateStartLine = p_lineRates[rateIndex].GetStartLine();
71 double rateStartEt = p_lineRates[rateIndex].GetStartEt();
72 double rate = p_lineRates[rateIndex].GetLineScanRate();
74 double etDiff = currEt - rateStartEt;
116 const double deltaT) {
123 int rateIndex = p_lineRates.size() - 1;
125 while (rateIndex >= 0 && line < p_lineRates[rateIndex].GetStartLine() - 0.5) {
133 int rateStartLine = p_lineRates[rateIndex].GetStartLine();
134 double rateStartEt = p_lineRates[rateIndex].GetStartEt();
135 double rate = p_lineRates[rateIndex].GetLineScanRate();
144 double et = rateStartEt + (line - (rateStartLine - 0.5)) * rate;
176 const int band)
const {
177 return lineRate(line).GetLineScanRate();
192 int rateIndex = p_lineRates.size() - 1;
194 while (rateIndex >= 0 && line < p_lineRates[rateIndex].GetStartLine() - 0.5) {
205 return p_lineRates[rateIndex];
iTime time() const
Returns the ephemeris time in seconds which was used to obtain the spacecraft and sun positions.
double p_parentLine
The parent line calculated from the detector.
LineRateChange & lineRate(const double line) const
Get the line rate information for a given line.
virtual bool SetParent(const double sample, const double line)
Compute detector position from a parent image coordinate.
virtual bool SetParent(const double sample, const double line)
Compute detector position from a parent image coordinate.
virtual bool SetDetector(const double sample, const double line)
Compute parent position from a detector coordinate.
VariableLineScanCameraDetectorMap(Camera *parent, std::vector< LineRateChange > &lineRates)
Constructs a VariableLineScanCameraDetectorMap.
double DetectorLineOffset() const
double p_detectorLine
Detector coordinate line value.
void setTime(const iTime &time)
By setting the time you essential set the position of the spacecraft and body as indicated in the cla...
double Et() const
Returns the ephemeris time (TDB) representation of the time as a double.
virtual bool SetDetector(const double sample, const double line)
Compute parent position from a detector coordinate.
void SetLineRate(const double lineRate)
Reset the line rate.
virtual ~VariableLineScanCameraDetectorMap()
Destructor.
Camera * p_camera
Pointer to the camera.
CameraFocalPlaneMap * FocalPlaneMap()
Returns a pointer to the CameraFocalPlaneMap object.
This is free and unencumbered software released into the public domain.
Convert between parent image coordinates and detector coordinates.
virtual double exposureDuration(const double sample, const double line, const int band) const
This virtual method is for returning the exposure duration of a given pixel.
Container class for storing timing information for a section of an image.