![]() |
Isis 3 Developer Reference
|
Obtain SPICE information for a spacecraft. More...
#include <Spice.h>
Public Member Functions | |
Spice (Pvl &cubeLabel) | |
Constructs a Spice object and loads SPICE kernels using information from the label object. More... | |
Spice (Cube &cube) | |
Constructs a Spice object and loads SPICE kernels using information from the label object. More... | |
Spice (Cube &cube, bool noTables) | |
Constructs a Spice object. More... | |
virtual | ~Spice () |
Destroys the Spice object. More... | |
void | setTime (const iTime &time) |
Sets the ephemeris time and reads the spacecraft and sun position from the kernels at that instant in time. More... | |
void | instrumentPosition (double p[3]) const |
Returns the spacecraft position in body-fixed frame km units. More... | |
void | instrumentBodyFixedPosition (double p[3]) const |
Returns the spacecraft position in body-fixed frame km units. More... | |
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... | |
double | targetCenterDistance () const |
Calculates and returns the distance from the spacecraft to the target center. More... | |
Longitude | solarLongitude () |
Returns the solar longitude. More... | |
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... | |
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... | |
iTime | cacheStartTime () const |
Accessor method for the cache start time. More... | |
iTime | cacheEndTime () const |
Accessor method for the cache end time. More... | |
void | subSpacecraftPoint (double &lat, double &lon) |
Returns the sub-spacecraft latitude/longitude in universal coordinates (0-360 positive east, ocentric) More... | |
void | subSolarPoint (double &lat, double &lon) |
Returns the sub-solar latitude/longitude in universal coordinates (0-360 positive east, ocentric) More... | |
Target * | target () const |
Returns a pointer to the target object. More... | |
QString | targetName () const |
Returns the QString name of the target. More... | |
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... | |
SpicePosition * | sunPosition () const |
Accessor method for the sun position. More... | |
SpicePosition * | instrumentPosition () const |
Accessor method for the instrument position. More... | |
SpiceRotation * | bodyRotation () const |
Accessor method for the body rotation. More... | |
SpiceRotation * | instrumentRotation () const |
Accessor method for the instrument rotation. More... | |
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... | |
virtual double | resolution () |
Virtual method that returns the pixel resolution of the sensor in meters/pix. 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) |
Protected Attributes | |
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... | |
Obtain SPICE information for a spacecraft.
This class initializes standard NAIF SPICE kernels in order to allow queries of a spacecraft's position and attitude at a given time. It also allows for access to the position of the sun and transformation matrices from J2000 to a body-fixed reference frame for a given target (e.g., Mars). The constructor for this class expects a PVL object with the following minimum information:
This group is typically found in the image labels after it has been run through the program "spiceinit" It is recommended you read NAIF documentation to obtain a better understanding about the various types of SPICE kernels. The NAIF toolkit accesses information from kernels on a last-in-first-out (LIFO) basis. This means that the creation of a second object can cause problems with the first object. To alleviate this problem we have supplied the CreateCache method which should be invoked immediately after the object is constructed. This caches information (spacecraft position, pointing, etc) internally in the object and unloads all NAIF kernels.
|
protected |
Isis::Spice::Spice | ( | Pvl & | lab | ) |
Constructs a Spice object and loads SPICE kernels using information from the label object.
The constructor expects an Instrument and Kernels group to be in the labels.
lab | Label containing Instrument and Kernels groups. |
References Isis::PvlObject::findGroup().
Isis::Spice::Spice | ( | Cube & | cube | ) |
Constructs a Spice object and loads SPICE kernels using information from the label object.
The constructor expects an Instrument and Kernels group to be in the labels.
lab | Label containing Instrument and Kernels groups. |
References Isis::PvlObject::findGroup(), and Isis::Cube::label().
Isis::Spice::Spice | ( | Cube & | cube, |
bool | noTables | ||
) |
Constructs a Spice object.
lab | Pvl labels. |
noTables | Indicates the use of tables. |
References Isis::Cube::label().
|
virtual |
Destroys the Spice object.
References Isis::FileName::expanded().
SpiceRotation * Isis::Spice::bodyRotation | ( | ) | const |
Accessor method for the body rotation.
Referenced by Isis::Sensor::EmissionAngle(), Isis::RadarGroundMap::GetdXYdPosition(), Isis::RadarGroundMap::GetXY(), Isis::Camera::LocalPhotometricAngles(), Isis::Sensor::lookDirectionJ2000(), Isis::MiniRF::MiniRF(), Isis::Sensor::PhaseAngle(), Isis::RadarGroundMap::SetFocalPlane(), Isis::RadarGroundMap::SetGround(), Isis::Sensor::SetGround(), Isis::Sensor::SetLookDirection(), Isis::Sensor::SetUniversalGround(), and Isis::Sensor::SlantDistance().
iTime Isis::Spice::cacheEndTime | ( | ) | const |
Accessor method for the cache end time.
iTime Isis::Spice::cacheStartTime | ( | ) | const |
Accessor method for the cache start time.
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().
startTime | Starting ephemeris time to cache |
endTime | Ending ephemeris time to cache |
size | Size of the cache. |
tol | Tolerance. |
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" |
References _FILEINFO_, Isis::iTime::Et(), and Isis::FileName::expanded().
Referenced by Isis::CrismCamera::CrismCamera(), Isis::Camera::LoadCache(), and Isis::MiniRF::MiniRF().
iTime Isis::Spice::getClockTime | ( | QString | clockValue, |
int | sclkCode = -1 , |
||
bool | clockTicks = false |
||
) |
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.
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::VimsSkyMap::Init(), Isis::VimsGroundMap::Init(), Isis::JunoCamera::JunoCamera(), Isis::KaguyaTcCamera::KaguyaTcCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::MarciCamera::MarciCamera(), Isis::MdisCamera::MdisCamera(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::OsirisRexOcamsCamera::OsirisRexOcamsCamera(), Isis::RosettaOsirisCamera::RosettaOsirisCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), Isis::ThemisVisCamera::ThemisVisCamera(), Isis::VikingCamera::VikingCamera(), and Isis::VimsCamera::VimsCamera().
SpiceDouble Isis::Spice::getDouble | ( | const QString & | key, |
int | index = 0 |
||
) |
This returns a value from the NAIF text pool.
It is a static convience method
key | Name of NAIF keyword to obtain from the pool |
index | If the keyword is an array, the element to obtain. Defaults to 0 |
Isis::iException::Io | - "Can not find key in instrument kernels." |
Referenced by Isis::LroWideAngleCameraFocalPlaneMap::addFilter(), Isis::LroWideAngleCameraDistortionMap::addFilter(), Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), 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::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::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::TaylorCameraDistortionMap::SetDistortion(), Isis::LroNarrowAngleDistortionMap::SetDistortion(), Isis::Camera::SetFocalLength(), Isis::Camera::SetPixelPitch(), Isis::SsiCamera::SsiCamera(), Isis::TgoCassisCamera::TgoCassisCamera(), Isis::TgoCassisDistortionMap::TgoCassisDistortionMap(), and Isis::UvvisCamera::UvvisCamera().
SpiceInt Isis::Spice::getInteger | ( | const QString & | key, |
int | index = 0 |
||
) |
This returns a value from the NAIF text pool.
It is a static convience
key | Name of NAIF keyword to obtain from the pool |
index | If the keyword is an array, the element to obtain. Defaults to 0 |
Isis::iException::Io | - "Can not find key in instrument kernels |
Referenced by Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), and Isis::LroWideAngleCamera::LroWideAngleCamera().
PvlObject Isis::Spice::getStoredNaifKeywords | ( | ) | const |
This returns the PvlObject that stores all of the requested Naif data and can be a replacement for furnishing text kernels.
|
protected |
References Isis::EndianSwapper::Double().
QString Isis::Spice::getString | ( | const QString & | key, |
int | index = 0 |
||
) |
This returns a value from the NAIF text pool.
It is a static convience method
key | Name of NAIF keyword to obtain from the pool |
index | If the keyword is an array, the element to obtain. Defaults to 0 |
Isis::IException::Io | - "Can not find key in instrument kernels." |
Referenced by Isis::LightTimeCorrectionState::checkAberrationCorrection(), Isis::LightTimeCorrectionState::checkLightTimeToSurfaceCorrect(), Isis::LightTimeCorrectionState::checkObserverTargetSwap(), Isis::MdisCamera::MdisCamera(), and Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera().
bool Isis::Spice::hasKernels | ( | Pvl & | lab | ) |
Returns true if the kernel group has kernel files.
lab | Label containing Instrument and Kernels groups. |
References Isis::PvlObject::findGroup(), Isis::PvlContainer::hasKeyword(), and Isis::PvlKeyword::size().
void Isis::Spice::instrumentBodyFixedPosition | ( | double | p[3] | ) | const |
Returns the spacecraft position in body-fixed frame km units.
p[] | Spacecraft position |
Isis::iException::Programmer | - "You must call SetTime first" |
References _FILEINFO_.
void Isis::Spice::instrumentBodyFixedVelocity | ( | double | v[3] | ) | const |
Returns the spacecraft velocity in body-fixed frame km/sec units.
v[] | Spacecraft velocity |
References _FILEINFO_.
void Isis::Spice::instrumentPosition | ( | double | p[3] | ) | const |
Returns the spacecraft position in body-fixed frame km units.
p[] | Spacecraft position |
Isis::iException::Programmer | - "You must call SetTime first" |
Referenced by Isis::RadarGroundMap::GetdXYdPosition(), Isis::RadarGroundMap::GetXY(), Isis::RadarGroundMap::SetFocalPlane(), and Isis::RadarGroundMap::SetGround().
SpicePosition * Isis::Spice::instrumentPosition | ( | ) | const |
Accessor method for the instrument position.
Referenced by Isis::Camera::DetectorResolution(), Isis::Sensor::EmissionAngle(), Isis::Camera::LocalPhotometricAngles(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MiniRF::MiniRF(), Isis::Camera::OffNadirAngle(), Isis::Sensor::PhaseAngle(), Isis::Sensor::SetGround(), Isis::Sensor::SetLookDirection(), Isis::Sensor::SetUniversalGround(), Isis::Sensor::SlantDistance(), and Isis::Sensor::SpacecraftAltitude().
SpiceRotation * Isis::Spice::instrumentRotation | ( | ) | const |
Accessor method for the instrument rotation.
Referenced by Isis::DawnVirCamera::DawnVirCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::HrscCamera::HrscCamera(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::JunoCamera::JunoCamera(), Isis::Sensor::LookDirection(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::RosettaVirtisCamera::RosettaVirtisCamera(), Isis::RadarGroundMap::SetFocalPlane(), Isis::RadarGroundMap::SetGround(), Isis::Sensor::SetLookDirection(), Isis::Sensor::SetRightAscensionDeclination(), and Isis::TgoCassisCamera::TgoCassisCamera().
bool Isis::Spice::isTimeSet | ( | ) |
Returns true if time has been initialized.
Referenced by Isis::CameraDetectorMap::SetParent().
SpiceInt Isis::Spice::naifBodyCode | ( | ) | const |
This returns the NAIF body code of the target indicated in the labels.
Referenced by Isis::Camera::SpkCenterId().
SpiceInt Isis::Spice::naifBodyFrameCode | ( | ) | const |
This returns the NAIF body frame code.
It is read from the labels, if it exists. Otherwise, it's calculated by the init() method.
SpiceInt Isis::Spice::naifCkCode | ( | ) | const |
This returns the NAIF CK code to use when reading from CK kernels.
SpiceInt Isis::Spice::naifIkCode | ( | ) | const |
This returns the NAIF IK code to use when reading from instrument kernels.
Referenced by Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), 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::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().
SpiceInt Isis::Spice::naifSclkCode | ( | ) | const |
This returns the NAIF SCLK code to use when reading from instrument kernels.
Referenced by Isis::CrismCamera::CrismCamera().
SpiceInt Isis::Spice::naifSpkCode | ( | ) | const |
This returns the NAIF SPK code to use when reading from SPK kernels.
Referenced by Isis::Camera::SpkTargetId().
void Isis::Spice::radii | ( | Distance | r[3] | ) | const |
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.
r[] | Radii of the target in kilometers |
Referenced by Isis::Camera::BasicMapping(), Isis::Camera::GroundRange(), Isis::VimsGroundMap::Init(), Isis::MiniRF::MiniRF(), and Isis::RadarGroundMap::SetFocalPlane().
|
protected |
References Isis::toDouble(), and Isis::toInt().
|
protected |
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.
key | The naif keyword,value name |
type | The naif value's primitive type |
index | The index into the naif keyword array to read |
References _FILEINFO_.
Referenced by Isis::IdealCamera::IdealCamera().
|
virtual |
Virtual method that returns the pixel resolution of the sensor in meters/pix.
Reimplemented in Isis::Camera, and Isis::Sensor.
void Isis::Spice::setTime | ( | const iTime & | et | ) |
Sets the ephemeris time and reads the spacecraft and sun position from the kernels at that instant in time.
et | Ephemeris time (read NAIF documentation for a detailed description) |
References Isis::iTime::Et().
Referenced by Isis::Sensor::setTime().
Longitude Isis::Spice::solarLongitude | ( | ) |
Returns the solar longitude.
|
protected |
References Isis::EndianSwapper::Double().
|
protected |
References _FILEINFO_, Isis::PvlKeyword::addValue(), Isis::PvlKeyword::size(), and Isis::toString().
Referenced by Isis::IdealCamera::IdealCamera().
void Isis::Spice::subSolarPoint | ( | double & | lat, |
double & | lon | ||
) |
Returns the sub-solar latitude/longitude in universal coordinates (0-360 positive east, ocentric)
lat | Sub-solar latitude |
lon | Sub-solar longitude |
Isis::IException::Programmer | - "You must call SetTime first." |
References _FILEINFO_, and Isis::PI.
Referenced by Isis::Sensor::LocalSolarTime(), and Isis::Camera::SunAzimuth().
void Isis::Spice::subSpacecraftPoint | ( | double & | lat, |
double & | lon | ||
) |
Returns the sub-spacecraft latitude/longitude in universal coordinates (0-360 positive east, ocentric)
lat | Sub-spacecraft latitude |
lon | Sub-spacecraft longitude |
Isis::IException::Programmer | - "You must call SetTime first." |
References _FILEINFO_, and Isis::PI.
Referenced by Isis::Sensor::SpacecraftAltitude(), and Isis::Camera::SpacecraftAzimuth().
void Isis::Spice::sunPosition | ( | double | p[3] | ) | const |
Fills the input vector with sun position information, in either body-fixed or J2000 reference frame and km units.
p[] | Sun position |
References _FILEINFO_.
SpicePosition * Isis::Spice::sunPosition | ( | ) | const |
Accessor method for the sun position.
Referenced by Isis::Sensor::SolarDistance().
Target * Isis::Spice::target | ( | ) | const |
Returns a pointer to the target object.
Referenced by Isis::Camera::BasicMapping(), Isis::Camera::basicRingMapping(), Isis::Sensor::Coordinate(), Isis::Sensor::EmissionAngle(), Isis::Sensor::GetLatitude(), Isis::Camera::GetLocalNormal(), Isis::Sensor::GetLongitude(), Isis::Sensor::GetSurfacePoint(), Isis::UniversalGroundMap::GroundRange(), Isis::Sensor::HasSurfaceIntersection(), Isis::Sensor::IgnoreElevationModel(), Isis::Sensor::IncidenceAngle(), Isis::Camera::LoadCache(), Isis::Sensor::LocalRadius(), Isis::Camera::NorthAzimuth(), Isis::Sensor::PhaseAngle(), Isis::VimsGroundMap::SetGround(), Isis::RadarGroundMap::SetGround(), Isis::Sensor::SetGround(), Isis::Camera::SetGround(), Isis::Camera::SetImage(), Isis::Sensor::SetLookDirection(), Isis::Camera::SetRightAscensionDeclination(), Isis::Sensor::setTime(), Isis::Sensor::SetUniversalGround(), Isis::Camera::SetUniversalGround(), Isis::Sensor::SlantDistance(), and Isis::Sensor::SolarDistance().
double Isis::Spice::targetCenterDistance | ( | ) | const |
Calculates and returns the distance from the spacecraft to the target center.
QString Isis::Spice::targetName | ( | ) | const |
iTime Isis::Spice::time | ( | ) | const |
Returns the ephemeris time in seconds which was used to obtain the spacecraft and sun positions.
IException::Programmer | "Unable to retrieve the time Spice::setTime must be called first." |
References _FILEINFO_.
Referenced by Isis::LineScanCameraGroundMap::FindFocalPlane(), Isis::HiresCamera::HiresCamera(), Isis::KaguyaTcCamera::KaguyaTcCamera(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LwirCamera::LwirCamera(), Isis::NewHorizonsMvicFrameCamera::SetBand(), Isis::LineScanCameraDetectorMap::SetDetector(), Isis::VariableLineScanCameraDetectorMap::SetDetector(), Isis::RadarPulseMap::SetDetector(), Isis::RadarSlantRangeMap::SetFocalPlane(), Isis::CameraDetectorMap::SetParent(), Isis::Sensor::setTime(), Isis::RadarSlantRangeMap::SetUndistortedFocalPlane(), Isis::Hyb2OncCamera::ShutterOpenCloseTimes(), Isis::JunoCamera::ShutterOpenCloseTimes(), Isis::MsiCamera::ShutterOpenCloseTimes(), Isis::OsirisRexOcamsCamera::ShutterOpenCloseTimes(), Isis::HayabusaAmicaCamera::ShutterOpenCloseTimes(), Isis::FramingCamera::ShutterOpenCloseTimes(), Isis::DawnFcCamera::ShutterOpenCloseTimes(), Isis::NewHorizonsLorriCamera::ShutterOpenCloseTimes(), Isis::RosettaOsirisCamera::ShutterOpenCloseTimes(), Isis::HayabusaNirsCamera::ShutterOpenCloseTimes(), Isis::Mariner10Camera::ShutterOpenCloseTimes(), Isis::NewHorizonsMvicFrameCamera::ShutterOpenCloseTimes(), Isis::ApolloMetricCamera::ShutterOpenCloseTimes(), Isis::SsiCamera::ShutterOpenCloseTimes(), Isis::VoyagerCamera::ShutterOpenCloseTimes(), Isis::LoHighCamera::ShutterOpenCloseTimes(), Isis::HiresCamera::ShutterOpenCloseTimes(), Isis::LwirCamera::ShutterOpenCloseTimes(), Isis::VikingCamera::ShutterOpenCloseTimes(), Isis::IssNACamera::ShutterOpenCloseTimes(), Isis::IssWACamera::ShutterOpenCloseTimes(), Isis::NirCamera::ShutterOpenCloseTimes(), Isis::LoMediumCamera::ShutterOpenCloseTimes(), Isis::TgoCassisCamera::ShutterOpenCloseTimes(), Isis::UvvisCamera::ShutterOpenCloseTimes(), Isis::MdisCamera::ShutterOpenCloseTimes(), Isis::Camera::StartEndEphemerisTimes(), and Isis::UvvisCamera::UvvisCamera().
|
protected |
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.
|
protected |
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
Referenced by Isis::Sensor::IncidenceAngle(), Isis::Camera::LocalPhotometricAngles(), and Isis::Sensor::PhaseAngle().
U.S. Department of the Interior | U.S. Geological Survey ISIS | Privacy & Disclaimers | Astrogeology Research Program To contact us, please post comments and questions on the USGS Astrogeology Discussion Board To report a bug, or suggest a feature go to: ISIS Github File Modified: 07/13/2023 00:17:14 |