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