305 const int size,
double tol);
317 SpiceDouble
getDouble(
const QString &key,
int index = 0);
318 SpiceInt
getInteger(
const QString &key,
int index = 0);
319 QString
getString(
const QString &key,
int index = 0);
353 void storeResult(QString name,
SpiceValueType type, QVariant value);
358 QVariant readStoredValue(QString key,
SpiceValueType type,
int index);
383 void init(
Pvl &lab,
bool noTables);
SpiceDouble * m_cacheSize
Cache size. Note: This value is 1 for Framing cameras.
void computeSolarLongitude(iTime et)
Computes the solar longitude for the given ephemeris time.
void instrumentBodyFixedVelocity(double v[3]) const
Returns the spacecraft velocity in body-fixed frame km/sec units.
virtual ~Spice()
Destroys the Spice object.
SpicePosition * m_sunPosition
Sun spice position.
PvlObject * m_naifKeywords
NaifKeywords PvlObject from cube.
SpiceInt naifBodyFrameCode() const
This returns the NAIF body frame code.
PvlObject getStoredNaifKeywords() const
This returns the PvlObject that stores all of the requested Naif data and can be a replacement for fu...
void load(PvlKeyword &key, bool notab)
Loads/furnishes NAIF kernel(s)
Parse and return pieces of a time string.
SpicePosition * sunPosition() const
Accessor method for the sun position.
iTime * m_et
Ephemeris time (read NAIF documentation for a detailed description)
SpiceInt getInteger(const QString &key, int index=0)
This returns a value from the NAIF text pool.
SpiceRotation * instrumentRotation() const
Accessor method for the instrument rotation.
SpiceValueType
NAIF value primitive type.
bool m_usingNaif
Indicates whether we are reading values from the NaifKeywords PvlObject in cube.
void radii(Distance r[3]) const
Returns the radii of the body in km.
QVector< QString > * m_kernels
Vector containing kernels filenames.
SpiceInt naifBodyCode() const
This returns the NAIF body code of the target indicated in the labels.
virtual double resolution()
Virtual method that returns the pixel resolution of the sensor in meters/pix.
SpicePosition * m_instrumentPosition
Instrument spice position.
SpicePosition * instrumentPosition() const
Accessor method for the instrument position.
SpiceDouble m_BJ[3][3]
This contains the transformation matrix from J2000 (J) to Body fixed (B).
SpiceDouble * m_startTimePadding
Kernels pvl group StartPadding keyword value.
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...
SpiceInt * m_spkBodyCode
Spacecraft and planet ephemeris kernel (SPK) body code.
Distance measurement, usually in meters.
Longitude * m_solarLongitude
Body rotation solar longitude value.
SpiceInt naifSpkCode() const
This returns the NAIF SPK code to use when reading from SPK kernels.
void instrumentBodyFixedPosition(double p[3]) const
Returns the spacecraft position in body-fixed frame km units.
iTime * m_endTime
Corrected end (shutter close) time of the observation.
SpiceRotation * m_bodyRotation
Body spice rotation.
This class is designed to encapsulate the concept of a Longitude.
Target * target() const
Returns a pointer to the target object.
iTime time() const
Returns the ephemeris time in seconds which was used to obtain the spacecraft and sun positions...
Spice(Pvl &cubeLabel)
Constructs a Spice object and loads SPICE kernels using information from the label object...
bool hasKernels(Pvl &lab)
Returns true if the kernel group has kernel files.
SpiceInt naifCkCode() const
This returns the NAIF CK code to use when reading from CK kernels.
SpiceRotation * bodyRotation() const
Accessor method for the body rotation.
void subSolarPoint(double &lat, double &lon)
Returns the sub-solar latitude/longitude in universal coordinates (0-360 positive east...
A single keyword-value pair.
iTime cacheEndTime() const
Accessor method for the cache end time.
SpiceRotation * m_instrumentRotation
Instrument spice rotation.
iTime * m_startTime
Corrected start (shutter open) time of the observation.
Obtain SPICE rotation information for a body.
Container for cube-like labels.
This class is used to create and store valid Isis3 targets.
SpiceInt * m_ikCode
Instrument kernel (IK) code.
SpiceInt * m_sclkCode
Spacecraft clock correlation kernel (SCLK) code.
QString getString(const QString &key, int index=0)
This returns a value from the NAIF text pool.
SpiceInt naifSclkCode() const
This returns the NAIF SCLK code to use when reading from instrument kernels.
SpiceDouble * m_endTimePadding
Kernels pvl group EndPadding keyword value.
bool m_allowDownsizing
Indicates whether to allow downsizing.
SpiceInt naifIkCode() const
This returns the NAIF IK code to use when reading from instrument kernels.
Obtain SPICE position information for a body.
bool isTimeSet()
Returns true if time has been initialized.
iTime getClockTime(QString clockValue, int sclkCode=-1)
This converts the spacecraft clock ticks value (clockValue) to an iTime.
iTime cacheStartTime() const
Accessor method for the cache start time.
Obtain SPICE information for a spacecraft.
void init(Pvl &lab, bool noTables)
Initialization of Spice object.
Target * m_target
Target of the observation.
SpiceDouble m_uB[3]
This contains the sun position (u) in the bodyfixed reference frame (B).
QVariant readValue(QString key, SpiceValueType type, int index=0)
This should be used for reading ALL text naif kernel values.
Contains Pvl Groups and Pvl Objects.
SpiceInt * m_ckCode
Camera kernel (CK) code.
Longitude solarLongitude()
Returns the solar longitude.
QString targetName() const
Returns the QString name of the target.
double targetCenterDistance() const
Calculates and returns the distance from the spacecraft to the target center.
void setTime(const iTime &time)
Sets the ephemeris time and reads the spacecraft and sun position from the kernels at that instant in...
SpiceInt * m_spkCode
Spacecraft and planet ephemeris kernel (SPK) code.
SpiceDouble getDouble(const QString &key, int index=0)
This returns a value from the NAIF text pool.
SpiceInt * m_bodyFrameCode
Naif's BODY_FRAME_CODE value.
IO Handler for Isis Cubes.
void subSpacecraftPoint(double &lat, double &lon)
Returns the sub-spacecraft latitude/longitude in universal coordinates (0-360 positive east...