USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::MdisCamera Class Reference

MESSENGER MDIS NAC and WAC Camera Model. More...

#include <MdisCamera.h>

Inheritance diagram for Isis::MdisCamera:
Inheritance graph
Collaboration diagram for Isis::MdisCamera:
Collaboration graph

Public Types

enum  CameraType {
  Framing, PushFrame, LineScan, Radar,
  Point
}
 This enum defines the types of cameras supported in this class. More...

Public Member Functions

 MdisCamera (Cube &cube)
 Initialize the MDIS camera model for NAC and WAC.
 ~MdisCamera ()
 Destroys the MdisCamera Object.
virtual std::pair< iTime, iTimeShutterOpenCloseTimes (double time, double exposureDuration)
 Returns the shutter open and close times.
virtual int CkFrameId () const
 CK frame ID - - MESSENGER instrument code (MSGR_SPACECRAFT)
virtual int CkReferenceId () const
 CK Reference ID - J2000.
virtual int SpkTargetId () const
 SPK Target Body ID - MESSENGER spacecraft -236.
virtual int SpkReferenceId () const
 SPK Reference ID - J2000.
virtual CameraType GetCameraType () const
 This method returns Framing camera type.
bool SetImage (const double sample, const double line)
 Sets the sample/line values of the image to get the lat/lon values.
bool SetUniversalGround (const double latitude, const double longitude)
 Sets the lat/lon values to get the sample/line values.
bool SetUniversalGround (const double latitude, const double longitude, const double radius)
 Sets the lat/lon/radius values to get the sample/line values.
bool SetUniversalGround (const double latitude, const double longitude, bool backCheck=true)
 This is the opposite routine for SetLookDirection.
bool SetUniversalGround (const double latitude, const double longitude, const double radius, bool backCheck=true)
 This overloaded method has the opposite function as SetLookDirection.
bool SetGround (Latitude latitude, Longitude longitude)
 Sets the lat/lon values to get the sample/line values.
bool SetGround (const SurfacePoint &surfacePt)
 Sets the lat/lon/radius values to get the sample/line values.
bool SetGround (const SurfacePoint &surfacePt, bool backCheck=true)
 This overloaded method has the opposite function as SetLookDirection.
bool SetRightAscensionDeclination (const double ra, const double dec)
 Sets the right ascension declination.
void LocalPhotometricAngles (Angle &phase, Angle &incidence, Angle &emission, bool &success)
 Calculates LOCAL photometric angles using the DEM (not ellipsoid).
void GetLocalNormal (double normal[3])
 This method will find the local normal at the current (sample, line) and set it to the passed in array.
bool HasProjection ()
 Checks to see if the camera object has a projection.
virtual bool IsBandIndependent ()
 Virtual method that checks if the band is independent.
int ReferenceBand () const
 Returns the reference band.
bool HasReferenceBand () const
 Checks to see if the Camera object has a reference band.
virtual void SetBand (const int band)
 Virtual method that sets the band number.
double Sample ()
 Returns the current sample number.
int Band ()
 Returns the current band.
double Line ()
 Returns the current line number.
bool GroundRange (double &minlat, double &maxlat, double &minlon, double &maxlon, Pvl &pvl)
 Computes the Ground Range.
bool ringRange (double &minRingRadius, double &maxRingRadius, double &minRingLongitude, double &maxRingLongitude, Pvl &pvl)
 Analogous to the above Ground Range method.
bool IntersectsLongitudeDomain (Pvl &pvl)
 Checks whether the ground range intersects the longitude domain or not.
double PixelResolution ()
 Returns the pixel resolution at the current position in m/pix.
double LineResolution ()
 Returns the line resolution at the current position.
double SampleResolution ()
 Returns the sample resolution at the current position.
double DetectorResolution ()
 Returns the detector resolution at the current position.
virtual double resolution ()
 Returns the resolution of the camera.
double LowestImageResolution ()
 Returns the lowest/worst resolution in the entire image.
double HighestImageResolution ()
 Returns the highest/best resolution in the entire image.
void BasicMapping (Pvl &map)
 Writes the basic mapping group to the specified Pvl.
void basicRingMapping (Pvl &map)
 Writes the basic mapping group for ring plane to the specified Pvl.
double FocalLength () const
 Returns the focal length.
double PixelPitch () const
 Returns the pixel pitch.
virtual QList< QPointF > PixelIfovOffsets ()
 Returns the pixel ifov offsets from center of pixel, which defaults to the (pixel pitch * summing mode ) / 2.
int Samples () const
 Returns the number of samples in the image.
int Lines () const
 Returns the number of lines in the image.
int Bands () const
 Returns the number of bands in the image.
int ParentLines () const
 Returns the number of lines in the parent alphacube.
int ParentSamples () const
 Returns the number of samples in the parent alphacube.
bool RaDecRange (double &minra, double &maxra, double &mindec, double &maxdec)
 Computes the RaDec range.
double RaDecResolution ()
 Returns the RaDec resolution.
CameraDistortionMapDistortionMap ()
 Returns a pointer to the CameraDistortionMap object.
CameraFocalPlaneMapFocalPlaneMap ()
 Returns a pointer to the CameraFocalPlaneMap object.
CameraDetectorMapDetectorMap ()
 Returns a pointer to the CameraDetectorMap object.
CameraGroundMapGroundMap ()
 Returns a pointer to the CameraGroundMap object.
CameraSkyMapSkyMap ()
 Returns a pointer to the CameraSkyMap object.
QString instrumentNameLong () const
 This method returns the full instrument name.
QString instrumentNameShort () const
 This method returns the shortened instrument name.
QString spacecraftNameLong () const
 This method returns the full spacecraft name.
QString spacecraftNameShort () const
 This method returns the shortened spacecraft name.
void SetDistortionMap (CameraDistortionMap *map)
 Sets the Distortion Map.
void SetFocalPlaneMap (CameraFocalPlaneMap *map)
 Sets the Focal Plane Map.
void SetDetectorMap (CameraDetectorMap *map)
 Sets the Detector Map.
void SetGroundMap (CameraGroundMap *map)
 Sets the Ground Map.
void SetSkyMap (CameraSkyMap *map)
 Sets the Sky Map.
double NorthAzimuth ()
 Returns the North Azimuth.
double SunAzimuth ()
 Returns the Sun Azimuth.
double SpacecraftAzimuth ()
 Return the Spacecraft Azimuth.
double OffNadirAngle ()
 Return the off nadir angle in degrees.
void IgnoreProjection (bool ignore)
 Set whether or not the camera should ignore the Projection.
void LoadCache ()
 This loads the spice cache big enough for this image.
std::pair< double, double > StartEndEphemerisTimes ()
 Calculates the start and end ephemeris times.
int CacheSize (double startTime, double endTime)
 This method calculates the spice cache size.
void GetGeometricTilingHint (int &startSize, int &endSize)
 This will get the geometric tiling hint; these values are typically used for ProcessRubberSheet::SetTiling(...).
bool InCube ()
 This returns true if the current Sample() or Line() value is outside of the cube (meaning the point must have been extrapolated).
virtual int SpkCenterId () const
 Provides the center of motion body for SPK NAIF kernel.
void setTime (const iTime &time)
 By setting the time you essential set the position of the spacecraft and body as indicated in the class Spice.
bool SetLookDirection (const double v[3])
 Sets the look direction of the spacecraft.
bool HasSurfaceIntersection () const
 Returns if the last call to either SetLookDirection or SetUniversalGround had a valid intersection with the target.
void Coordinate (double p[3]) const
 Returns the x,y,z of the surface intersection in BodyFixed km.
double UniversalLatitude () const
 Returns the planetocentric latitude, in degrees, at the surface intersection point in the body fixed coordinate system.
Latitude GetLatitude () const
 Returns a planetocentric latitude object at the surface intersection point in body fixed.
double UniversalLongitude () const
 Returns the positive east, 0-360 domain longitude, in degrees, at the surface intersection point in the body fixed coordinate system.
Longitude GetLongitude () const
 Returns a positive east, 0-360 domain longitude object at the surface intersection point in the body fixed coordinate system.
SurfacePoint GetSurfacePoint () const
 Returns the surface point (most efficient accessor).
Distance LocalRadius () const
 Returns the local radius at the intersection point.
Distance LocalRadius (Latitude lat, Longitude lon)
 Returns the local radius at the intersection point.
Distance LocalRadius (double lat, double lon)
 Returns the local radius at the intersection point.
double PhaseAngle () const
 Returns the phase angle in degrees.
double EmissionAngle () const
 Returns the emission angle in degrees.
double IncidenceAngle () const
 Returns the incidence angle in degrees.
void LookDirection (double v[3]) const
 Returns the look direction in the camera coordinate system.
double RightAscension ()
 Returns the right ascension angle (sky longitude).
double Declination ()
 Returns the declination angle (sky latitude).
void SpacecraftSurfaceVector (double scSurfaceVector[3]) const
 Sets the vector between the spacecraft and surface point in body-fixed.
double SlantDistance () const
 Return the distance between the spacecraft and surface point in kmv.
double LocalSolarTime ()
 Return the local solar time in hours.
double SolarDistance () const
 Returns the distance between the sun and surface point in AU.
double SpacecraftAltitude ()
 Returns the distance from the spacecraft to the subspacecraft point in km.
void IgnoreElevationModel (bool ignore)
 This allows you to ignore the cube elevation model and use the ellipse.
void instrumentPosition (double p[3]) const
 Returns the spacecraft position in body-fixed frame km units.
SpicePositioninstrumentPosition () const
 Accessor method for the instrument position.
void instrumentBodyFixedPosition (double p[3]) const
 Returns the spacecraft position in body-fixed frame km units.
void sunPosition (double p[3]) const
 Fills the input vector with sun position information, in either body-fixed or J2000 reference frame and km units.
SpicePositionsunPosition () const
 Accessor method for the sun position.
double targetCenterDistance () const
 Calculates and returns the distance from the spacecraft to the target center.
Longitude solarLongitude ()
 Returns the solar longitude.
void instrumentBodyFixedVelocity (double v[3]) const
 Returns the spacecraft velocity in body-fixed frame km/sec units.
iTime time () const
 Returns the ephemeris time in seconds which was used to obtain the spacecraft and sun positions.
void radii (Distance r[3]) const
 Returns the radii of the body in km.
void createCache (iTime startTime, iTime endTime, const int size, double tol)
 This method creates an internal cache of spacecraft and sun positions over a specified time range.
iTime cacheStartTime () const
 Accessor method for the cache start time.
iTime cacheEndTime () const
 Accessor method for the cache end time.
void subSpacecraftPoint (double &lat, double &lon)
 Returns the sub-spacecraft latitude/longitude in universal coordinates (0-360 positive east, ocentric)
void subSolarPoint (double &lat, double &lon)
 Returns the sub-solar latitude/longitude in universal coordinates (0-360 positive east, ocentric)
Targettarget () const
 Returns a pointer to the target object.
QString targetName () const
 Returns the string name of the target.
iTime getClockTime (QString clockValue, int sclkCode=-1)
 This converts the spacecraft clock ticks value (clockValue) to an iTime.
SpiceDouble getDouble (const QString &key, int index=0)
 This returns a value from the NAIF text pool.
SpiceInt getInteger (const QString &key, int index=0)
 This returns a value from the NAIF text pool.
QString getString (const QString &key, int index=0)
 This returns a value from the NAIF text pool.
SpiceRotationbodyRotation () const
 Accessor method for the body rotation.
SpiceRotationinstrumentRotation () const
 Accessor method for the instrument rotation.
bool hasKernels (Pvl &lab)
 Returns true if the kernel group has kernel files.
SpiceInt naifBodyCode () const
 This returns the NAIF body code of the target indicated in the labels.
SpiceInt naifSpkCode () const
 This returns the NAIF SPK code to use when reading from SPK kernels.
SpiceInt naifCkCode () const
 This returns the NAIF CK code to use when reading from CK kernels.
SpiceInt naifIkCode () const
 This returns the NAIF IK code to use when reading from instrument kernels.
SpiceInt naifSclkCode () const
 This returns the NAIF SCLK code to use when reading from instrument kernels.
SpiceInt naifBodyFrameCode () const
 This returns the NAIF body frame code.
PvlObject getStoredNaifKeywords () const
 This returns the PvlObject that stores all of the requested Naif data and can be a replacement for furnishing text kernels.

Static Public Member Functions

static double GroundAzimuth (double glat, double glon, double slat, double slon)
 Computes and returns the ground azimuth between the ground point and another point of interest, such as the subspacecraft point or the subsolar point.

Protected Types

enum  SpiceValueType { SpiceDoubleType, SpiceStringType, SpiceIntType, SpiceByteCodeType }
 NAIF value primitive type. More...

Protected Member Functions

void SetFocalLength (double v)
 Sets the focal length.
void SetFocalLength ()
 Reads the focal length from the instrument kernel.
void SetPixelPitch (double v)
 Sets the pixel pitch.
void SetPixelPitch ()
 Reads the Pixel Pitch from the instrument kernel.
void SetGeometricTilingHint (int startSize=128, int endSize=8)
 This method sets the best geometric tiling size for projecting from this camera model.
QVariant readValue (QString key, SpiceValueType type, int index=0)
 This should be used for reading ALL text naif kernel values.
void storeResult (QString name, SpiceValueType type, QVariant value)
QVariant getStoredResult (QString name, SpiceValueType type)
void storeValue (QString key, int index, SpiceValueType type, QVariant value)
QVariant readStoredValue (QString key, SpiceValueType type, int index)

Protected Attributes

QString m_instrumentNameLong
 Full instrument name.
QString m_instrumentNameShort
 Shortened instrument name.
QString m_spacecraftNameLong
 Full spacecraft name.
QString m_spacecraftNameShort
 Shortened spacecraft name.
SpiceDouble m_uB [3]
 This contains the sun position (u) in the bodyfixed reference frame (B).
SpiceDouble m_BJ [3][3]
 This contains the transformation matrix from J2000 (J) to Body fixed (B).

Private Member Functions

double computeFocalLength (const QString &filterCode, Pvl &label)
 Computes temperature-dependent focal length.

Detailed Description

MESSENGER MDIS NAC and WAC Camera Model.

This is the camera model for both MESSENGER MDIS Wide Angle (WAC) and Narrow Angle (NAC) cameras.

This camera model is desinfed to be externally managed as much as possible through the Messenger MDIS instrument kernel (IAK). See the file $ISIS3DATA/messenger/kernels/iak/mdisAddendum???.ti for details.

See Also
http://pds-imaging.jpl.nasa.gov/documentation/MDISEDRSIS.PDF
http://pds-imaging.jpl.nasa.gov/documentation/MDIS_CDR_RDRSIS.PDF
Author
2005-07-29 Kris Becker
History:
2006-10-31 Jeff Anderson - Updated to accomodate Spice class refactory.
History:
2007-04-24 Kris Becker - Corrected problems with setting Ephemeris time after the cache is created; fixed problem with FPU binning geometry is mapped to detector map as described in the SIS. This problem is due to an FPGA coding bug on the camera.
History:
2007-09-05 Kris Becker - Removed test for jailbar imaging mode as the MDIS team reports it should be treated as a normal image.
History:
2007-09-06 Kris Becker - Removed test for subframe imaging mode as the team provided calification on its implications.
History:
2007-12-06 Kris Becker - Added camera distortion model provided by Scott Turner, JHU/APL.
History:
2008-08-08 Steven Lambright Now using the new LoadCache(...) method instead of CreateCache(...).
History:
2009-01-21 Kris Becker Added a new implementation of the MDIS NAC distortion model contributed by Scott Turner and Lillian Nguyen at JHU/APL.
History:
2009-06-11 Steven Lambright - Documentation fixes
History:
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
History:
2010-10-06 Kris Becker - Updated WAC distortion model to the same as the NAC - A Taylor Series implementation. Update to the MDIS IK (msgr_mdis_v120.ti) udpates these parameters as well as the WAC focal lengths. The NAC is unaffected by these changes. Updated unitTest.
History:
2010-12-20 Kris Becker - Added implementation of CK and SPK NAIF codes for the Camera class.
History:
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
History:
2011-02-09 Steven Lambright - Major changes to camera classes.
History:
2011-03-31 Kris Becker - Fixed bug in handling of pixel binning. Valid values for PixelBinningMode are 0, 2 or 4. This was not handled properly until it was used in conjuction with FPU binning in orbit.
History:
2011-05-03 Jeannie Walldren - Added ShutterOpenCloseTimes() method. Updated unitTest to test for new methods. Updated documentation. Removed Messenger namespace wrap inside Isis namespace wrap. Added Isis Disclaimer to files. Added NAIF error check to constructor.
History:
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
History:
2012-07-25 Kris Becker - Added temperature dependant focal length computation from new IK content. Fixes #922.
History:
2012-10-25 Kris Becker - Create instrument neutral temperature dependent focal length keyword (TempDependentFocalLength) in the NaifKeywords group to store this value for easy access. Incremented camera version number to 2. Removed backword compatibility code supporting older IKs. The first valid one with this version is msgr_mdis_v131.ti. Updated FK (msgr_v220.tf) and PCK (pck00010_MSGR_v10.tpc). Reran spiceinit on all MESSENGER data in the test suite and updated all appTests (18 total were affected by this change). Fixes #1214.
History:
2015-08-13 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
History:
2015-10-01 Ian Humphrey and Makayla Shepherd - Updated check for Wac instrument to include instrument codes that correspond to its filters. References #2335.
History:
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.

Definition at line 109 of file MdisCamera.h.

Member Enumeration Documentation

enum Isis::Camera::CameraType
inherited

This enum defines the types of cameras supported in this class.

Enumerator:
Framing 

Framing Camera.

PushFrame 

Push Frame Camera.

LineScan 

Line Scan Camera.

Radar 

Radar Camera.

Point 

Point Camera.

Definition at line 321 of file Camera.h.

enum Isis::Spice::SpiceValueType
protectedinherited

NAIF value primitive type.

Enumerator:
SpiceDoubleType 

SpiceDouble type.

SpiceStringType 

SpiceString type.

SpiceIntType 

SpiceInt type.

SpiceByteCodeType 

SpiceByteCode type.

Definition at line 333 of file Spice.h.

Constructor & Destructor Documentation

Isis::MdisCamera::MdisCamera ( Cube cube)

Initialize the MDIS camera model for NAC and WAC.

This constructor reads the Messenger/MDIS instrument addendum for many of its default parameters.

This camera model does not support subframes of jailbar imaging modes. An exception is thrown in those cases.

Parameters
labPvl label from a Messenger MDIS image.
Exceptions
iException::User- "Subframe imaging mode is not supported"
iException::User- "Jail bar observations are not supported"
iException::User- "New MDIS/NAC distortion model invalidates previous SPICE - you must rerun spiceinit to get new kernels"
History:
2011-05-03 Jeannie Walldren - Added NAIF error check.

Definition at line 64 of file MdisCamera.cpp.

References _FILEINFO_, Isis::NaifStatus::CheckErrors(), computeFocalLength(), Isis::PvlObject::findGroup(), Isis::Spice::getClockTime(), Isis::Spice::getDouble(), Isis::Spice::getString(), Isis::Cube::label(), Isis::Camera::LoadCache(), Isis::Camera::m_instrumentNameLong, Isis::Camera::m_instrumentNameShort, Isis::Camera::m_spacecraftNameLong, Isis::Camera::m_spacecraftNameShort, Isis::Spice::naifIkCode(), Isis::IException::Programmer, Isis::CameraDetectorMap::SetDetectorLineSumming(), Isis::CameraFocalPlaneMap::SetDetectorOrigin(), Isis::CameraDetectorMap::SetDetectorSampleSumming(), Isis::TaylorCameraDistortionMap::SetDistortion(), Isis::Camera::SetFocalLength(), Isis::Camera::SetPixelPitch(), Isis::CameraDetectorMap::SetStartingDetectorLine(), Isis::CameraDetectorMap::SetStartingDetectorSample(), Isis::Sensor::setTime(), Isis::toString(), Isis::PvlObject::Traverse, and Isis::IException::User.

Isis::MdisCamera::~MdisCamera ( )
inline

Destroys the MdisCamera Object.

Definition at line 113 of file MdisCamera.h.

Member Function Documentation

int Isis::Camera::Band ( )
inherited

Returns the current band.

Returns
int Band

Definition at line 2448 of file Camera.cpp.

References Isis::Camera::p_childBand.

Referenced by Isis::Camera::GroundRangeResolution(), Isis::Camera::RaDecRange(), Isis::Camera::RaDecResolution(), and Isis::Camera::ringRangeResolution().

int Isis::Camera::Bands ( ) const
inherited

Returns the number of bands in the image.

Returns
int Number of Bands

Definition at line 2531 of file Camera.cpp.

References Isis::Camera::p_bands.

Referenced by Isis::ProjectionFactory::CreateForCube(), Isis::CameraStatistics::init(), Isis::ProjectionFactory::RingsCreateForCube(), and Isis::Camera::StartEndEphemerisTimes().

void Isis::Camera::BasicMapping ( Pvl pvl)
inherited
void Isis::Camera::basicRingMapping ( Pvl pvl)
inherited
iTime Isis::Spice::cacheEndTime ( ) const
inherited

Accessor method for the cache end time.

Returns
iTime End time for the image.
Author
Steven Lambright
History:
2011-02-09 Steven Lambright - Original version.

Definition at line 648 of file Spice.cpp.

int Isis::Camera::CacheSize ( double  startTime,
double  endTime 
)
inherited

This method calculates the spice cache size.

This method finds the number of lines in the beta cube and adds 1, since we need at least 2 points for interpolation. This method must be called before a call to the Spice::createCache() method. It is called in the LoadCache() method.

Exceptions
iException::Programmer- "A cache has already been created."
See Also
createCache()
LoadCache()
Author
2011-02-02 Jeannie Walldren
History:
2011-02-02 Jeannie Walldren - Original version.

Definition at line 2283 of file Camera.cpp.

References Isis::AlphaCube::BetaLines(), and Isis::Camera::p_alphaCube.

Referenced by Isis::Camera::LoadCache().

iTime Isis::Spice::cacheStartTime ( ) const
inherited

Accessor method for the cache start time.

Returns
iTime Start time for the image.
Author
Steven Lambright
History:
2011-02-09 Steven Lambright - Original version.

Definition at line 633 of file Spice.cpp.

virtual int Isis::MdisCamera::CkFrameId ( ) const
inlinevirtual

CK frame ID - - MESSENGER instrument code (MSGR_SPACECRAFT)

Returns
int The appropriate instrument code for the "Camera-matrix" Kernel Frame ID

Implements Isis::Camera.

Definition at line 123 of file MdisCamera.h.

virtual int Isis::MdisCamera::CkReferenceId ( ) const
inlinevirtual

CK Reference ID - J2000.

Returns
int The appropriate instrument code for the "Camera-matrix" Kernel Reference ID

Implements Isis::Camera.

Definition at line 130 of file MdisCamera.h.

double Isis::MdisCamera::computeFocalLength ( const QString &  filterCode,
Pvl label 
)
private

Computes temperature-dependent focal length.

This method computes temperature dependent focal lengths based upon a 5th order polynomial using the FocalPlaneTemperature keyword value stored in the ISIS label (it is the FOCAL_PLANE_TEMPERATURE PDS keyword). At the time of this writing, only (the two) linear terms are used.

In addition, this method is initially coded to be backword compatible but this feature is likely to be removed when the kernels become fully adopted.

IMPORTANT: The computed temperature dependent focal length is stored in the label of the cube during spiceinit. This implementation uses the special recording of keywords as retrieved from kernels and stores them as a string value so (SOCET) folks can easily read and apply the focal lengths in their environments. String storage is preferred over storing as double since these values are stored in hexidecimal format.

Author
Kris Becker (8/13/2012)
History:
2012-10-22 Kris Becker - Store temperature dependant keyword in instrument neutral keyword called TempDependentFocalLength.
Parameters
filterCodeInteger MDIS instrument/filter code
labelPvl label from cube being initialized where temperature keywords are extracted from.
Returns
double Computed temperature dependant focal length

Definition at line 306 of file MdisCamera.cpp.

References _FILEINFO_, Isis::PvlObject::findGroup(), Isis::Spice::getDouble(), Isis::Spice::getString(), Isis::IException::Programmer, Isis::Spice::SpiceStringType, Isis::PvlObject::Traverse, and Isis::IString::UpCase().

Referenced by MdisCamera().

void Isis::Spice::createCache ( iTime  startTime,
iTime  endTime,
const int  size,
double  tol 
)
inherited

This method creates an internal cache of spacecraft and sun positions over a specified time range.

The SPICE kernels are then immediately unloaded. This allows multiple instances of the Spice object to be created as the NAIF toolkit can clash if multiple sets of SPICE kernels are loaded. Note that the cache size is specified as an argument. Therefore, times requested via setTime() which are not directly loaded in the cache will be interpolated. If the instrument position is not cached and cacheSize is greater than 3, the tolerance is passed to the SpicePosition Memcache2HermiteCache() method.

Note: Before this method is called, the private variables m_cacheSize, m_startTime and m_endTime must be set. This is done in the Camera classes using the methods SetCacheSize() and SetStartEndEphemerisTime().

Parameters
startTimeStarting ephemeris time to cache
endTimeEnding ephemeris time to cache
sizeSize of the cache.
tolTolerance.
Exceptions
Isis::IException::Programmer- "Argument cacheSize must be greater than zero"
Isis::IException::Programmer- "Argument startTime must be less than or equal to endTime"
Isis::IException::User- "This instrument does not support time padding"
History:
2011-04-10 Debbie A. Cook - Updated to only create cache for instrumentPosition if type is Spice.

Definition at line 539 of file Spice.cpp.

References _FILEINFO_, and Isis::iTime::Et().

Referenced by Isis::CrismCamera::CrismCamera(), Isis::Camera::LoadCache(), Isis::MiniRF::MiniRF(), and Isis::VimsCamera::VimsCamera().

double Isis::Sensor::Declination ( )
inherited

Returns the declination angle (sky latitude).

Returns
double Declination angle, in degrees.

Definition at line 542 of file Sensor.cpp.

References Isis::Sensor::computeRaDec(), Isis::Sensor::m_dec, and Isis::Sensor::m_newLookB.

Referenced by Isis::VimsSkyMap::Init(), Isis::Camera::RaDecRange(), Isis::Camera::RaDecResolution(), Isis::Camera::RawFocalPlanetoImage(), and Isis::AdvancedTrackTool::updateRow().

double Isis::Camera::DetectorResolution ( )
inherited

Returns the detector resolution at the current position.

Returns
double The detector resolution

Definition at line 465 of file Camera.cpp.

References Isis::Sensor::Coordinate(), Isis::Sensor::HasSurfaceIntersection(), Isis::Spice::instrumentPosition(), Isis::Camera::p_focalLength, and Isis::Camera::p_pixelPitch.

Referenced by Isis::Camera::LineResolution(), and Isis::Camera::SampleResolution().

virtual CameraType Isis::FramingCamera::GetCameraType ( ) const
inlinevirtualinherited

This method returns Framing camera type.

Returns
CameraType Type of camera, Framing.

Implements Isis::Camera.

Definition at line 59 of file FramingCamera.h.

References Isis::Camera::Framing.

SpiceDouble Isis::Spice::getDouble ( const QString &  key,
int  index = 0 
)
inherited

This returns a value from the NAIF text pool.

It is a static convience method

Parameters
keyName of NAIF keyword to obtain from the pool
indexIf the keyword is an array, the element to obtain. Defaults to 0
Returns
SpiceDouble Spice double from NAIF text pool
Exceptions
Isis::iException::Io- "Can not find key in instrument kernels."

Definition at line 914 of file Spice.cpp.

Referenced by Isis::LroWideAngleCameraFocalPlaneMap::addFilter(), Isis::LroWideAngleCameraDistortionMap::addFilter(), Isis::AmicaCamera::AmicaCamera(), Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), computeFocalLength(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HiresCamera::HiresCamera(), Isis::HrscCamera::HrscCamera(), Isis::CameraFocalPlaneMap::Init(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::MarciCamera::MarciCamera(), Isis::MarciDistortionMap::MarciDistortionMap(), Isis::Mariner10Camera::Mariner10Camera(), MdisCamera(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::NirCamera::NirCamera(), Isis::KaguyaMiCameraDistortionMap::SetDistortion(), Isis::TaylorCameraDistortionMap::SetDistortion(), Isis::LroNarrowAngleDistortionMap::SetDistortion(), Isis::Camera::SetFocalLength(), Isis::Camera::SetPixelPitch(), Isis::SsiCamera::SsiCamera(), and Isis::UvvisCamera::UvvisCamera().

void Isis::Camera::GetGeometricTilingHint ( int &  startSize,
int &  endSize 
)
inherited

This will get the geometric tiling hint; these values are typically used for ProcessRubberSheet::SetTiling(...).

Parameters
startSizeTiling start size
endSizeTiling end size

Definition at line 2360 of file Camera.cpp.

References Isis::Camera::p_geometricTilingEndSize, and Isis::Camera::p_geometricTilingStartSize.

SpiceInt Isis::Spice::getInteger ( const QString &  key,
int  index = 0 
)
inherited

This returns a value from the NAIF text pool.

It is a static convience

Parameters
keyName of NAIF keyword to obtain from the pool
indexIf the keyword is an array, the element to obtain. Defaults to 0
Returns
SpiceInt Spice integer from NAIF text pool
Exceptions
Isis::iException::Io- "Can not find key in instrument kernels

Definition at line 900 of file Spice.cpp.

Referenced by Isis::DawnVirCamera::getPointingTable(), Isis::LroWideAngleCamera::GetVector(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), and Isis::LroWideAngleCamera::LroWideAngleCamera().

Latitude Isis::Sensor::GetLatitude ( ) const
inherited

Returns a planetocentric latitude object at the surface intersection point in body fixed.

Returns
Latidude Universal latitude object.

Definition at line 235 of file Sensor.cpp.

References Isis::SurfacePoint::GetLatitude(), Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().

Referenced by Isis::StereoTool::calculateElevation(), and Isis::Sensor::UniversalLatitude().

void Isis::Camera::GetLocalNormal ( double  normal[3])
inherited
Longitude Isis::Sensor::GetLongitude ( ) const
inherited

Returns a positive east, 0-360 domain longitude object at the surface intersection point in the body fixed coordinate system.

Returns
Longitude Universal longitude object.

Definition at line 259 of file Sensor.cpp.

References Isis::SurfacePoint::GetLongitude(), Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().

Referenced by Isis::StereoTool::calculateElevation(), and Isis::Sensor::UniversalLongitude().

PvlObject Isis::Spice::getStoredNaifKeywords ( ) const
inherited

This returns the PvlObject that stores all of the requested Naif data and can be a replacement for furnishing text kernels.

Definition at line 874 of file Spice.cpp.

QString Isis::Spice::getString ( const QString &  key,
int  index = 0 
)
inherited

This returns a value from the NAIF text pool.

It is a static convience method

Parameters
keyName of NAIF keyword to obtain from the pool
indexIf the keyword is an array, the element to obtain. Defaults to 0
Returns
string Value from the NAIF text pool
Exceptions
Isis::IException::Io- "Can not find key in instrument kernels."

Definition at line 1128 of file Spice.cpp.

Referenced by Isis::LightTimeCorrectionState::checkAberrationCorrection(), Isis::LightTimeCorrectionState::checkLightTimeToSurfaceCorrect(), Isis::LightTimeCorrectionState::checkObserverTargetSwap(), computeFocalLength(), MdisCamera(), and Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera().

double Isis::Camera::GroundAzimuth ( double  glat,
double  glon,
double  slat,
double  slon 
)
staticinherited

Computes and returns the ground azimuth between the ground point and another point of interest, such as the subspacecraft point or the subsolar point.

The ground azimuth is the clockwise angle on the ground between a line drawn from the ground point to the North pole of the body and a line drawn from the selected point on the surface to some point of interest on the surface (such as the subsolar point or the subspacecraft point).

Note: This is different from the image azimuth algorithm used in ComputeAzimuth(). For ground azimuths, the initial ray of the angle is the vector from the selected ground point to the north pole. For image azimuths, the initial ray is the vector from the selected image location to the right, horizontally.

Parameters
glatThe latitude of the ground point
glonThe longitude of the ground point
slatThe latitude of the subspacecraft or subsolar point
slonThe longitude of the subspacecraft or subsolar point
Returns
double The azimuth in degrees

Definition at line 2013 of file Camera.cpp.

References Isis::PI().

bool Isis::Camera::GroundRange ( double &  minlat,
double &  maxlat,
double &  minlon,
double &  maxlon,
Pvl pvl 
)
inherited

Computes the Ground Range.

Parameters
minlatThe minimum latitude
maxlatThe maximum latitude
minlonThe minimum longitude
maxlonThe maximum longitude
pvlThe pvl file used for ground range calculations
Returns
bool Returns true if it crosses the longitude domain boundary and false if it does not

Definition at line 948 of file Camera.cpp.

References Isis::PvlObject::findGroup(), Isis::Camera::GroundRangeResolution(), Isis::PvlContainer::hasKeyword(), Isis::Distance::Meters, Isis::Camera::p_maxlat, Isis::Camera::p_maxlon, Isis::Camera::p_maxlon180, Isis::Camera::p_minlat, Isis::Camera::p_minlon, Isis::Camera::p_minlon180, Isis::PI(), Isis::Spice::radii(), Isis::toDouble(), and Isis::PvlObject::Traverse.

Referenced by Isis::UniversalGroundMap::GroundRange(), and Isis::Camera::IntersectsLongitudeDomain().

bool Isis::Spice::hasKernels ( Pvl lab)
inherited

Returns true if the kernel group has kernel files.

Parameters
labLabel containing Instrument and Kernels groups.
Returns
bool status of kernel files in the kernel group

Definition at line 1334 of file Spice.cpp.

References Isis::PvlObject::findGroup(), Isis::PvlContainer::hasKeyword(), Isis::PvlKeyword::size(), and Isis::IString::UpCase().

bool Isis::Camera::HasProjection ( )
inherited

Checks to see if the camera object has a projection.

Returns
bool Returns true if it has a projection and false if it does not

Definition at line 2392 of file Camera.cpp.

References Isis::Camera::p_projection.

Referenced by Isis::CubeViewport::CubeViewport(), and Isis::ImagePolygon::initCube().

bool Isis::Camera::HasReferenceBand ( ) const
inherited

Checks to see if the Camera object has a reference band.

Returns
bool Returns true if it has a reference band, and false if it does not

Definition at line 2421 of file Camera.cpp.

References Isis::Camera::p_referenceBand.

Referenced by Isis::ThemisVisCamera::BandEphemerisTimeOffset(), and Isis::ThemisIrCamera::SetBand().

bool Isis::Sensor::HasSurfaceIntersection ( ) const
inherited

Returns if the last call to either SetLookDirection or SetUniversalGround had a valid intersection with the target.

If so then other methods such as Coordinate, UniversalLatitude, UniversalLongitude, etc can be used with confidence.

Returns
bool True if the look direction intersects with the target.

Definition at line 200 of file Sensor.cpp.

References Isis::ShapeModel::hasIntersection(), Isis::Target::shape(), and Isis::Spice::target().

Referenced by Isis::CameraStatistics::addStats(), Isis::Camera::ComputeAzimuth(), Isis::Camera::DetectorResolution(), Isis::Chip::Load(), Isis::VimsGroundMap::SetGround(), and Isis::Camera::SetImage().

double Isis::Camera::HighestImageResolution ( )
inherited

Returns the highest/best resolution in the entire image.

Returns
double The highest/best resolution in the entire image

Definition at line 526 of file Camera.cpp.

References Isis::Camera::GroundRangeResolution(), and Isis::Camera::p_minres.

void Isis::Sensor::IgnoreElevationModel ( bool  ignore)
inherited

This allows you to ignore the cube elevation model and use the ellipse.

Parameters
ignoreIndicates whether the elevation model is ignored.

Definition at line 75 of file Sensor.cpp.

References Isis::Target::restoreShape(), Isis::Target::setShapeEllipsoid(), and Isis::Spice::target().

Referenced by Isis::StereoTool::calculateElevation(), Isis::ImagePolygon::Create(), and Isis::ImagePolygon::initCube().

void Isis::Camera::IgnoreProjection ( bool  ignore)
inherited

Set whether or not the camera should ignore the Projection.

Parameters
ignore

Definition at line 2642 of file Camera.cpp.

References Isis::Camera::p_ignoreProjection.

Referenced by Isis::VimsSkyMap::Init(), Isis::VimsGroundMap::Init(), Isis::VimsGroundMap::SetGround(), Isis::VimsSkyMap::SetSky(), and Isis::VimsCamera::VimsCamera().

double Isis::Sensor::IncidenceAngle ( ) const
inherited
bool Isis::Camera::InCube ( )
inherited

This returns true if the current Sample() or Line() value is outside of the cube (meaning the point must have been extrapolated).

Returns
bool Point was extrapolated

Definition at line 2374 of file Camera.cpp.

References Isis::Camera::Line(), Isis::Camera::Lines(), Isis::Camera::Sample(), and Isis::Camera::Samples().

Referenced by Isis::MosaicSceneItem::drawImage(), Isis::InterestOperator::FindCnetRef(), Isis::SmtkMatcher::getLineSample(), Isis::UniversalGroundMap::SetGround(), and Isis::UniversalGroundMap::SetUniversalGround().

void Isis::Spice::instrumentBodyFixedPosition ( double  p[3]) const
inherited

Returns the spacecraft position in body-fixed frame km units.

Parameters
p[]Spacecraft position
See Also
setTime()
Exceptions
Isis::iException::Programmer- "You must call SetTime first"

Definition at line 724 of file Spice.cpp.

References _FILEINFO_.

void Isis::Spice::instrumentBodyFixedVelocity ( double  v[3]) const
inherited

Returns the spacecraft velocity in body-fixed frame km/sec units.

Parameters
v[]Spacecraft velocity

Definition at line 741 of file Spice.cpp.

References _FILEINFO_.

QString Isis::Camera::instrumentNameLong ( ) const
virtualinherited

This method returns the full instrument name.

Returns
QString

Implements Isis::Sensor.

Reimplemented in Isis::IdealCamera.

Definition at line 2603 of file Camera.cpp.

References Isis::Camera::m_instrumentNameLong.

QString Isis::Camera::instrumentNameShort ( ) const
virtualinherited

This method returns the shortened instrument name.

Returns
QString

Implements Isis::Sensor.

Reimplemented in Isis::IdealCamera.

Definition at line 2613 of file Camera.cpp.

References Isis::Camera::m_instrumentNameShort.

bool Isis::Camera::IntersectsLongitudeDomain ( Pvl pvl)
inherited

Checks whether the ground range intersects the longitude domain or not.

Parameters
pvlThe pvl file used to set the ground range
Returns
bool Returns true if the range intersects the longitude domain, and false if it does not

Definition at line 931 of file Camera.cpp.

References Isis::Camera::GroundRange().

bool Isis::Camera::IsBandIndependent ( )
virtualinherited
double Isis::Camera::LineResolution ( )
inherited

Returns the line resolution at the current position.

Returns
double The line resolution

Definition at line 494 of file Camera.cpp.

References Isis::Camera::DetectorResolution(), Isis::CameraDetectorMap::LineScaleFactor(), and Isis::Camera::p_detectorMap.

Referenced by Isis::CameraStatistics::addStats(), and Isis::Camera::PixelResolution().

void Isis::Camera::LoadCache ( )
inherited

This loads the spice cache big enough for this image.

The default cache size is the number of lines in the cube if the ephemeris time changes in the image, one otherwise.

History:
2011-02-08 Jeannie Walldren - Removed unused input parameter. Moved calculations of cache size and start/end ephemeris times to their own methods.

Definition at line 2184 of file Camera.cpp.

References Isis::AlphaCube::BetaLines(), Isis::AlphaCube::BetaSamples(), Isis::Camera::CacheSize(), Isis::Spice::createCache(), Isis::Camera::FocalLength(), Isis::Camera::p_alphaCube, Isis::Camera::p_ignoreProjection, Isis::Camera::PixelPitch(), Isis::Camera::PixelResolution(), Isis::Camera::SetBand(), Isis::Camera::SetImage(), Isis::Sensor::setTime(), Isis::Sensor::SpacecraftAltitude(), Isis::Camera::StartEndEphemerisTimes(), and Isis::Spice::target().

Referenced by Isis::AmicaCamera::AmicaCamera(), Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HiresCamera::HiresCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::HrscCamera::HrscCamera(), Isis::IdealCamera::IdealCamera(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::MarciCamera::MarciCamera(), Isis::Mariner10Camera::Mariner10Camera(), MdisCamera(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::NirCamera::NirCamera(), Isis::SsiCamera::SsiCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), Isis::ThemisVisCamera::ThemisVisCamera(), Isis::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), and Isis::VoyagerCamera::VoyagerCamera().

void Isis::Camera::LocalPhotometricAngles ( Angle phase,
Angle incidence,
Angle emission,
bool &  success 
)
inherited

Calculates LOCAL photometric angles using the DEM (not ellipsoid).

These calculations are more expensive computationally than Sensor's angle getter methods. Furthermore, this cost is mostly in calculating the local normal vector, which can be done only once for all angles using this method.

Parameters
phaseThe local phase angle to be calculated
emissionThe local emission angle to be calculated
incidenceThe local incidence angle to be calculated

Definition at line 1406 of file Camera.cpp.

References Isis::Spice::bodyRotation(), Isis::Sensor::Coordinate(), Isis::Camera::GetLocalNormal(), Isis::Sensor::GetSurfacePoint(), Isis::Spice::instrumentPosition(), Isis::Displacement::kilometers(), Isis::Spice::m_uB, Isis::Angle::Radians, and Isis::SpiceRotation::ReferenceVector().

Referenced by Isis::AdvancedTrackTool::updateRow().

Distance Isis::Sensor::LocalRadius ( Latitude  lat,
Longitude  lon 
)
inherited

Returns the local radius at the intersection point.

This is either the radius on the ellipsoid, the radius from the surface model passed into the constructor, or the radius set with SetUniversalGround.

Parameters
lat
lon
Returns
Distance The distance from the center of the planet to this lat,lon in meters.

Definition at line 299 of file Sensor.cpp.

References Isis::Target::shape(), and Isis::Spice::target().

Distance Isis::Sensor::LocalRadius ( double  lat,
double  lon 
)
inherited

Returns the local radius at the intersection point.

This is either the radius on the ellipsoid, the radius from the surface model passed into the constructor, or the radius set with SetUniversalGround.

Parameters
lat
lon
Returns
Distance The distance from the center of the planet to this lat,lon in meters.

Definition at line 315 of file Sensor.cpp.

References Isis::Angle::Degrees, Isis::Target::shape(), and Isis::Spice::target().

double Isis::Sensor::LocalSolarTime ( )
inherited

Return the local solar time in hours.

Returns
double Local solar time, in hours.

Definition at line 626 of file Sensor.cpp.

References Isis::Spice::subSolarPoint(), and Isis::Sensor::UniversalLongitude().

Referenced by Isis::CameraStatistics::addStats(), and Isis::AdvancedTrackTool::updateRow().

void Isis::Sensor::LookDirection ( double  v[3]) const
inherited

Returns the look direction in the camera coordinate system.

Parameters
v[]The look vector.

Definition at line 513 of file Sensor.cpp.

References Isis::Spice::bodyRotation(), Isis::Spice::instrumentRotation(), Isis::SpiceRotation::J2000Vector(), Isis::Sensor::m_lookB, and Isis::SpiceRotation::ReferenceVector().

double Isis::Camera::LowestImageResolution ( )
inherited

Returns the lowest/worst resolution in the entire image.

Returns
double The lowest/worst resolution in the image

Definition at line 516 of file Camera.cpp.

References Isis::Camera::GroundRangeResolution(), and Isis::Camera::p_maxres.

SpiceInt Isis::Spice::naifBodyCode ( ) const
inherited

This returns the NAIF body code of the target indicated in the labels.

Returns
SpiceInt NAIF body code

Definition at line 817 of file Spice.cpp.

Referenced by Isis::Camera::SpkCenterId().

SpiceInt Isis::Spice::naifBodyFrameCode ( ) const
inherited

This returns the NAIF body frame code.

It is read from the labels, if it exists. Otherwise, it's calculated by the init() method.

Returns
SpiceInt NAIF body frame code

Definition at line 865 of file Spice.cpp.

SpiceInt Isis::Spice::naifCkCode ( ) const
inherited

This returns the NAIF CK code to use when reading from CK kernels.

Returns
SpiceInt NAIF CK code

Definition at line 835 of file Spice.cpp.

SpiceInt Isis::Spice::naifIkCode ( ) const
inherited

This returns the NAIF IK code to use when reading from instrument kernels.

Returns
SpiceInt NAIF IK code

Definition at line 844 of file Spice.cpp.

Referenced by Isis::AmicaCamera::AmicaCamera(), Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HiresCamera::HiresCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::HrscCamera::HrscCamera(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::MarciCamera::MarciCamera(), Isis::Mariner10Camera::Mariner10Camera(), MdisCamera(), Isis::MiniRF::MiniRF(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::NirCamera::NirCamera(), Isis::Camera::SetFocalLength(), Isis::Camera::SetPixelPitch(), Isis::SsiCamera::SsiCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), Isis::ThemisVisCamera::ThemisVisCamera(), Isis::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), Isis::VimsCamera::VimsCamera(), and Isis::VoyagerCamera::VoyagerCamera().

SpiceInt Isis::Spice::naifSclkCode ( ) const
inherited

This returns the NAIF SCLK code to use when reading from instrument kernels.

Returns
SpiceInt NAIF SCLK code

Definition at line 854 of file Spice.cpp.

Referenced by Isis::CrismCamera::CrismCamera().

SpiceInt Isis::Spice::naifSpkCode ( ) const
inherited

This returns the NAIF SPK code to use when reading from SPK kernels.

Returns
SpiceInt NAIF SPK code

Definition at line 826 of file Spice.cpp.

Referenced by Isis::DawnVirCamera::readHouseKeeping(), and Isis::Camera::SpkTargetId().

double Isis::Camera::NorthAzimuth ( )
inherited
double Isis::Camera::OffNadirAngle ( )
inherited

Return the off nadir angle in degrees.

Returns
double Off Nadir Angle

Definition at line 1972 of file Camera.cpp.

References Isis::NaifStatus::CheckErrors(), Isis::Sensor::Coordinate(), Isis::Sensor::EmissionAngle(), Isis::Spice::instrumentPosition(), and Isis::PI().

int Isis::Camera::ParentSamples ( ) const
inherited
double Isis::Sensor::PhaseAngle ( ) const
inherited
QList< QPointF > Isis::Camera::PixelIfovOffsets ( )
virtualinherited

Returns the pixel ifov offsets from center of pixel, which defaults to the (pixel pitch * summing mode ) / 2.

If an instrument has a non-square ifov, it must implement this method to return the offsets from the center of the pixel.

Reimplemented from Isis::Sensor.

Reimplemented in Isis::VimsCamera.

Definition at line 2492 of file Camera.cpp.

References Isis::Camera::DetectorMap(), and Isis::Camera::PixelPitch().

bool Isis::Camera::RaDecRange ( double &  minra,
double &  maxra,
double &  mindec,
double &  maxdec 
)
inherited

Computes the RaDec range.

Parameters
minraMinimum right ascension value
maxraMaximum right ascension value
mindecMinimum declination value
maxdecMaximum declination value
Exceptions
iException::Programmer- "Camera::RaDecRange can not calculate a right ascension, declination range for projected images which are not projected to sky"
Returns
bool Returns true if the range computation was successful and false if it was not

Definition at line 1473 of file Camera.cpp.

References _FILEINFO_, Isis::Camera::Band(), Isis::Sensor::Declination(), Isis::Camera::IsBandIndependent(), Isis::Projection::IsSky(), Isis::Camera::Line(), Isis::Camera::p_bands, Isis::Camera::p_lines, Isis::Camera::p_maxdec, Isis::Camera::p_maxra, Isis::Camera::p_maxra180, Isis::Camera::p_mindec, Isis::Camera::p_minra, Isis::Camera::p_minra180, Isis::Camera::p_pointComputed, Isis::Camera::p_projection, Isis::Camera::p_samples, Isis::IException::Programmer, Isis::Sensor::RightAscension(), Isis::Camera::Sample(), Isis::Camera::SetBand(), Isis::Camera::SetImage(), and Isis::Camera::SetRightAscensionDeclination().

void Isis::Spice::radii ( Distance  r[3]) const
inherited

Returns the radii of the body in km.

The radii are obtained from the appropriate SPICE kernel for the body specified by TargetName in the Instrument group of the labels.

Parameters
r[]Radii of the target in kilometers

Definition at line 806 of file Spice.cpp.

Referenced by Isis::Camera::BasicMapping(), Isis::Camera::GroundRange(), Isis::VimsGroundMap::Init(), Isis::BundleAdjust::Init(), Isis::MiniRF::MiniRF(), Isis::SunShadowTool::recalculateShadowHeight(), Isis::RadarGroundMap::SetFocalPlane(), and Isis::AdvancedTrackTool::updateRow().

QVariant Isis::Spice::readValue ( QString  key,
SpiceValueType  type,
int  index = 0 
)
protectedinherited

This should be used for reading ALL text naif kernel values.

This will read it from Naif if we're using naif/not attached kernels. If we have attached kernels and a NaifKeywords label object we will grab it from there instead. This allows us to not furnish kernels after spiceinit.

Parameters
keyThe naif keyword/value name
typeThe naif value's primitive type
indexThe index into the naif keyword array to read

Definition at line 960 of file Spice.cpp.

References _FILEINFO_.

Referenced by Isis::IdealCamera::IdealCamera().

int Isis::Camera::ReferenceBand ( ) const
inherited

Returns the reference band.

Returns
int Reference Band

Definition at line 2411 of file Camera.cpp.

References Isis::Camera::p_referenceBand.

Referenced by Isis::ThemisVisCamera::BandEphemerisTimeOffset(), and Isis::ThemisIrCamera::SetBand().

double Isis::Camera::resolution ( )
virtualinherited

Returns the resolution of the camera.

Returns
double pixel resolution

Reimplemented from Isis::Sensor.

Definition at line 2465 of file Camera.cpp.

References Isis::Camera::PixelResolution().

double Isis::Sensor::RightAscension ( )
inherited

Returns the right ascension angle (sky longitude).

Returns
double The angle of right ascension, in degrees.

Definition at line 531 of file Sensor.cpp.

References Isis::Sensor::computeRaDec(), Isis::Sensor::m_newLookB, and Isis::Sensor::m_ra.

Referenced by Isis::VimsSkyMap::Init(), Isis::Camera::RaDecRange(), Isis::Camera::RaDecResolution(), Isis::Camera::RawFocalPlanetoImage(), and Isis::AdvancedTrackTool::updateRow().

bool Isis::Camera::ringRange ( double &  minRingRadius,
double &  maxRingRadius,
double &  minRingLongitude,
double &  maxRingLongitude,
Pvl pvl 
)
inherited

Analogous to the above Ground Range method.

Computes Range on the ring plane

Parameters
minRingRadiusThe minimum ring radius
maxRingRadiusThe maximum ring radius
minRingLongitudeThe minimum ring longitude
maxRingLongitudeThe maximum ring longitude
pvlThe pvl file used for ring range calculations
Returns
bool Returns true if it crosses the longitude domain boundary and false if it does not

Definition at line 1052 of file Camera.cpp.

References Isis::PvlObject::findGroup(), Isis::PvlContainer::hasKeyword(), Isis::Camera::p_maxRingLongitude, Isis::Camera::p_maxRingLongitude180, Isis::Camera::p_maxRingRadius, Isis::Camera::p_minRingLongitude, Isis::Camera::p_minRingLongitude180, Isis::Camera::p_minRingRadius, Isis::Camera::ringRangeResolution(), and Isis::PvlObject::Traverse.

double Isis::Camera::SampleResolution ( )
inherited

Returns the sample resolution at the current position.

Returns
double The sample resolution

Definition at line 485 of file Camera.cpp.

References Isis::Camera::DetectorResolution(), Isis::Camera::p_detectorMap, and Isis::CameraDetectorMap::SampleScaleFactor().

Referenced by Isis::CameraStatistics::addStats(), and Isis::Camera::PixelResolution().

void Isis::Camera::SetDetectorMap ( CameraDetectorMap map)
inherited

Sets the Detector Map.

This object will take ownership of the detector map pointer.

Parameters
*mapPointer to a CameraDetectorMap object

Definition at line 2139 of file Camera.cpp.

References Isis::Camera::p_detectorMap.

Referenced by Isis::CameraDetectorMap::CameraDetectorMap().

void Isis::Camera::SetDistortionMap ( CameraDistortionMap map)
inherited

Sets the Distortion Map.

This object will take ownership of the distortion map pointer.

Parameters
*mapPointer to a CameraDistortionMap object

Definition at line 2111 of file Camera.cpp.

References Isis::Camera::p_distortionMap.

Referenced by Isis::CameraDistortionMap::CameraDistortionMap().

void Isis::Camera::SetFocalLength ( double  v)
protectedinherited

Sets the focal length.

Parameters
vFocal Length

Definition at line 2731 of file Camera.cpp.

References Isis::Camera::p_focalLength.

Referenced by Isis::RadarSlantRangeMap::SetFocalPlane(), and Isis::RadarGroundMap::SetGround().

void Isis::Camera::SetFocalLength ( )
protectedinherited

Reads the focal length from the instrument kernel.

Definition at line 1176 of file Camera.cpp.

References Isis::Spice::getDouble(), Isis::Spice::naifIkCode(), and Isis::toString().

Referenced by Isis::AmicaCamera::AmicaCamera(), Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HiresCamera::HiresCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::HrscCamera::HrscCamera(), Isis::IdealCamera::IdealCamera(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::MarciCamera::MarciCamera(), Isis::Mariner10Camera::Mariner10Camera(), MdisCamera(), Isis::MiniRF::MiniRF(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::NirCamera::NirCamera(), Isis::LroWideAngleCamera::SetBand(), Isis::SsiCamera::SsiCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), Isis::ThemisVisCamera::ThemisVisCamera(), Isis::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), Isis::VimsCamera::VimsCamera(), and Isis::VoyagerCamera::VoyagerCamera().

void Isis::Camera::SetFocalPlaneMap ( CameraFocalPlaneMap map)
inherited

Sets the Focal Plane Map.

This object will take ownership of the focal plane map pointer.

Parameters
*mapPointer to a CameraFocalPlaneMap object

Definition at line 2125 of file Camera.cpp.

References Isis::Camera::p_focalPlaneMap.

Referenced by Isis::CameraFocalPlaneMap::CameraFocalPlaneMap(), and Isis::CameraFocalPlaneMap::Init().

void Isis::Camera::SetGeometricTilingHint ( int  startSize = 128,
int  endSize = 8 
)
protectedinherited

This method sets the best geometric tiling size for projecting from this camera model.

This is used by cam2map/ProcessRubberSheet. When cubes are projected, an attempt is made to use linear equations to take large, square chunks of data at a time to cull the amount of SetUniversalGround(...) calls necessary to project a cube. If the chunk of data fails to be linear, then it will be split up into 4 corners and each of the new chunks (corners) are reconsidered up until endSize is reached - the endsize size will be considered, it is inclusive. The startSize must be a power of 2 greater than 2, and the endSize must be a power of 2 equal to or less than the start size but greater than 2. If both the startSize and endSize are set to 2 then no geometric tiling will be enabled.

Parameters
startSizeThe tile size to start with; default 128
endSizeThe tile size to give up at; default 8

Definition at line 2310 of file Camera.cpp.

References _FILEINFO_, Isis::Camera::p_geometricTilingEndSize, Isis::Camera::p_geometricTilingStartSize, and Isis::IException::Programmer.

Referenced by Isis::Camera::Camera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), and Isis::MarciCamera::MarciCamera().

bool Isis::Sensor::SetGround ( const SurfacePoint surfacePt,
bool  backCheck = true 
)
inherited

This overloaded method has the opposite function as SetLookDirection.

Instead of computing a point on the target, a point is set and the look direction is computed. Other methods such as lat/lon, phase, incidence, etc. can be used if this method returns a true.

Parameters
backCheckIf true this method will check the lat/lon point to see if it falls on the backside of the target (or beyond the horizon). If false this test will not occur. Defaults to true.
Returns
bool

Definition at line 440 of file Sensor.cpp.

References Isis::ShapeModel::clearSurfacePoint(), Isis::Sensor::SetGroundLocal(), Isis::ShapeModel::setSurfacePoint(), Isis::Target::shape(), and Isis::Spice::target().

bool Isis::Camera::SetGround ( Latitude  latitude,
Longitude  longitude 
)
inherited

Sets the lat/lon values to get the sample/line values.

Parameters
latitudeLatitude coordinate of the point
longitudeLongitude coordinate of the point
Returns
bool Returns true if the Universal Ground was set successfully and false if it was not

Definition at line 306 of file Camera.cpp.

References Isis::ShapeModel::clearSurfacePoint(), Isis::Angle::Degrees, Isis::Angle::degrees(), Isis::Distance::isValid(), Isis::Distance::Kilometers, Isis::Sensor::LocalRadius(), Isis::ShapeModel::name(), Isis::Target::shape(), and Isis::Spice::target().

Referenced by Isis::Camera::GroundRangeResolution(), Isis::Camera::ringRangeResolution(), Isis::UniversalGroundMap::SetGround(), and Isis::Camera::SetImage().

bool Isis::Camera::SetGround ( const SurfacePoint surfacePt)
inherited

Sets the lat/lon/radius values to get the sample/line values.

Parameters
latitudeLatitude coordinate of the point
longitudeLongitude coordinate of the point
Returns
bool Returns true if the Universal Ground was set successfully and false if it was not

Definition at line 337 of file Camera.cpp.

References Isis::ShapeModel::clearSurfacePoint(), Isis::Camera::p_groundMap, Isis::Camera::RawFocalPlanetoImage(), Isis::CameraGroundMap::SetGround(), Isis::Target::shape(), and Isis::Spice::target().

void Isis::Camera::SetGroundMap ( CameraGroundMap map)
inherited

Sets the Ground Map.

This object will take ownership of the ground map pointer.

Parameters
*mapPointer to a CameraGroundMap object

Definition at line 2153 of file Camera.cpp.

References Isis::Camera::p_groundMap.

bool Isis::Camera::SetImage ( const double  sample,
const double  line 
)
inherited

Sets the sample/line values of the image to get the lat/lon values.

Parameters
sampleSample coordinate of the cube
lineLine coordinate of the cube
Returns
bool Returns true if the image was set successfully and false if it was not

Definition at line 163 of file Camera.cpp.

References Isis::AlphaCube::AlphaLine(), Isis::AlphaCube::AlphaSample(), Isis::ShapeModel::clearSurfacePoint(), Isis::Angle::Degrees, Isis::CameraDetectorMap::DetectorLine(), Isis::CameraDetectorMap::DetectorSample(), Isis::CameraFocalPlaneMap::FocalPlaneX(), Isis::CameraFocalPlaneMap::FocalPlaneY(), Isis::Sensor::HasSurfaceIntersection(), Isis::Projection::IsSky(), Isis::Angle::isValid(), Isis::Sensor::LocalRadius(), Isis::TProjection::Longitude(), Isis::Distance::Meters, Isis::ShapeModel::name(), Isis::Camera::p_alphaCube, Isis::Camera::p_childLine, Isis::Camera::p_childSample, Isis::Camera::p_detectorMap, Isis::Camera::p_distortionMap, Isis::Camera::p_focalPlaneMap, Isis::Camera::p_groundMap, Isis::Camera::p_ignoreProjection, Isis::Camera::p_pointComputed, Isis::Camera::p_projection, Isis::CameraFocalPlaneMap::SetDetector(), Isis::CameraDistortionMap::SetFocalPlane(), Isis::CameraGroundMap::SetFocalPlane(), Isis::Camera::SetGround(), Isis::ShapeModel::setHasIntersection(), Isis::CameraDetectorMap::SetParent(), Isis::Camera::SetRightAscensionDeclination(), Isis::Projection::SetWorld(), Isis::Target::shape(), Isis::Spice::target(), Isis::CameraDistortionMap::UndistortedFocalPlaneX(), Isis::CameraDistortionMap::UndistortedFocalPlaneY(), Isis::CameraDistortionMap::UndistortedFocalPlaneZ(), Isis::TProjection::UniversalLatitude(), Isis::TProjection::UniversalLongitude(), Isis::RingPlaneProjection::UniversalRingLongitude(), and Isis::RingPlaneProjection::UniversalRingRadius().

Referenced by Isis::QnetTool::addMeasure(), Isis::BundleAdjust::AddPartials(), Isis::CameraStatistics::addStats(), Isis::BundleAdjust::ApproximatePoint_ClosestApproach(), Isis::StereoTool::calculateElevation(), Isis::ControlPoint::ComputeApriori(), Isis::Camera::ComputeAzimuth(), Isis::BundleAdjust::ComputePartials_DC(), Isis::ControlPoint::ComputeResiduals(), Isis::ControlPoint::ComputeResiduals_Millimeters(), Isis::ProjectionFactory::CreateForCube(), Isis::QnetPointDistanceFilter::filter(), Isis::QnetCubeDistanceFilter::filter(), Isis::InterestOperator::FindCnetRef(), Isis::QnetTool::findPointLocation(), Isis::SmtkMatcher::getLatLon(), Isis::Camera::GetLocalNormal(), Isis::Camera::GroundRangeResolution(), Isis::VimsSkyMap::Init(), Isis::VimsGroundMap::Init(), Isis::InterestOperator::InterestByMeasure(), Isis::Chip::Load(), Isis::Camera::LoadCache(), Isis::ControlNetValidMeasure::MetersFromEdge(), Isis::SunShadowTool::mouseButtonPress(), Isis::ControlNetFilter::PointDistanceFilter(), Isis::ControlNetFilter::PointLatLonFilter(), Isis::CubeCalculator::prepareCalculations(), Isis::Camera::RaDecRange(), Isis::Camera::RaDecResolution(), Isis::SunShadowTool::recalculateShadowHeight(), Isis::Camera::ringRangeResolution(), Isis::ProjectionFactory::RingsCreateForCube(), Isis::QnetSetAprioriDialog::setApriori(), Isis::VimsGroundMap::SetGround(), Isis::UniversalGroundMap::SetImage(), Isis::VimsSkyMap::SetSky(), Isis::Camera::StartEndEphemerisTimes(), Isis::MeasureTool::updateDist(), Isis::TrackTool::updateLabels(), Isis::AdvancedTrackTool::updateRow(), and Isis::VimsCamera::VimsCamera().

bool Isis::Sensor::SetLookDirection ( const double  v[3])
inherited

Sets the look direction of the spacecraft.

This routine will then attempt to intersect the look direction with the target. If successful you can utilize the methods which return the lat/lon, phase, incidence, etc. This routine returns false if the look direction does not intersect the target.

Parameters
v[]A look vector in camera coordinates. For example, (0,0,1) is usually the look direction out of the boresight of a camera.
Returns
bool Indicates whether the given look direction intersects the target.
History:
2009-09-23 Tracie Sucharski - Convert negative longitudes returned my reclat.
History:
2010-09-15 Janet Barrett - Modified this method to use a new algorithm for finding the intersection of a ray with the DEM. This was required to take care of problems that were encountered at the poles of global DEM files. The algorithm that is being used was taken from "Intersection between spacecraft viewing vectors and digital elevation models" by N.A. Teanby. This algorithm only works on Equatorial Cylindrical projections. Other projections still use the previous algorithm.
History:
2010-10-26 Janet Barrett - The tolerance value of 1E-5 was too small and was causing a divide by zero error when the current and last intersections were virtually the same. The tolerance was changed to 3E-8 * a (where a is the equatorial radius of the planet we are dealing with).
History:
2011-01-24 Janet Barrett - Got rid of extra loop that wasn't needed for the new ray tracing algorithm.
History:
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.

Definition at line 156 of file Sensor.cpp.

References Isis::Spice::bodyRotation(), Isis::Sensor::Coordinate(), Isis::Spice::instrumentPosition(), Isis::Spice::instrumentRotation(), Isis::SpiceRotation::J2000Vector(), Isis::Sensor::m_lookB, Isis::Sensor::m_newLookB, Isis::SpiceRotation::ReferenceVector(), Isis::ShapeModel::setHasIntersection(), Isis::Target::shape(), and Isis::Spice::target().

Referenced by Isis::CameraSkyMap::SetFocalPlane(), Isis::VimsSkyMap::SetFocalPlane(), Isis::VimsGroundMap::SetFocalPlane(), and Isis::Sensor::SetRightAscensionDeclination().

void Isis::Camera::SetPixelPitch ( double  v)
protectedinherited

Sets the pixel pitch.

Parameters
vPixel Pitch

Definition at line 2740 of file Camera.cpp.

References Isis::Camera::p_pixelPitch.

void Isis::Camera::SetPixelPitch ( )
protectedinherited

Reads the Pixel Pitch from the instrument kernel.

Definition at line 1183 of file Camera.cpp.

References Isis::Spice::getDouble(), Isis::Spice::naifIkCode(), and Isis::toString().

Referenced by Isis::AmicaCamera::AmicaCamera(), Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HiresCamera::HiresCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::HrscCamera::HrscCamera(), Isis::IdealCamera::IdealCamera(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::MarciCamera::MarciCamera(), Isis::Mariner10Camera::Mariner10Camera(), MdisCamera(), Isis::MiniRF::MiniRF(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::NirCamera::NirCamera(), Isis::SsiCamera::SsiCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), Isis::ThemisVisCamera::ThemisVisCamera(), Isis::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), Isis::VimsCamera::VimsCamera(), and Isis::VoyagerCamera::VoyagerCamera().

bool Isis::Camera::SetRightAscensionDeclination ( const double  ra,
const double  dec 
)
inherited
void Isis::Camera::SetSkyMap ( CameraSkyMap map)
inherited

Sets the Sky Map.

This object will take ownership of the sky map pointer.

Parameters
*mapPointer to a CameraSkyMap object

Definition at line 2166 of file Camera.cpp.

References Isis::Camera::p_skyMap.

Referenced by Isis::CameraSkyMap::CameraSkyMap().

void Isis::Sensor::setTime ( const iTime time)
inherited

By setting the time you essential set the position of the spacecraft and body as indicated in the class Spice.

However, after this is invoked there will be no intersection point until SetLookDirection or SetUniversalGround is invoked. (Read NAIF documentation for a detailed description of ephemeris time.)

Parameters
timeEphemeris time.

Reimplemented from Isis::Spice.

Definition at line 112 of file Sensor.cpp.

References Isis::ShapeModel::clearSurfacePoint(), Isis::Target::shape(), and Isis::Spice::target().

Referenced by Isis::AmicaCamera::AmicaCamera(), Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::CrismCamera::CrismCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HiresCamera::HiresCamera(), Isis::IdealCamera::IdealCamera(), Isis::VimsSkyMap::Init(), Isis::VimsGroundMap::Init(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::Camera::LoadCache(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::Mariner10Camera::Mariner10Camera(), MdisCamera(), Isis::MiniRF::MiniRF(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NirCamera::NirCamera(), Isis::NewHorizonsMvicFrameCamera::SetBand(), Isis::ThemisVisCamera::SetBand(), Isis::VimsSkyMap::SetFocalPlane(), Isis::VimsGroundMap::SetFocalPlane(), Isis::PushFrameCameraDetectorMap::SetFramelet(), Isis::VariableLineScanCameraDetectorMap::SetParent(), Isis::RadarPulseMap::SetParent(), Isis::LineScanCameraDetectorMap::SetParent(), Isis::SsiCamera::SsiCamera(), Isis::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), and Isis::VoyagerCamera::VoyagerCamera().

bool Isis::Sensor::SetUniversalGround ( const double  latitude,
const double  longitude,
bool  backCheck = true 
)
inherited

This is the opposite routine for SetLookDirection.

Instead of computing a point on the target, a point is set and the look direction is computed. Other methods such as lat/lon, phase, incidence, etc. can be used if this method returns a true.

Parameters
latitudePlanetocentric latitude.
longitudePositive east longitude.
backCheckIf true this method will check the lat/lon point to see if it falls on the backside of the target (or beyond the horizon). If false this test will not occur. Defaults to true.
Returns
bool True if the look direction intersects the target.

Definition at line 370 of file Sensor.cpp.

References Isis::ShapeModel::clearSurfacePoint(), Isis::Angle::Degrees, Isis::Sensor::LocalRadius(), Isis::Sensor::SetGroundLocal(), Isis::SurfacePoint::SetSpherical(), Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().

bool Isis::Sensor::SetUniversalGround ( const double  latitude,
const double  longitude,
const double  radius,
bool  backCheck = true 
)
inherited

This overloaded method has the opposite function as SetLookDirection.

Instead of computing a point on the target, a point is set and the look direction is computed. Other methods such as lat/lon, phase, incidence, etc. can be used if this method returns a true.

Parameters
latitudePlanetocentric latitude in degrees.
longitudePositive east longitude in degrees.
radiusRadius in meters.
backCheckIf true this method will check the lat/lon point to see if it falls on the backside of the target (or beyond the horizon). If false this test will not occur. Defaults to true.
Returns
bool True if the look direction intersects the target.

Definition at line 405 of file Sensor.cpp.

References Isis::ShapeModel::clearSurfacePoint(), Isis::Angle::Degrees, Isis::Distance::Meters, Isis::Sensor::SetGroundLocal(), Isis::SurfacePoint::SetSpherical(), Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().

bool Isis::Camera::SetUniversalGround ( const double  latitude,
const double  longitude 
)
inherited
bool Isis::Camera::SetUniversalGround ( const double  latitude,
const double  longitude,
const double  radius 
)
inherited

Sets the lat/lon/radius values to get the sample/line values.

Parameters
latitudeLatitude coordinate of the cube
longitudeLongitude coordinate of the cube
radiusRadius coordinate of the cube
Returns
bool Returns true if the Universal Ground was set successfully and false if it was not

Definition at line 447 of file Camera.cpp.

References Isis::ShapeModel::clearSurfacePoint(), Isis::Angle::Degrees, Isis::Distance::Meters, Isis::Camera::p_groundMap, Isis::Camera::RawFocalPlanetoImage(), Isis::CameraGroundMap::SetGround(), Isis::Target::shape(), and Isis::Spice::target().

pair< iTime, iTime > Isis::MdisCamera::ShutterOpenCloseTimes ( double  time,
double  exposureDuration 
)
virtual

Returns the shutter open and close times.

The user should pass in the ExposureDuration keyword value, converted from milliseconds to seconds, and the SpacecraftClockCount keyword value, converted to ephemeris time. The StartTime keyword value from the labels represents the shutter open time of the observation. This method uses the FramingCamera class implementation, returning the given time value as the shutter open and the sum of the time value and exposure duration as the shutter close.

Parameters
exposureDurationExposure duration value from the labels, converted to seconds.
timeThe SpacecraftClockCount value from the labels, converted to ephemeris time
Returns
pair < iTime, iTime > The first value is the shutter open time and the second is the shutter close time.
See Also
Author
2011-05-03 Jeannie Walldren
History:
2011-05-03 Jeannie Walldren - Original version.

Implements Isis::FramingCamera.

Definition at line 271 of file MdisCamera.cpp.

CameraSkyMap * Isis::Camera::SkyMap ( )
inherited

Returns a pointer to the CameraSkyMap object.

Returns
CameraSkyMap*

Reimplemented in Isis::LineScanCamera.

Definition at line 2593 of file Camera.cpp.

References Isis::Camera::p_skyMap.

Referenced by Isis::VimsCamera::VimsCamera().

double Isis::Sensor::SlantDistance ( ) const
inherited
double Isis::Sensor::SolarDistance ( ) const
inherited

Returns the distance between the sun and surface point in AU.

Returns
double Solar distance.

Definition at line 643 of file Sensor.cpp.

References Isis::Displacement::kilometers(), Isis::Target::shape(), Isis::Spice::sunPosition(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().

Longitude Isis::Spice::solarLongitude ( )
inherited

Returns the solar longitude.

Returns
double The Solar Longitude

Definition at line 1317 of file Spice.cpp.

Referenced by Isis::AdvancedTrackTool::updateRow().

double Isis::Sensor::SpacecraftAltitude ( )
inherited

Returns the distance from the spacecraft to the subspacecraft point in km.

It uses the ellipsoid, not the shape model.

Returns
double Spacecraft altitude.

Definition at line 667 of file Sensor.cpp.

References Isis::Spice::instrumentPosition(), Isis::Distance::kilometers(), Isis::Sensor::LocalRadius(), Isis::PI(), and Isis::Spice::subSpacecraftPoint().

Referenced by Isis::CrismCamera::CrismCamera(), Isis::Camera::LoadCache(), Isis::MiniRF::MiniRF(), and Isis::VimsCamera::VimsCamera().

double Isis::Camera::SpacecraftAzimuth ( )
inherited

Return the Spacecraft Azimuth.

Returns
double Spacecraft Azimuth
Todo:
Get appropriate radius at the subscraft point

Definition at line 1711 of file Camera.cpp.

References Isis::Camera::ComputeAzimuth(), Isis::Sensor::LocalRadius(), and Isis::Spice::subSpacecraftPoint().

Referenced by Isis::AdvancedTrackTool::updateRow().

QString Isis::Camera::spacecraftNameLong ( ) const
virtualinherited

This method returns the full spacecraft name.

Returns
QString

Implements Isis::Sensor.

Reimplemented in Isis::IdealCamera.

Definition at line 2623 of file Camera.cpp.

References Isis::Camera::m_spacecraftNameLong.

QString Isis::Camera::spacecraftNameShort ( ) const
virtualinherited

This method returns the shortened spacecraft name.

Returns
QString

Implements Isis::Sensor.

Reimplemented in Isis::IdealCamera.

Definition at line 2633 of file Camera.cpp.

References Isis::Camera::m_spacecraftNameShort.

void Isis::Sensor::SpacecraftSurfaceVector ( double  scSurfaceVector[3]) const
inherited

Sets the vector between the spacecraft and surface point in body-fixed.

Parameters
scSurfaceVectorThe direction vector from the observer to the surface intersection.
Author
2011-12-20 Tracie Sucharski

Definition at line 591 of file Sensor.cpp.

References Isis::Sensor::m_lookB.

int Isis::Camera::SpkCenterId ( ) const
virtualinherited

Provides the center of motion body for SPK NAIF kernel.

This virtual method may need to be implemented in each camera model providing the NAIF integer code for the center of motion of the object identified by the SpkTargetId() code. This is typically the targeted body for a particular image observation, but may be unique depending upon the design of the SPK mission kernels.

This value can be easily determined by using the NAIF spacit application that sumarizes binary kernels on the SPK kernel used for a particular instrument on a spacecraft. spacit will additionally require a leap seconds kernel (LSK). For example, the output of the MESSENGER SPK camera supporting the MDIS camera below indicates it is Venus.

Segment ID : msgr_20050903_20061125_recon002.nio
Target Body : Body -236, MESSENGER
Center Body : Body 2, VENUS BARYCENTER
Reference frame: Frame 1, J2000
SPK Data Type : Type 1
Description : Modified Difference Array
UTC Start Time : 2006 OCT 16 19:25:41.111
UTC Stop Time : 2006 OCT 31 22:14:24.040
ET Start Time : 2006 OCT 16 19:26:46.293
ET Stop time : 2006 OCT 31 22:15:29.222

The SpkCenterId value is found in the "Center Body" entry (2). The center of motion is most likely the targeted body for the image and this is provided by the naifBodyCode() method (in the Spice class). If this is not consistently the case for a particular mission, then camera models will need to reimplement this method.

Returns
int NAIF code for SPK center of motion body for an instrument

Reimplemented in Isis::VimsCamera, Isis::IssWACamera, Isis::IssNACamera, and Isis::IdealCamera.

Definition at line 2722 of file Camera.cpp.

References Isis::Spice::naifBodyCode().

virtual int Isis::MdisCamera::SpkReferenceId ( ) const
inlinevirtual

SPK Reference ID - J2000.

Returns
int The appropriate instrument code for the Spacecraft Kernel Reference ID

Implements Isis::Camera.

Definition at line 144 of file MdisCamera.h.

virtual int Isis::MdisCamera::SpkTargetId ( ) const
inlinevirtual

SPK Target Body ID - MESSENGER spacecraft -236.

Returns
int The appropriate instrument code for the Spacecraft Kernel Target ID

Reimplemented from Isis::Camera.

Definition at line 137 of file MdisCamera.h.

pair< double, double > Isis::Camera::StartEndEphemerisTimes ( )
inherited

Calculates the start and end ephemeris times.

These times are found by looping through the bands and finding the ephemeris times for the upper left and bottom right pixels in the image. The start time (shutter open time) is the minimum value of those ephemeris times. The end time (shutter close time) is the maximum value of those ephemeris times. This method must be called before a call to the Spice::createCache() method. It is called in the LoadCache() method.

Exceptions
iException::Programmer- "Unable to find time range for the spice kernels."
See Also
createCache()
LoadCache()
Author
2011-02-02 Jeannie Walldren
History:
2011-02-02 Jeannie Walldren - Original version.

Definition at line 2241 of file Camera.cpp.

References _FILEINFO_, Isis::Camera::Bands(), Isis::AlphaCube::BetaLines(), Isis::AlphaCube::BetaSamples(), Isis::iTime::Et(), Isis::Camera::p_alphaCube, Isis::IException::Programmer, Isis::Camera::SetBand(), Isis::Camera::SetImage(), and Isis::Spice::time().

Referenced by Isis::Camera::LoadCache().

void Isis::Spice::subSolarPoint ( double &  lat,
double &  lon 
)
inherited

Returns the sub-solar latitude/longitude in universal coordinates (0-360 positive east, ocentric)

Parameters
latSub-solar latitude
lonSub-solar longitude
See Also
setTime()
Exceptions
Isis::IException::Programmer- "You must call SetTime first."

Definition at line 1193 of file Spice.cpp.

References _FILEINFO_, and Isis::PI().

Referenced by Isis::Sensor::LocalSolarTime(), and Isis::Camera::SunAzimuth().

void Isis::Spice::subSpacecraftPoint ( double &  lat,
double &  lon 
)
inherited

Returns the sub-spacecraft latitude/longitude in universal coordinates (0-360 positive east, ocentric)

Parameters
latSub-spacecraft latitude
lonSub-spacecraft longitude
See Also
setTime()
Exceptions
Isis::IException::Programmer- "You must call SetTime first."

Definition at line 1145 of file Spice.cpp.

References _FILEINFO_, and Isis::PI().

Referenced by Isis::Camera::GroundRangeResolution(), Isis::Sensor::SpacecraftAltitude(), and Isis::Camera::SpacecraftAzimuth().

double Isis::Camera::SunAzimuth ( )
inherited

Returns the Sun Azimuth.

Returns
double Sun Azimuth
Todo:
Get appropriate radius at the subsolar point

Definition at line 1698 of file Camera.cpp.

References Isis::Camera::ComputeAzimuth(), Isis::Sensor::LocalRadius(), and Isis::Spice::subSolarPoint().

Referenced by Isis::SunShadowTool::mouseButtonPress(), and Isis::AdvancedTrackTool::updateRow().

void Isis::Spice::sunPosition ( double  p[3]) const
inherited

Fills the input vector with sun position information, in either body-fixed or J2000 reference frame and km units.

Parameters
p[]Sun position
See Also
setTime()

Definition at line 779 of file Spice.cpp.

References _FILEINFO_.

Referenced by Isis::SunShadowTool::recalculateShadowHeight().

SpicePosition * Isis::Spice::sunPosition ( ) const
inherited

Accessor method for the sun position.

Returns
iTime Sun position for the image.
Author
Steven Lambright
History:
2011-02-09 Steven Lambright - Original version.

Definition at line 1384 of file Spice.cpp.

Referenced by Isis::Sensor::SolarDistance().

double Isis::Spice::targetCenterDistance ( ) const
inherited

Calculates and returns the distance from the spacecraft to the target center.

Returns
double Distance to the center of the target from the spacecraft

Definition at line 794 of file Spice.cpp.

QString Isis::Spice::targetName ( ) const
inherited

Returns the string name of the target.

Returns
string

Definition at line 1241 of file Spice.cpp.

References Isis::Target::name().

Member Data Documentation

SpiceDouble Isis::Spice::m_BJ[3][3]
protectedinherited

This contains the transformation matrix from J2000 (J) to Body fixed (B).

Recall that the transpose of this matrix JB will convert from body-fixed to J2000. It is left in protected space so that conversions between double and SpiceDouble do not have to occur in inheriting classes.

Definition at line 358 of file Spice.h.

QString Isis::Camera::m_instrumentNameLong
protectedinherited

Full instrument name.

Definition at line 441 of file Camera.h.

Referenced by Isis::AmicaCamera::AmicaCamera(), Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Camera::Camera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HiresCamera::HiresCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::HrscCamera::HrscCamera(), Isis::Camera::instrumentNameLong(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::MarciCamera::MarciCamera(), Isis::Mariner10Camera::Mariner10Camera(), MdisCamera(), Isis::MiniRF::MiniRF(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::NirCamera::NirCamera(), Isis::SsiCamera::SsiCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), Isis::ThemisVisCamera::ThemisVisCamera(), Isis::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), Isis::VimsCamera::VimsCamera(), and Isis::VoyagerCamera::VoyagerCamera().

QString Isis::Camera::m_instrumentNameShort
protectedinherited

Shortened instrument name.

Definition at line 442 of file Camera.h.

Referenced by Isis::AmicaCamera::AmicaCamera(), Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Camera::Camera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HiresCamera::HiresCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::HrscCamera::HrscCamera(), Isis::Camera::instrumentNameShort(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::MarciCamera::MarciCamera(), Isis::Mariner10Camera::Mariner10Camera(), MdisCamera(), Isis::MiniRF::MiniRF(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::NirCamera::NirCamera(), Isis::SsiCamera::SsiCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), Isis::ThemisVisCamera::ThemisVisCamera(), Isis::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), Isis::VimsCamera::VimsCamera(), and Isis::VoyagerCamera::VoyagerCamera().

QString Isis::Camera::m_spacecraftNameLong
protectedinherited

Full spacecraft name.

Definition at line 443 of file Camera.h.

Referenced by Isis::AmicaCamera::AmicaCamera(), Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Camera::Camera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HiresCamera::HiresCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::HrscCamera::HrscCamera(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::MarciCamera::MarciCamera(), Isis::Mariner10Camera::Mariner10Camera(), MdisCamera(), Isis::MiniRF::MiniRF(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::NirCamera::NirCamera(), Isis::Camera::spacecraftNameLong(), Isis::SsiCamera::SsiCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), Isis::ThemisVisCamera::ThemisVisCamera(), Isis::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), Isis::VimsCamera::VimsCamera(), and Isis::VoyagerCamera::VoyagerCamera().

QString Isis::Camera::m_spacecraftNameShort
protectedinherited

Shortened spacecraft name.

Definition at line 444 of file Camera.h.

Referenced by Isis::AmicaCamera::AmicaCamera(), Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Camera::Camera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HiresCamera::HiresCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::HrscCamera::HrscCamera(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::MarciCamera::MarciCamera(), Isis::Mariner10Camera::Mariner10Camera(), MdisCamera(), Isis::MiniRF::MiniRF(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::NirCamera::NirCamera(), Isis::Camera::spacecraftNameShort(), Isis::SsiCamera::SsiCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), Isis::ThemisVisCamera::ThemisVisCamera(), Isis::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), Isis::VimsCamera::VimsCamera(), and Isis::VoyagerCamera::VoyagerCamera().

SpiceDouble Isis::Spice::m_uB[3]
protectedinherited

This contains the sun position (u) in the bodyfixed reference frame (B).

It is left protected so that conversions between double and SpiceDouble do not have to occur in inheriting classes. Units are km

Definition at line 353 of file Spice.h.

Referenced by Isis::Sensor::IncidenceAngle(), Isis::Camera::LocalPhotometricAngles(), and Isis::Sensor::PhaseAngle().


The documentation for this class was generated from the following files: