Isis 3 Programmer Reference
Isis::Sensor Class Referenceabstract

Class for computing sensor ground coordinates. More...

#include <Sensor.h>

Inheritance diagram for Isis::Sensor:
Inheritance graph
Collaboration diagram for Isis::Sensor:
Collaboration graph

Public Member Functions

 Sensor (Cube &cube)
 Constructs a Sensor object and loads SPICE kernels using information from the label object. More...
 
virtual ~Sensor ()
 Destroys the Sensor. More...
 
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. More...
 
bool SetLookDirection (const double v[3])
 Sets the look direction of the spacecraft. More...
 
bool SetRightAscensionDeclination (const double ra, const double dec)
 Given the ra/dec compute the look direction. More...
 
bool SetUniversalGround (const double latitude, const double longitude, bool backCheck=true)
 This is the opposite routine for SetLookDirection. More...
 
bool SetUniversalGround (const double latitude, const double longitude, const double radius, bool backCheck=true)
 This overloaded method has the opposite function as SetLookDirection. More...
 
bool SetGround (const SurfacePoint &surfacePt, bool backCheck=true)
 This overloaded method has the opposite function as SetLookDirection. More...
 
bool HasSurfaceIntersection () const
 Returns if the last call to either SetLookDirection or SetUniversalGround had a valid intersection with the target. More...
 
void Coordinate (double p[3]) const
 Returns the x,y,z of the surface intersection in BodyFixed km. More...
 
virtual double UniversalLatitude () const
 Returns the planetocentric latitude, in degrees, at the surface intersection point in the body fixed coordinate system. More...
 
Latitude GetLatitude () const
 Returns a planetocentric latitude object at the surface intersection point in body fixed. More...
 
virtual double UniversalLongitude () const
 Returns the positive east, 0-360 domain longitude, in degrees, at the surface intersection point in the body fixed coordinate system. More...
 
Longitude GetLongitude () const
 Returns a positive east, 0-360 domain longitude object at the surface intersection point in the body fixed coordinate system. More...
 
SurfacePoint GetSurfacePoint () const
 Returns the surface point (most efficient accessor). More...
 
Distance LocalRadius () const
 Returns the local radius at the intersection point. More...
 
Distance LocalRadius (Latitude lat, Longitude lon)
 Returns the local radius at the intersection point. More...
 
Distance LocalRadius (double lat, double lon)
 Returns the local radius at the intersection point. More...
 
virtual double PhaseAngle () const
 Returns the phase angle in degrees. More...
 
virtual double EmissionAngle () const
 Returns the emission angle in degrees. More...
 
virtual double IncidenceAngle () const
 Returns the incidence angle in degrees. More...
 
void LookDirection (double v[3]) const
 Returns the look direction in the camera coordinate system. More...
 
std::vector< double > lookDirectionJ2000 () const
 Returns the look direction in the camera coordinate system. More...
 
std::vector< double > lookDirectionBodyFixed () const
 Returns the look direction in the body fixed coordinate system. More...
 
virtual double RightAscension ()
 Returns the right ascension angle (sky longitude). More...
 
virtual double Declination ()
 Returns the declination angle (sky latitude). More...
 
void SpacecraftSurfaceVector (double scSurfaceVector[3]) const
 Sets the vector between the spacecraft and surface point in body-fixed. More...
 
virtual double SlantDistance () const
 Return the distance between the spacecraft and surface point in kmv. More...
 
double LocalSolarTime ()
 Return the local solar time in hours. More...
 
virtual double SolarDistance () const
 Returns the distance between the sun and surface point in AU. More...
 
double SpacecraftAltitude ()
 Returns the distance from the spacecraft to the subspacecraft point in km. More...
 
virtual double resolution ()
 Virtual method that returns the pixel resolution of the sensor in meters/pix. More...
 
void IgnoreElevationModel (bool ignore)
 This allows you to ignore the cube elevation model and use the ellipse. More...
 
virtual QList< QPointF > PixelIfovOffsets ()
 This method is implemented in Camera which defaults to the (pixel pitch * summing mode ) / 2. More...
 
virtual QString instrumentNameLong () const =0
 
virtual QString instrumentNameShort () const =0
 
virtual QString spacecraftNameLong () const =0
 
virtual QString spacecraftNameShort () const =0
 
void instrumentPosition (double p[3]) const
 Returns the spacecraft position in body-fixed frame km units. More...
 
virtual SpicePositioninstrumentPosition () const
 Accessor method for the instrument position. More...
 
virtual void instrumentBodyFixedPosition (double p[3]) const
 Returns the spacecraft position in body-fixed frame km units. More...
 
virtual 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. More...
 
virtual SpicePositionsunPosition () const
 Accessor method for the sun position. More...
 
virtual double targetCenterDistance () const
 Calculates and returns the distance from the spacecraft to the target center. More...
 
virtual double sunToBodyDist () const
 
virtual Longitude solarLongitude ()
 Returns the solar longitude. More...
 
virtual void instrumentBodyFixedVelocity (double v[3]) const
 Returns the spacecraft velocity in body-fixed frame km/sec units. More...
 
iTime time () const
 Returns the ephemeris time in seconds which was used to obtain the spacecraft and sun positions. More...
 
void radii (Distance r[3]) const
 Returns the radii of the body in km. More...
 
virtual 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. More...
 
virtual iTime cacheStartTime () const
 Accessor method for the cache start time. More...
 
virtual iTime cacheEndTime () const
 Accessor method for the cache end time. More...
 
virtual void subSpacecraftPoint (double &lat, double &lon)
 Returns the sub-spacecraft latitude/longitude in universal coordinates (0-360 positive east, ocentric) More...
 
virtual void subSolarPoint (double &lat, double &lon)
 Returns the sub-solar latitude/longitude in universal coordinates (0-360 positive east, ocentric) More...
 
virtual Targettarget () const
 Returns a pointer to the target object. More...
 
QString targetName () const
 Returns the QString name of the target. More...
 
virtual iTime getClockTime (QString clockValue, int sclkCode=-1, bool clockTicks=false)
 This converts the spacecraft clock ticks value (clockValue) to an iTime. More...
 
SpiceDouble getDouble (const QString &key, int index=0)
 This returns a value from the NAIF text pool. More...
 
SpiceInt getInteger (const QString &key, int index=0)
 This returns a value from the NAIF text pool. More...
 
QString getString (const QString &key, int index=0)
 This returns a value from the NAIF text pool. More...
 
virtual SpiceRotationbodyRotation () const
 Accessor method for the body rotation. More...
 
virtual SpiceRotationinstrumentRotation () const
 Accessor method for the instrument rotation. More...
 
bool isUsingAle ()
 
bool hasKernels (Pvl &lab)
 Returns true if the kernel group has kernel files. More...
 
bool isTimeSet ()
 Returns true if time has been initialized. More...
 
SpiceInt naifBodyCode () const
 This returns the NAIF body code of the target indicated in the labels. More...
 
SpiceInt naifSpkCode () const
 This returns the NAIF SPK code to use when reading from SPK kernels. More...
 
SpiceInt naifCkCode () const
 This returns the NAIF CK code to use when reading from CK kernels. More...
 
SpiceInt naifIkCode () const
 This returns the NAIF IK code to use when reading from instrument kernels. More...
 
SpiceInt naifSclkCode () const
 This returns the NAIF SCLK code to use when reading from instrument kernels. More...
 
SpiceInt naifBodyFrameCode () const
 This returns the NAIF body frame code. More...
 
PvlObject getStoredNaifKeywords () const
 This returns the PvlObject that stores all of the requested Naif data and can be a replacement for furnishing text kernels. More...
 

Protected Types

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

Protected Member Functions

QVariant readValue (QString key, SpiceValueType type, int index=0)
 This should be used for reading ALL text naif kernel values. More...
 
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)
 
virtual void computeSolarLongitude (iTime et)
 Computes the solar longitude for the given ephemeris time. More...
 

Protected Attributes

SpiceDouble m_lookB [3]
 Look direction in body fixed. More...
 
bool m_newLookB
 flag to indicate we need to recompute ra/dec More...
 
SpiceDouble m_uB [3]
 This contains the sun position (u) in the bodyfixed reference frame (B). More...
 
SpiceDouble m_BJ [3][3]
 This contains the transformation matrix from J2000 (J) to Body fixed (B). More...
 
Targetm_target
 Target of the observation. More...
 
iTimem_et
 Ephemeris time (read NAIF documentation for a detailed description) More...
 
Longitudem_solarLongitude
 Body rotation solar longitude value. More...
 

Private Member Functions

void CommonInitialize (const std::string &demCube)
 
void computeRaDec ()
 Computes the ra/dec from the look direction. More...
 
bool SetGroundLocal (bool backCheck)
 Computes look vector. More...
 
void init (Pvl &pvl, bool noTables, nlohmann::json isd=NULL)
 Initialization of Spice object. More...
 
void csmInit (Cube &cube, Pvl label)
 Initialize the Spice object for a CSMCamera. More...
 
void defaultInit ()
 Default initialize the members of the SPICE object. More...
 
void load (PvlKeyword &key, bool notab)
 Loads/furnishes NAIF kernel(s) More...
 

Private Attributes

SpiceDouble m_ra
 Right ascension (sky longitude) More...
 
SpiceDouble m_dec
 Decliation (sky latitude) More...
 
QVector< QString > * m_kernels
 Vector containing kernels filenames. More...
 
iTimem_startTime
 Corrected start (shutter open) time of the observation. More...
 
iTimem_endTime
 Corrected end (shutter close) time of the observation. More...
 
SpiceDouble * m_cacheSize
 Cache size. Note: This value is 1 for Framing cameras. More...
 
SpiceDouble * m_startTimePadding
 Kernels pvl group StartPadding keyword value. More...
 
SpiceDouble * m_endTimePadding
 Kernels pvl group EndPadding keyword value. More...
 
SpicePositionm_instrumentPosition
 Instrument spice position. More...
 
SpiceRotationm_instrumentRotation
 Instrument spice rotation. More...
 
SpicePositionm_sunPosition
 Sun spice position. More...
 
SpiceRotationm_bodyRotation
 Body spice rotation. More...
 
bool m_allowDownsizing
 Indicates whether to allow downsizing. More...
 
SpiceInt * m_spkCode
 Spacecraft and planet ephemeris kernel (SPK) code. More...
 
SpiceInt * m_ckCode
 Camera kernel (CK) code. More...
 
SpiceInt * m_ikCode
 Instrument kernel (IK) code. More...
 
SpiceInt * m_sclkCode
 Spacecraft clock correlation kernel (SCLK) code. More...
 
SpiceInt * m_spkBodyCode
 Spacecraft and planet ephemeris kernel (SPK) body code. More...
 
SpiceInt * m_bodyFrameCode
 Naif's BODY_FRAME_CODE value. More...
 
PvlObjectm_naifKeywords
 NaifKeywords PvlObject from cube. More...
 
bool m_usingNaif
 Indicates whether we are reading values from the NaifKeywords PvlObject in cube. More...
 
bool m_usingAle
 Indicate whether we are reading values from an ISD returned from ALE. More...
 

Detailed Description

Class for computing sensor ground coordinates.

The sensor class allows for the computation of parameters related to orbiting instruments. In particular, a time and look direction can be set and from those the ground coordinate (latitude/longitude) along with phase, incidence, and emission angles can be computed. Likewise, a ground point can be set and look direction can be computed. This class is derived from the Spice class.

An important capability of this class is the ability to use a surface model other than an ellipsoid when intersecting the look direction of the sensor with the planetary body. This allows for the generation of othrorectified products. The file containing the surface model is a cube and is obtained from the labels in the follow form:

Group = Kernels
ElevationModel = file.cub
EndGroup
Author
2003-04-11 Jeff Anderson
History:
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
History:
2003-05-30 Jeff Anderson - Updated unitTest and truth to account for precision due to optimization
History:
2003-10-16 Jeff Anderson - Added LoadEulerMounting() and LoadFrameMounting() methods
History:
2003-11-26 Jeff Anderson - Modified FrameMounting() methods to allow for fixed frames or time dependent frames
History:
2004-01-14 Jeff Anderson - Remove an unused constructor
History:
2004-01-20 Jeff Anderson - Added an option to the SetUniversalGround() method to eliminate checks for points on the backside of the target
History:
2004-02-18 Jeff Anderson - Fixed a problem with the FrameMounting() methods as the frame kernel is unloaded if a cache is created.
History:
2004-02-23 Jeff Anderson - Fixed two bugs in the handling of DEMs. Used universal lat/lon when appropriate and the radius needed to be converted to km when read from the DEM file.
History:
2005-02-15 Elizabeth Ribelin - Modified file to support Doxygen documentation
History:
2005-02-24 Jeff Anderson - Added SlantDistance() method and made the constructor ignore the ElevationModel keyword if it is null
History:
2005-02-25 Jeff Anderson - Added LocalSolarTime() method
History:
2005-06-09 Elizabeth Ribelin - Added LoadEulerMounting() method that accepts a matrix as a parameter
History:
2005-08-24 Jeff Anderson - Make sure LocalSolarTime always return positive hours
History:
2005-09-20 Jeff Anderson - Added tests for trying to intersect the sky
History:
2006-03-31 Elizabeth Miller - Added SpacecraftAltitude() and SolarDistance() methods
History:
2006-09-07 Debbie A. Cook - Changed back-of-planet test to use emission angle instead of length of vector to surface point
History:
2006-10-11 Jeff Anderson - Modified reading radius from DEM using bilinear interpolation
History:
2006-10-12 Jeff Anderson - Modified the SetLookDirection() method to use the DEM (if available) when computing a ground point
History:
2007-05-18 Jeff Anderson - Modify SpacecraftAltitude() method to use DEM
History:
2007-06-11 Debbie A. Cook - Added alternative method that includes radius
History:
2007-08-24 Debbie A. Cook - Replaced references to m_sB since it was removed from Spice
History:
2007-11-27 Debbie A. Cook - Added overloaded method SetUniversalGround(lat, lon, radius)
History:
2008-05-21 Steven Lambright - CubeManager is now used to speed up DEM Cube I/O
History:
2008-06-18 Debbie A. Cook - Made DemRadius radius public instead of private and added method HasElevationModel()
History:
2008-08-06 Stuart Sides - Modified SetLookDirection() to better handle oblique views. In the past it would oscillate and run out of iterations.
History:
2009-02-06 Debbie A. Cook - Changed the tolerance from 1e-6 to 1e-12 for dist**2 (mm)
History:
2009-02-06 Debbie A. Cook - Changed the tolerance back to 1e-6 (mm)
History:
2009-02-15 Debbie A. Cook - Added virtual Resolution() method
History:
2009-06-30 Steven Lambright - Added IgnoreElevationModel() and fixed DemRadius()
History:
2009-07-09 Debbie A. Cook - Corrected documentation on Resolution() method
History:
2009-09-23 Tracie Sucharski - Convert negative longitudes returned by reclat in SetLookDirection().
History:
2010-09-15 Janet Barrett - Modified the SetLookDirection() 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.
History:
2010-11-09 Eric Hyer - moved some private members to protected section for Camera
History:
2010-12-07 Steven Lambright - Added LocalRadius(lat,lon) and removed a sqrt from SetLookDirection()
History:
2011-01-26 Steven Lambright - The LocalRadius methods now return Distance objects and added a LocalRadius() method that uses the Latitude and Longitude classes.
History:
2011-02-08 Jeannie Walldren - Added method parameter documentation.
History:
2011-02-09 Steven Lambright & Debbie Cook - Refactored heavily to use Latitude, Longitude, SurfacePoint, and iTime where applicable. Optimized SetLookDirection. These changes were meant primarily for readability and reducing error-proneness of the code.
History:
2011-03-28 Janet Barrett - Fixed the SetLookDirection routine so that it checks to make sure that the projection of the DEM is in an Equatorial cylindrical projection before using the new ray tracing routine. The check for this was moved when other code was added. This was causing a problem with footprintinit.
History:
2011-05-03 Jeannie Walldren - Added Isis Disclaimer to files.
History:
2011-05-25 Janet Barrett and Steven Lambright - Moved the ownership of the DEM projection to the DEM cube which is owned by CubeManager.
History:
2011-08-22 Steven Lambright - The DEM cube now uses a UniqueIOCachingAlgorithm(5). This will probably behave better in all cases. Fixes #364
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.
History:
2011-12-20 Tracie Sucharski - Added SpacecraftSurfaceVector method which returns the vector between the spacecraft and the surface point in body-fixed.
History:
2012-05-04 Steven Lambright - Re-enabled a safety check in the DemRadius() method which was needed due to Projection not uniformly handling Null inputs. Fixes #807.
History:
2012-07-06 Debbie A. Cook - Updated Spice members to be more compliant with Isis coding standards. References #972.
History:
2012-09-06 Steven Lambright and Stuart Sides - Changed the constructors to take Cube instead of Pvl to prevent redundant parsing. This should eventually be refactored into a CubeLabel or similar object so that an actual cube isn't required in the future, but for now this enables the control net GUI to create a camera from a cube with no dimensions in the label.
History:
2012-10-10 Debbie A. Cook - Moved the functionality related to the shape model into new classes: ShapeModel, EllipsoidShape, DemShape, and EquatorialCylindricalShape. Also modified to use new Target class. References #775 and #1114
History:
2012-10-25 Jeannie Backer - Changed resolution() method to lower camel case. References #1181.
History:
2012-03-04 Tracie Sucharski - Added new method, PixelIfovOffsets, which will return the ifov offsets from the center of the pixel in mm. This is a virtual method and if not implemented in the specific instrument camera, this class will throw an error. References #1604.
History:
2015-08-11 Ian Humphrey and Makayla Shepherd - Added pure virtual methods to return the long and short spacecraft and instrument names.
History:
2015-10-01 Jeannie Backer - Made improvements to documentation and brought code closer to ISIS coding standards. References #1438
History:
2017-03-23 Kris Becker - Added support for occlusion checks. Modified SetLocalGround(bool backCheck) to make a callback to the ShapeModel::isOccludedFrom() to test for point visability.
History:
2021-02-17 Kristin Berry, Jesse Mapel, and Stuart Sides - Made several functions virtual and moved look vector member variable to protected. Ensured that m_newLookB always initializes to the same value.

Definition at line 170 of file Sensor.h.

Member Enumeration Documentation

◆ SpiceValueType

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 348 of file Spice.h.

Constructor & Destructor Documentation

◆ Sensor()

Isis::Sensor::Sensor ( Cube cube)

Constructs a Sensor object and loads SPICE kernels using information from the label object.

The constructor expects an Instrument and Kernels group to be in the labels (see Spice documentation).

Parameters
cubeCube whose label contains Instrument and Kernels groups.

Definition at line 45 of file Sensor.cpp.

References m_newLookB.

◆ ~Sensor()

Isis::Sensor::~Sensor ( )
virtual

Destroys the Sensor.

Definition at line 51 of file Sensor.cpp.

Member Function Documentation

◆ bodyRotation()

SpiceRotation * Isis::Spice::bodyRotation ( ) const
virtualinherited

Accessor method for the body rotation.

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

Reimplemented in Isis::CSMCamera.

Definition at line 1611 of file Spice.cpp.

Referenced by computeRaDec(), EmissionAngle(), Isis::RadarGroundMap::GetdXYdPosition(), Isis::RadarGroundMap::GetXY(), lookDirectionJ2000(), Isis::MiniRF::MiniRF(), PhaseAngle(), Isis::RadarGroundMap::SetFocalPlane(), Isis::RadarGroundMap::SetGround(), SetGround(), SetGroundLocal(), SetLookDirection(), SetUniversalGround(), and SlantDistance().

◆ cacheEndTime()

iTime Isis::Spice::cacheEndTime ( ) const
virtualinherited

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 758 of file Spice.cpp.

◆ cacheStartTime()

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

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 743 of file Spice.cpp.

◆ computeRaDec()

void Isis::Sensor::computeRaDec ( )
private

Computes the ra/dec from the look direction.

Protected method which computes the ra/dec of the current look direction.

Definition at line 585 of file Sensor.cpp.

References Isis::Spice::bodyRotation(), Isis::SpiceRotation::J2000Vector(), m_dec, m_lookB, m_newLookB, m_ra, and Isis::PI.

Referenced by Declination(), and RightAscension().

◆ computeSolarLongitude()

void Isis::Spice::computeSolarLongitude ( iTime  et)
protectedvirtualinherited

Computes the solar longitude for the given ephemeris time.

If the target is sky, the longitude is set to -999.0.

Parameters
etEphemeris time

Reimplemented in Isis::CSMCamera.

Definition at line 1400 of file Spice.cpp.

References Isis::iTime::Et(), and Isis::Longitude::force360Domain().

◆ Coordinate()

◆ createCache()

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

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 649 of file Spice.cpp.

References Isis::iTime::Et(), and Isis::FileName::expanded().

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

◆ csmInit()

void Isis::Spice::csmInit ( Cube cube,
Pvl  label 
)
privateinherited

Initialize the Spice object for a CSMCamera.

This sets up the Spice/Sensor/Camera object to not have any SPICE dependent members initialized.

Parameters
cubeThe Cube containing image data for the camera
labelThe label containing information for the camera

Definition at line 97 of file Spice.cpp.

◆ Declination()

double Isis::Sensor::Declination ( )
virtual

Returns the declination angle (sky latitude).

Returns
double Declination angle, in degrees.

Reimplemented in Isis::CSMCamera.

Definition at line 574 of file Sensor.cpp.

References computeRaDec(), m_dec, and m_newLookB.

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

◆ defaultInit()

void Isis::Spice::defaultInit ( )
privateinherited

Default initialize the members of the SPICE object.

Definition at line 107 of file Spice.cpp.

◆ EmissionAngle()

◆ getClockTime()

iTime Isis::Spice::getClockTime ( QString  clockValue,
int  sclkCode = -1,
bool  clockTicks = false 
)
virtualinherited

This converts the spacecraft clock ticks value (clockValue) to an iTime.

If the clock ticks value is provided directly, rather than the spacecraft clock string, set clockTicks=true.

Use this when possible because naif calls (such as scs2e_c) cannot be called when not using naif.

Definition at line 1053 of file Spice.cpp.

References Isis::toString().

Referenced by Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HayabusaAmicaCamera::HayabusaAmicaCamera(), Isis::HayabusaNirsCamera::HayabusaNirsCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::Hyb2OncCamera::Hyb2OncCamera(), Isis::VimsGroundMap::Init(), Isis::VimsSkyMap::Init(), Isis::JunoCamera::JunoCamera(), Isis::KaguyaTcCamera::KaguyaTcCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::MarciCamera::MarciCamera(), Isis::MdisCamera::MdisCamera(), Isis::MexHrscSrcCamera::MexHrscSrcCamera(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::OsirisRexOcamsCamera::OsirisRexOcamsCamera(), Isis::DawnVirCamera::readHouseKeeping(), Isis::RosettaVirtisCamera::readHouseKeeping(), Isis::RosettaVirtisCamera::readSCET(), Isis::RosettaOsirisCamera::RosettaOsirisCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), Isis::ThemisVisCamera::ThemisVisCamera(), Isis::VikingCamera::VikingCamera(), and Isis::VimsCamera::VimsCamera().

◆ getDouble()

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 1039 of file Spice.cpp.

Referenced by Isis::LroWideAngleCameraDistortionMap::addFilter(), Isis::LroWideAngleCameraFocalPlaneMap::addFilter(), Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::MdisCamera::computeFocalLength(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::DawnVirCamera::DawnVirCamera(), Isis::HayabusaAmicaCamera::HayabusaAmicaCamera(), Isis::HayabusaNirsCamera::HayabusaNirsCamera(), Isis::HiresCamera::HiresCamera(), Isis::HrscCamera::HrscCamera(), Isis::Hyb2OncCamera::Hyb2OncCamera(), Isis::CameraFocalPlaneMap::Init(), Isis::RosettaOsirisCamera::initDistortion(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::JunoCamera::JunoCamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::KaguyaTcCamera::KaguyaTcCamera(), Isis::KaguyaTcCameraDistortionMap::KaguyaTcCameraDistortionMap(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::MarciCamera::MarciCamera(), Isis::MarciDistortionMap::MarciDistortionMap(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MdisCamera::MdisCamera(), Isis::MexHrscSrcCamera::MexHrscSrcCamera(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::NirCamera::NirCamera(), Isis::OsirisRexOcamsCamera::OsirisRexOcamsCamera(), Isis::RosettaOsirisCamera::RosettaOsirisCamera(), Isis::RosettaVirtisCamera::RosettaVirtisCamera(), Isis::KaguyaMiCameraDistortionMap::SetDistortion(), Isis::LroNarrowAngleDistortionMap::SetDistortion(), Isis::TaylorCameraDistortionMap::SetDistortion(), Isis::Camera::SetFocalLength(), Isis::Camera::SetPixelPitch(), Isis::SsiCamera::SsiCamera(), Isis::TgoCassisCamera::TgoCassisCamera(), Isis::TgoCassisDistortionMap::TgoCassisDistortionMap(), and Isis::UvvisCamera::UvvisCamera().

◆ getInteger()

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 1025 of file Spice.cpp.

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

◆ GetLatitude()

Latitude Isis::Sensor::GetLatitude ( ) const

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

Returns
Latidude Universal latitude object.

Definition at line 221 of file Sensor.cpp.

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

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

◆ GetLongitude()

Longitude Isis::Sensor::GetLongitude ( ) const

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 245 of file Sensor.cpp.

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

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

◆ getStoredNaifKeywords()

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 998 of file Spice.cpp.

◆ getString()

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
QString Value from the NAIF text pool
Exceptions
Isis::IException::Io- "Can not find key in instrument kernels."

Definition at line 1261 of file Spice.cpp.

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

◆ GetSurfacePoint()

◆ hasKernels()

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 1526 of file Spice.cpp.

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

◆ HasSurfaceIntersection()

bool Isis::Sensor::HasSurfaceIntersection ( ) const

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 186 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::Camera::ObliqueDetectorResolution(), Isis::VimsGroundMap::SetGround(), and Isis::Camera::SetImageSkyMapProjection().

◆ IgnoreElevationModel()

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

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

Parameters
ignoreIndicates whether the elevation model is ignored.

Definition at line 60 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().

◆ IncidenceAngle()

double Isis::Sensor::IncidenceAngle ( ) const
virtual

◆ init()

void Isis::Spice::init ( Pvl lab,
bool  noTables,
nlohmann::json  isd = NULL 
)
privateinherited

Initialization of Spice object.

Parameters
labPvl labels
noTablesIndicates the use of tables.
Exceptions
Isis::IException::Io- "Can not find NAIF code for NAIF target"
Isis::IException::Camera- "No camera pointing available"
Isis::IException::Camera- "No instrument position available"
History:
2011-02-08 Jeannie Walldren - Initialize pointers to null.

Definition at line 154 of file Spice.cpp.

References Isis::LightTimeCorrectionState::checkSpkKernelsForAberrationCorrection(), Isis::PvlContainer::fileName(), Isis::PvlObject::findGroup(), Isis::PvlObject::findObject(), Isis::PvlObject::hasKeyword(), Isis::PvlContainer::hasKeyword(), Isis::PvlObject::hasObject(), Isis::Table::Label(), Isis::toDouble(), Isis::toInt(), and Isis::toString().

◆ instrumentBodyFixedPosition()

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

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"

Reimplemented in Isis::CSMCamera.

Definition at line 835 of file Spice.cpp.

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

◆ instrumentBodyFixedVelocity()

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

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

Parameters
v[]Spacecraft velocity

Definition at line 853 of file Spice.cpp.

◆ instrumentPosition() [1/2]

SpicePosition * Isis::Spice::instrumentPosition ( ) const
virtualinherited

Accessor method for the instrument position.

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

Reimplemented in Isis::CSMCamera.

Definition at line 1600 of file Spice.cpp.

Referenced by Isis::Camera::DetectorResolution(), EmissionAngle(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MiniRF::MiniRF(), Isis::Camera::OffNadirAngle(), PhaseAngle(), SetGround(), SetGroundLocal(), SetLookDirection(), SetUniversalGround(), SlantDistance(), and SpacecraftAltitude().

◆ instrumentPosition() [2/2]

void Isis::Spice::instrumentPosition ( 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 822 of file Spice.cpp.

Referenced by Isis::RadarGroundMap::GetdXYdPosition(), Isis::RadarGroundMap::GetXY(), Isis::RadarGroundMap::SetFocalPlane(), Isis::RadarGroundMap::SetGround(), and Isis::AdvancedTrackTool::updateRow().

◆ instrumentRotation()

◆ isTimeSet()

bool Isis::Spice::isTimeSet ( )
inherited

Returns true if time has been initialized.

Author
2016-10-19 Kristin Berry
Returns
bool true if time has been set

Definition at line 1577 of file Spice.cpp.

Referenced by Isis::CameraDetectorMap::SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().

◆ load()

void Isis::Spice::load ( PvlKeyword key,
bool  noTables 
)
privateinherited

Loads/furnishes NAIF kernel(s)

Parameters
keyPvlKeyword
noTablesIndicates the use of tables.
Exceptions
Isis::IException::Io- "Spice file does not exist."

Definition at line 486 of file Spice.cpp.

References Isis::FileName::expanded(), Isis::FileName::fileExists(), and Isis::PvlKeyword::size().

◆ LocalRadius() [1/3]

◆ LocalRadius() [2/3]

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

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 301 of file Sensor.cpp.

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

◆ LocalRadius() [3/3]

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

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 285 of file Sensor.cpp.

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

◆ LocalSolarTime()

double Isis::Sensor::LocalSolarTime ( )

Return the local solar time in hours.

Returns
double Local solar time, in hours.

Definition at line 660 of file Sensor.cpp.

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

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

◆ LookDirection()

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

Returns the look direction in the camera coordinate system.

Parameters
v[]The look vector.

Definition at line 523 of file Sensor.cpp.

References Isis::Spice::instrumentRotation(), lookDirectionJ2000(), and Isis::SpiceRotation::ReferenceVector().

Referenced by Isis::PixelFOV::instantaneousFov().

◆ lookDirectionBodyFixed()

vector< double > Isis::Sensor::lookDirectionBodyFixed ( ) const

Returns the look direction in the body fixed coordinate system.

Returns
vector<double> Look direction in body fixed coordinate system.

Definition at line 535 of file Sensor.cpp.

References m_lookB.

Referenced by lookDirectionJ2000(), and SetGroundLocal().

◆ lookDirectionJ2000()

vector< double > Isis::Sensor::lookDirectionJ2000 ( ) const

Returns the look direction in the camera coordinate system.

Returns
vector<double> Look direction in J2000 cooridinate system.

Definition at line 549 of file Sensor.cpp.

References Isis::Spice::bodyRotation(), Isis::SpiceRotation::J2000Vector(), and lookDirectionBodyFixed().

Referenced by LookDirection().

◆ naifBodyCode()

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 941 of file Spice.cpp.

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

◆ naifBodyFrameCode()

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 989 of file Spice.cpp.

◆ naifCkCode()

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 959 of file Spice.cpp.

◆ naifIkCode()

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 968 of file Spice.cpp.

Referenced by Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::ClipperNacRollingShutterCamera::ClipperNacRollingShutterCamera(), Isis::ClipperPushBroomCamera::ClipperPushBroomCamera(), Isis::ClipperWacFcCamera::ClipperWacFcCamera(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::DawnVirCamera::DawnVirCamera(), Isis::HayabusaAmicaCamera::HayabusaAmicaCamera(), Isis::HayabusaNirsCamera::HayabusaNirsCamera(), Isis::HiresCamera::HiresCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::HrscCamera::HrscCamera(), Isis::Hyb2OncCamera::Hyb2OncCamera(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::JunoCamera::JunoCamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::KaguyaTcCamera::KaguyaTcCamera(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::MarciCamera::MarciCamera(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MdisCamera::MdisCamera(), Isis::MexHrscSrcCamera::MexHrscSrcCamera(), 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::OsirisRexOcamsCamera::OsirisRexOcamsCamera(), Isis::RosettaOsirisCamera::RosettaOsirisCamera(), Isis::RosettaVirtisCamera::RosettaVirtisCamera(), Isis::Camera::SetFocalLength(), Isis::Camera::SetPixelPitch(), Isis::SsiCamera::SsiCamera(), Isis::TgoCassisCamera::TgoCassisCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), Isis::ThemisVisCamera::ThemisVisCamera(), Isis::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), Isis::VimsCamera::VimsCamera(), and Isis::VoyagerCamera::VoyagerCamera().

◆ naifSclkCode()

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 978 of file Spice.cpp.

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

◆ naifSpkCode()

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 950 of file Spice.cpp.

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

◆ PhaseAngle()

double Isis::Sensor::PhaseAngle ( ) const
virtual

Returns the phase angle in degrees.

This does not use the surface model.

Returns
double Phase angle, in degrees.

Reimplemented in Isis::CSMCamera.

Definition at line 312 of file Sensor.cpp.

References Isis::Spice::bodyRotation(), Coordinate(), Isis::Spice::instrumentPosition(), Isis::Spice::m_uB, Isis::ShapeModel::phaseAngle(), Isis::Target::shape(), and Isis::Spice::target().

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

◆ PixelIfovOffsets()

QList< QPointF > Isis::Sensor::PixelIfovOffsets ( )
virtual

This method is implemented in Camera which defaults to the (pixel pitch * summing mode ) / 2.

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

Author
tsucharski (3/8/2013)
Returns
QList<QPointF>

Reimplemented in Isis::HayabusaNirsCamera, Isis::VimsCamera, Isis::CSMCamera, and Isis::Camera.

Definition at line 81 of file Sensor.cpp.

References Isis::IException::Programmer.

◆ radii()

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 930 of file Spice.cpp.

Referenced by Isis::Camera::BasicMapping(), Isis::Camera::GroundRange(), Isis::VimsGroundMap::Init(), Isis::MiniRF::MiniRF(), Isis::ControlPointEditWidget::openReferenceRadius(), Isis::QnetTool::openReferenceRadius(), Isis::SunShadowTool::recalculateShadowHeight(), Isis::RadarGroundMap::SetFocalPlane(), Isis::CSMCamera::setTarget(), and Isis::AdvancedTrackTool::updateRow().

◆ readValue()

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 1093 of file Spice.cpp.

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

◆ resolution()

virtual double Isis::Sensor::resolution ( )
inlinevirtual

Virtual method that returns the pixel resolution of the sensor in meters/pix.

Returns
double Resolution value of 1.0

Reimplemented from Isis::Spice.

Reimplemented in Isis::Camera.

Definition at line 226 of file Sensor.h.

◆ RightAscension()

double Isis::Sensor::RightAscension ( )
virtual

Returns the right ascension angle (sky longitude).

Returns
double The angle of right ascension, in degrees.

Reimplemented in Isis::CSMCamera.

Definition at line 561 of file Sensor.cpp.

References computeRaDec(), m_newLookB, and m_ra.

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

◆ SetGround()

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

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
History:
2017-03-23 Kris Becker - Added support for occlusion test

Definition at line 443 of file Sensor.cpp.

References Isis::Spice::bodyRotation(), Isis::ShapeModel::clearSurfacePoint(), Coordinate(), Isis::Spice::instrumentPosition(), SetGroundLocal(), Isis::Target::shape(), and Isis::Spice::target().

◆ SetGroundLocal()

bool Isis::Sensor::SetGroundLocal ( bool  backCheck)
private

Computes look vector.

This method handles the common functions for the overloaded SetUniversalGround methods.

Instead of computing a point on the target, a point is set (lat,lon,radius) and the look direction is computed.

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 True if the look direction intersects the target.
History:
2017-03-23 Kris Becker - Added formal occlusion callback

Definition at line 475 of file Sensor.cpp.

References Isis::Spice::bodyRotation(), Isis::ShapeModel::clearSurfacePoint(), Coordinate(), Isis::ShapeModel::hasIntersection(), Isis::Spice::instrumentPosition(), Isis::ShapeModel::isVisibleFrom(), Isis::Displacement::kilometers(), lookDirectionBodyFixed(), m_lookB, m_newLookB, Isis::SpiceRotation::ReferenceVector(), Isis::ShapeModel::setHasIntersection(), Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().

Referenced by SetGround(), and SetUniversalGround().

◆ SetLookDirection()

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

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 141 of file Sensor.cpp.

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

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

◆ SetRightAscensionDeclination()

bool Isis::Sensor::SetRightAscensionDeclination ( const double  ra,
const double  dec 
)

Given the ra/dec compute the look direction.

Parameters
raRight ascension in degrees (sky longitude).
decDeclination in degrees (sky latitude).
Returns
bool True if successful.

Definition at line 608 of file Sensor.cpp.

References Isis::Spice::instrumentRotation(), Isis::PI, Isis::SpiceRotation::ReferenceVector(), and SetLookDirection().

◆ setTime()

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

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 97 of file Sensor.cpp.

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

Referenced by Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::ClipperNacRollingShutterCamera::ClipperNacRollingShutterCamera(), Isis::ClipperPushBroomCamera::ClipperPushBroomCamera(), Isis::ClipperWacFcCamera::ClipperWacFcCamera(), Isis::CrismCamera::CrismCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::DawnVirCamera::DawnVirCamera(), Isis::HayabusaAmicaCamera::HayabusaAmicaCamera(), Isis::HayabusaNirsCamera::HayabusaNirsCamera(), Isis::HiresCamera::HiresCamera(), Isis::Hyb2OncCamera::Hyb2OncCamera(), Isis::IdealCamera::IdealCamera(), Isis::VimsGroundMap::Init(), Isis::VimsSkyMap::Init(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::JunoCamera::JunoCamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::KaguyaTcCamera::KaguyaTcCamera(), Isis::Camera::LoadCache(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MdisCamera::MdisCamera(), Isis::MexHrscSrcCamera::MexHrscSrcCamera(), Isis::MiniRF::MiniRF(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NirCamera::NirCamera(), Isis::OsirisRexOcamsCamera::OsirisRexOcamsCamera(), Isis::RosettaOsirisCamera::RosettaOsirisCamera(), Isis::RosettaVirtisCamera::RosettaVirtisCamera(), Isis::ThemisVisCamera::SetBand(), Isis::NewHorizonsMvicFrameCamera::SetBand(), Isis::VimsGroundMap::SetFocalPlane(), Isis::VimsSkyMap::SetFocalPlane(), Isis::PushFrameCameraDetectorMap::SetFramelet(), Isis::RadarPulseMap::SetParent(), Isis::CameraDetectorMap::SetParent(), Isis::LineScanCameraDetectorMap::SetParent(), Isis::RollingShutterCameraDetectorMap::SetParent(), Isis::VariableLineScanCameraDetectorMap::SetParent(), Isis::SsiCamera::SsiCamera(), Isis::TgoCassisCamera::TgoCassisCamera(), Isis::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), and Isis::VoyagerCamera::VoyagerCamera().

◆ SetUniversalGround() [1/2]

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

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.
History:
2017-03-23 Kris Becker - Added support for occlusion tests

Definition at line 359 of file Sensor.cpp.

References Isis::Spice::bodyRotation(), Isis::ShapeModel::clearSurfacePoint(), Coordinate(), Isis::Angle::Degrees, Isis::Spice::instrumentPosition(), SetGroundLocal(), Isis::Target::shape(), and Isis::Spice::target().

◆ SetUniversalGround() [2/2]

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

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.
History:
2017-03-23 Kris Becker - Added support for occlusion test

Definition at line 401 of file Sensor.cpp.

References Isis::Spice::bodyRotation(), Isis::ShapeModel::clearSurfacePoint(), Coordinate(), Isis::Angle::Degrees, Isis::Spice::instrumentPosition(), Isis::Distance::Meters, SetGroundLocal(), Isis::Target::shape(), and Isis::Spice::target().

◆ SlantDistance()

double Isis::Sensor::SlantDistance ( ) const
virtual

◆ SolarDistance()

double Isis::Sensor::SolarDistance ( ) const
virtual

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

Returns
double Solar distance.

Reimplemented in Isis::CSMCamera.

Definition at line 677 of file Sensor.cpp.

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

◆ solarLongitude()

Longitude Isis::Spice::solarLongitude ( )
virtualinherited

Returns the solar longitude.

Returns
double The Solar Longitude

Definition at line 1509 of file Spice.cpp.

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

◆ SpacecraftAltitude()

double Isis::Sensor::SpacecraftAltitude ( )

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 701 of file Sensor.cpp.

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

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

◆ SpacecraftSurfaceVector()

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

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 625 of file Sensor.cpp.

References m_lookB.

◆ subSolarPoint()

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

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."

Reimplemented in Isis::CSMCamera.

Definition at line 1329 of file Spice.cpp.

References Isis::PI.

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

◆ subSpacecraftPoint()

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

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."

Reimplemented in Isis::CSMCamera.

Definition at line 1278 of file Spice.cpp.

References Isis::PI.

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

◆ sunPosition() [1/2]

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

Accessor method for the sun position.

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

Reimplemented in Isis::CSMCamera.

Definition at line 1589 of file Spice.cpp.

Referenced by SolarDistance().

◆ sunPosition() [2/2]

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

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()

Reimplemented in Isis::CSMCamera.

Definition at line 902 of file Spice.cpp.

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

◆ target()

◆ targetCenterDistance()

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

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

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

Reimplemented in Isis::CSMCamera.

Definition at line 918 of file Spice.cpp.

◆ targetName()

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

Returns the QString name of the target.

Returns
QString

Definition at line 1378 of file Spice.cpp.

References Isis::Target::name().

◆ time()

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

Returns the ephemeris time in seconds which was used to obtain the spacecraft and sun positions.

Returns
iTime the currently set ephemeris time
Exceptions
IException::Programmer"Unable to retrieve the time Spice::setTime must be called first."

Definition at line 884 of file Spice.cpp.

Referenced by Isis::RadarSlantRangeMap::ComputeA(), Isis::HiresCamera::HiresCamera(), Isis::KaguyaTcCamera::KaguyaTcCamera(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LwirCamera::LwirCamera(), Isis::NewHorizonsMvicFrameCamera::SetBand(), Isis::LineScanCameraDetectorMap::SetDetector(), Isis::RadarPulseMap::SetDetector(), Isis::VariableLineScanCameraDetectorMap::SetDetector(), Isis::RadarSlantRangeMap::SetFocalPlane(), Isis::CameraDetectorMap::SetParent(), Isis::RollingShutterCameraDetectorMap::SetParent(), setTime(), Isis::RadarSlantRangeMap::SetUndistortedFocalPlane(), Isis::ApolloMetricCamera::ShutterOpenCloseTimes(), Isis::IssNACamera::ShutterOpenCloseTimes(), Isis::IssWACamera::ShutterOpenCloseTimes(), Isis::HiresCamera::ShutterOpenCloseTimes(), Isis::LwirCamera::ShutterOpenCloseTimes(), Isis::NirCamera::ShutterOpenCloseTimes(), Isis::UvvisCamera::ShutterOpenCloseTimes(), Isis::ClipperWacFcCamera::ShutterOpenCloseTimes(), Isis::DawnFcCamera::ShutterOpenCloseTimes(), Isis::SsiCamera::ShutterOpenCloseTimes(), Isis::HayabusaAmicaCamera::ShutterOpenCloseTimes(), Isis::HayabusaNirsCamera::ShutterOpenCloseTimes(), Isis::Hyb2OncCamera::ShutterOpenCloseTimes(), Isis::JunoCamera::ShutterOpenCloseTimes(), Isis::LoHighCamera::ShutterOpenCloseTimes(), Isis::LoMediumCamera::ShutterOpenCloseTimes(), Isis::Mariner10Camera::ShutterOpenCloseTimes(), Isis::MdisCamera::ShutterOpenCloseTimes(), Isis::MexHrscSrcCamera::ShutterOpenCloseTimes(), Isis::MsiCamera::ShutterOpenCloseTimes(), Isis::NewHorizonsLorriCamera::ShutterOpenCloseTimes(), Isis::NewHorizonsMvicFrameCamera::ShutterOpenCloseTimes(), Isis::OsirisRexOcamsCamera::ShutterOpenCloseTimes(), Isis::RosettaOsirisCamera::ShutterOpenCloseTimes(), Isis::TgoCassisCamera::ShutterOpenCloseTimes(), Isis::VikingCamera::ShutterOpenCloseTimes(), Isis::VoyagerCamera::ShutterOpenCloseTimes(), Isis::FramingCamera::ShutterOpenCloseTimes(), Isis::Camera::StartEndEphemerisTimes(), Isis::AdvancedTrackTool::updateRow(), and Isis::UvvisCamera::UvvisCamera().

◆ UniversalLatitude()

◆ UniversalLongitude()

Member Data Documentation

◆ m_allowDownsizing

bool Isis::Spice::m_allowDownsizing
privateinherited

Indicates whether to allow downsizing.

Definition at line 411 of file Spice.h.

◆ m_BJ

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 374 of file Spice.h.

◆ m_bodyFrameCode

SpiceInt* Isis::Spice::m_bodyFrameCode
privateinherited

Naif's BODY_FRAME_CODE value.

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

Definition at line 423 of file Spice.h.

◆ m_bodyRotation

SpiceRotation* Isis::Spice::m_bodyRotation
privateinherited

Body spice rotation.

Definition at line 409 of file Spice.h.

◆ m_cacheSize

SpiceDouble* Isis::Spice::m_cacheSize
privateinherited

Cache size. Note: This value is 1 for Framing cameras.

Definition at line 401 of file Spice.h.

◆ m_ckCode

SpiceInt* Isis::Spice::m_ckCode
privateinherited

Camera kernel (CK) code.

Definition at line 419 of file Spice.h.

◆ m_dec

SpiceDouble Isis::Sensor::m_dec
private

Decliation (sky latitude)

Definition at line 250 of file Sensor.h.

Referenced by computeRaDec(), and Declination().

◆ m_endTime

iTime* Isis::Spice::m_endTime
privateinherited

Corrected end (shutter close) time of the observation.

Definition at line 400 of file Spice.h.

◆ m_endTimePadding

SpiceDouble* Isis::Spice::m_endTimePadding
privateinherited

Kernels pvl group EndPadding keyword value.

Definition at line 404 of file Spice.h.

◆ m_et

iTime* Isis::Spice::m_et
protectedinherited

Ephemeris time (read NAIF documentation for a detailed description)

Definition at line 382 of file Spice.h.

Referenced by Isis::CSMCamera::SetGround(), and Isis::CSMCamera::SetImage().

◆ m_ikCode

SpiceInt* Isis::Spice::m_ikCode
privateinherited

Instrument kernel (IK) code.

Definition at line 420 of file Spice.h.

◆ m_instrumentPosition

SpicePosition* Isis::Spice::m_instrumentPosition
privateinherited

Instrument spice position.

Definition at line 406 of file Spice.h.

◆ m_instrumentRotation

SpiceRotation* Isis::Spice::m_instrumentRotation
privateinherited

Instrument spice rotation.

Definition at line 407 of file Spice.h.

◆ m_kernels

QVector<QString>* Isis::Spice::m_kernels
privateinherited

Vector containing kernels filenames.

Definition at line 396 of file Spice.h.

◆ m_lookB

SpiceDouble Isis::Sensor::m_lookB[3]
protected

◆ m_naifKeywords

PvlObject* Isis::Spice::m_naifKeywords
privateinherited

NaifKeywords PvlObject from cube.

Definition at line 427 of file Spice.h.

◆ m_newLookB

bool Isis::Sensor::m_newLookB
protected

flag to indicate we need to recompute ra/dec

Definition at line 240 of file Sensor.h.

Referenced by computeRaDec(), Declination(), RightAscension(), Sensor(), Isis::CSMCamera::SetGround(), SetGroundLocal(), Isis::CSMCamera::SetImage(), and SetLookDirection().

◆ m_ra

SpiceDouble Isis::Sensor::m_ra
private

Right ascension (sky longitude)

Definition at line 249 of file Sensor.h.

Referenced by computeRaDec(), and RightAscension().

◆ m_sclkCode

SpiceInt* Isis::Spice::m_sclkCode
privateinherited

Spacecraft clock correlation kernel (SCLK) code.

Definition at line 421 of file Spice.h.

◆ m_solarLongitude

Longitude* Isis::Spice::m_solarLongitude
protectedinherited

Body rotation solar longitude value.

Definition at line 383 of file Spice.h.

◆ m_spkBodyCode

SpiceInt* Isis::Spice::m_spkBodyCode
privateinherited

Spacecraft and planet ephemeris kernel (SPK) body code.

Definition at line 422 of file Spice.h.

◆ m_spkCode

SpiceInt* Isis::Spice::m_spkCode
privateinherited

Spacecraft and planet ephemeris kernel (SPK) code.

Definition at line 418 of file Spice.h.

◆ m_startTime

iTime* Isis::Spice::m_startTime
privateinherited

Corrected start (shutter open) time of the observation.

Definition at line 399 of file Spice.h.

◆ m_startTimePadding

SpiceDouble* Isis::Spice::m_startTimePadding
privateinherited

Kernels pvl group StartPadding keyword value.

Definition at line 403 of file Spice.h.

◆ m_sunPosition

SpicePosition* Isis::Spice::m_sunPosition
privateinherited

Sun spice position.

Definition at line 408 of file Spice.h.

◆ m_target

Target* Isis::Spice::m_target
protectedinherited

Target of the observation.

Definition at line 381 of file Spice.h.

Referenced by Isis::CSMCamera::setTarget().

◆ m_uB

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 369 of file Spice.h.

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

◆ m_usingAle

bool Isis::Spice::m_usingAle
privateinherited

Indicate whether we are reading values from an ISD returned from ALE.

Definition at line 432 of file Spice.h.

◆ m_usingNaif

bool Isis::Spice::m_usingNaif
privateinherited

Indicates whether we are reading values from the NaifKeywords PvlObject in cube.

Definition at line 429 of file Spice.h.


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