Isis 3 Programmer Reference
|
Provides swap observer/target and improved light time correction. More...
#include <SpacecraftPosition.h>
Public Types | |
enum | Source { Spice, Memcache, HermiteCache, PolyFunction, PolyFunctionOverHermiteConstant } |
This enum indicates the status of the object. More... | |
enum | PartialType { WRT_X, WRT_Y, WRT_Z } |
enum | OverrideType { NoOverrides, ScaleOnly, BaseAndScale } |
Public Member Functions | |
SpacecraftPosition (int targetCode, int observerCode, const LightTimeCorrectionState <State=LightTimeCorrectionState(), const Distance &radius=Distance(0.0, Distance::Meters)) | |
constructor for swapping observer/target parameters More... | |
double | getRadiusLightTime () const |
Returns the time it takes for light to travel the radius of the target. More... | |
virtual void | SetAberrationCorrection (const QString &correction) |
Set aberration correction value for determining positions. More... | |
virtual QString | GetAberrationCorrection () const |
Returns the stellr aberration correction applied. More... | |
virtual void | SetEphemerisTimeSpice () |
Determine accurate position of target w.r.t. More... | |
const LightTimeCorrectionState & | getLightTimeState () const |
Return the state of light time correction parameters. More... | |
void | SetTimeBias (double timeBias) |
Apply a time bias when invoking SetEphemerisTime method. More... | |
double | GetTimeBias () const |
Returns the value of the time bias added to ET. More... | |
double | GetLightTime () const |
Return the light time coorection value. More... | |
const std::vector< double > & | SetEphemerisTime (double et) |
Return J2000 coordinate at given time. More... | |
double | EphemerisTime () const |
Return the current ephemeris time. More... | |
const std::vector< double > & | GetCenterCoordinate () |
Compute and return the coordinate at the center time. More... | |
const std::vector< double > & | Coordinate () |
Return the current J2000 position. More... | |
const std::vector< double > & | Velocity () |
Return the current J2000 velocity. More... | |
bool | HasVelocity () |
Return the flag indicating whether the velocity exists. More... | |
void | LoadCache (double startTime, double endTime, int size) |
Cache J2000 position over a time range. More... | |
void | LoadCache (double time) |
Cache J2000 position for a time. More... | |
void | LoadCache (Table &table) |
Cache J2000 positions using a table file. More... | |
void | LoadCache (nlohmann::json &isd) |
Load the cached data from an ALE ISD. More... | |
Table | LineCache (const QString &tableName) |
Return a table with J2000 to reference positions. More... | |
Table | LoadHermiteCache (const QString &tableName) |
Cache J2000 position over existing cached time range using polynomials stored as Hermite cubic spline knots. More... | |
void | ReloadCache () |
Cache J2000 positions over existing cached time range using polynomials. More... | |
void | ReloadCache (Table &table) |
Cache J2000 position over existing cached time range using table. More... | |
Table | Cache (const QString &tableName) |
Return a table with J2000 positions. More... | |
bool | IsCached () const |
Is this position cached. More... | |
int | cacheSize () const |
Get the size of the current cached positions. More... | |
void | SetPolynomial (const Source type=PolyFunction) |
Set the coefficients of a polynomial fit to each of the components (X, Y, Z) of the position vector for the time period covered by the cache, component = c0 + c1*t + c2*t**2 + ... More... | |
void | SetPolynomial (const std::vector< double > &XC, const std::vector< double > &YC, const std::vector< double > &ZC, const Source type=PolyFunction) |
Set the coefficients of a polynomial (parabola) fit to each of the three coordinates of the position vector for the time period covered by the cache, coord = c0 + c1*t + c2*t**2 + ... More... | |
void | GetPolynomial (std::vector< double > &XC, std::vector< double > &YC, std::vector< double > &ZC) |
Return the coefficients of a polynomial fit to each of the three coordinates of the position for the time period covered by the cache, angle = c0 + c1*t + c2*t**2 + ... More... | |
void | SetPolynomialDegree (int degree) |
Set the polynomial degree. More... | |
Source | GetSource () |
Return the source of the position. More... | |
void | ComputeBaseTime () |
Compute the base time using cached times. More... | |
double | GetBaseTime () |
Return the base time for the position. More... | |
void | SetOverrideBaseTime (double baseTime, double timeScale) |
Set an override base time to be used with observations on scanners to allow all images in an observation to use the same base time and polynomials for the positions. More... | |
double | GetTimeScale () |
Return the time scale for the position. More... | |
double | DPolynomial (const int coeffIndex) |
Evaluate the derivative of the fit polynomial (parabola) defined by the given coefficients with respect to the coefficient at the given index, at the current time. More... | |
std::vector< double > | CoordinatePartial (SpicePosition::PartialType partialVar, int coeffIndex) |
Set the coefficients of a polynomial fit to each of the three coordinates of the position vector for the time period covered by the cache,. More... | |
std::vector< double > | VelocityPartial (SpicePosition::PartialType partialVar, int coeffIndex) |
Compute the derivative of the velocity with respect to the specified variable. More... | |
void | Memcache2HermiteCache (double tolerance) |
This method reduces the cache for position, time and velocity to the minimum number of values needed to interpolate the J2000 coordinates using a Hermite spline, given a tolerance of deviation from the NAIF values. More... | |
std::vector< double > | Extrapolate (double timeEt) |
Extrapolate position for a given time assuming a constant velocity. More... | |
std::vector< double > | HermiteCoordinate () |
This method returns the Hermite coordinate for the current time for PolyFunctionOverHermiteConstant functions. More... | |
Static Public Member Functions | |
static double | getDistanceLightTime (const Distance &distance) |
Returns the time it takes for light to travel a given distance. More... | |
Protected Member Functions | |
void | SetEphemerisTimeMemcache () |
This is a protected method that is called by SetEphemerisTime() when Source type is Memcache. More... | |
void | SetEphemerisTimeHermiteCache () |
This is a protected method that is called by SetEphemerisTime() when Source type is HermiteCache. More... | |
void | SetEphemerisTimePolyFunction () |
This is a protected method that is called by SetEphemerisTime() when Source type is PolyFunction. More... | |
void | SetEphemerisTimePolyFunctionOverHermiteConstant () |
This is a protected method that is called by SetEphemerisTime() when Source type is PolyFunctionOverHermiteConstant. More... | |
int | getObserverCode () const |
Returns observer code. More... | |
int | getTargetCode () const |
Returns target code. More... | |
double | getAdjustedEphemerisTime () const |
Returns adjusted ephemeris time. More... | |
void | computeStateVector (double et, int target, int observer, const QString &refFrame, const QString &abcorr, double state[6], bool &hasVelocity, double &lightTime) const |
Computes the state vector of the target w.r.t observer. More... | |
void | setStateVector (const double state[6], const bool &hasVelocity) |
Sets the state of target relative to observer. More... | |
void | setLightTime (const double &lightTime) |
Inheritors can set the light time if indicated. More... | |
Private Member Functions | |
void | init (int targetCode, int observerCode, const bool &swapObserverTarget=false) |
Internal initialization of the object support observer/target swap. More... | |
void | ClearCache () |
Removes the entire cache from memory. More... | |
void | LoadTimeCache () |
Load the time cache. More... | |
void | CacheLabel (Table &table) |
Add labels to a SpicePosition table. More... | |
double | ComputeVelocityInTime (PartialType var) |
Compute the velocity with respect to time instead of scaled time. More... | |
Private Attributes | |
LightTimeCorrectionState | m_abcorr |
Light time correction state. More... | |
Distance | m_radius |
Radius of target. More... | |
int | p_targetCode |
target body code More... | |
int | p_observerCode |
observer body code More... | |
double | p_timeBias |
iTime bias when reading kernels More... | |
QString | p_aberrationCorrection |
Light time correction to apply. More... | |
double | p_et |
Current ephemeris time. More... | |
std::vector< double > | p_coordinate |
J2000 position at time et. More... | |
std::vector< double > | p_velocity |
J2000 velocity at time et. More... | |
Source | p_source |
Enumerated value for the location of the SPK information used. More... | |
std::vector< double > | p_cacheTime |
iTime for corresponding position More... | |
std::vector< double > | p_coefficients [3] |
Coefficients of polynomials fit to 3 coordinates. More... | |
double | p_baseTime |
Base time used in fit equations. More... | |
double | p_timeScale |
Time scale used in fit equations. More... | |
bool | p_degreeApplied |
Flag indicating whether or not a polynomial. More... | |
int | p_degree |
Degree of polynomial function fit to the coordinates of the position. More... | |
double | p_fullCacheStartTime |
Original start time of the complete cache after spiceinit. More... | |
double | p_fullCacheEndTime |
Original end time of the complete cache after spiceinit. More... | |
double | p_fullCacheSize |
Orignial size of the complete cache after spiceinit. More... | |
bool | p_hasVelocity |
Flag to indicate velocity is available. More... | |
OverrideType | p_override |
Time base and scale override options;. More... | |
double | p_overrideBaseTime |
Value set by caller to override computed base time. More... | |
double | p_overrideTimeScale |
Value set by caller to override computed time scale. More... | |
bool | m_swapObserverTarget |
double | m_lt |
!< Swap traditional order More... | |
ale::States * | m_state |
!< Light time correction More... | |
Provides swap observer/target and improved light time correction.
The process by which ISIS has determined the position of the spacecraft w.r.t a target body is by utilizing the NAIF spkez_c/spkezp_c routines. Recently it has been determined that the parameters for observer (or spacecraft) and target (typically a planet) has been swapped. This results in a slightly different location of the s/c. This class provides programmers with a way to swap these parameters at runtime by providing a different instantiation option.
This implementation was chosen to mostly hide this option as it the full impact of this chage is still being evaluated for all supported instruments in ISIS.
This implementation provides the ability to swap observer/target parameters selectively as deemed appropriate by API developers. See the Spice class for how this class is being utilized.
In addition, this class provides the ability to correct for stellar aberration and light time to the target body surface (via a reimplementation of SetEphemerisSpiceTime()). This mostly fixes the problem of accurate light time correction. What remains is applying this fix on a per pixel basis. It is most accurate at the subspacecraft lat/lon point on the target body surface.
Definition at line 60 of file SpacecraftPosition.h.
|
inherited |
This enum indicates the status of the object.
The class expects functions to be after MemCache in the list.
Definition at line 180 of file SpicePosition.h.
Isis::SpacecraftPosition::SpacecraftPosition | ( | int | targetCode, |
int | observerCode, | ||
const LightTimeCorrectionState & | ltState = LightTimeCorrectionState() , |
||
const Distance & | radius = Distance(0.0, Distance::Meters) |
||
) |
constructor for swapping observer/target parameters
This constructor utlizes a protected constructor in the SpicePosition class specially designed to handle this option. Passing false into this constructor results in preexisting behavior. True will swap observer/target when determining the s/c position.
It is critical that the targetCode and observerCode be of the same exact order as they are in preexisting code. This is consistent with the current SpicePosition constructor with an additional boolean parameter that indicates to treat the targetCode as the observer and the observerCode as the target.
targetCode | NAIF code for target |
observerCode | NAIF code for observer |
swapObserverTarget | Boolean to specify swap |
Definition at line 48 of file SpacecraftPosition.cpp.
|
inherited |
Return a table with J2000 positions.
Return a table containg the cached coordinates with the given name. The table will have four or seven columns, J2000 x,y,z (optionally vx,vy,vx) and the ephemeris time.
tableName | Name of the table to create and return |
Definition at line 549 of file SpicePosition.cpp.
References Isis::SpicePosition::CacheLabel(), Isis::TableField::Double, Isis::IException::Io, Isis::SpicePosition::LineCache(), Isis::SpicePosition::m_state, Isis::SpicePosition::Memcache2HermiteCache(), Isis::SpicePosition::p_baseTime, Isis::SpicePosition::p_cacheTime, Isis::SpicePosition::p_coefficients, Isis::SpicePosition::p_degree, Isis::SpicePosition::p_fullCacheSize, Isis::SpicePosition::p_hasVelocity, Isis::SpicePosition::p_source, Isis::SpicePosition::p_timeScale, Isis::SpicePosition::PolyFunction, and Isis::SpicePosition::PolyFunctionOverHermiteConstant.
Referenced by Isis::SpicePosition::LineCache(), and Isis::SpicePosition::LoadHermiteCache().
|
privateinherited |
Add labels to a SpicePosition table.
Return a table containing the labels defining the position table.
Definition at line 658 of file SpicePosition.cpp.
References Isis::SpicePosition::HermiteCache, Isis::Table::Label(), Isis::SpicePosition::Memcache, Isis::SpicePosition::p_fullCacheEndTime, Isis::SpicePosition::p_fullCacheSize, Isis::SpicePosition::p_fullCacheStartTime, Isis::SpicePosition::p_source, and Isis::toString().
Referenced by Isis::SpicePosition::Cache().
|
inlineinherited |
Get the size of the current cached positions.
Definition at line 242 of file SpicePosition.h.
References Isis::SpicePosition::m_state.
|
privateinherited |
Removes the entire cache from memory.
Definition at line 1484 of file SpicePosition.cpp.
References Isis::SpicePosition::m_state, and Isis::SpicePosition::p_cacheTime.
Referenced by Isis::SpicePosition::LoadHermiteCache(), Isis::SpicePosition::ReloadCache(), and Isis::SpicePosition::~SpicePosition().
|
inherited |
Compute the base time using cached times.
Definition at line 1116 of file SpicePosition.cpp.
References Isis::SpicePosition::p_baseTime, Isis::SpicePosition::p_cacheTime, Isis::SpicePosition::p_override, Isis::SpicePosition::p_overrideBaseTime, Isis::SpicePosition::p_overrideTimeScale, and Isis::SpicePosition::p_timeScale.
Referenced by Isis::SpicePosition::SetPolynomial().
|
protectedinherited |
Computes the state vector of the target w.r.t observer.
This method computes the state vector of the target that is relative of the observer. It first attempts to retrieve with velocity vectors. If that fails, it makes an additional attempt to get the state w/o velocity vectors. The final result is indicated by the hasVelocity parameter.
The parameters to this routine are the same as the NAIF spkez_c/spkezp_c routines. See http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/spkez_c.html for complete description.
Note that this routine does not actually affect the internals of this object (hence the constness of the method). It is up to the caller to apply the results and potentially handle swapping of observer/target and light time correction. See SpacecraftPosition for additional details on this application of the results.
et | Time to compute state vector for |
target | NAIF target code |
observer | NAIF observer code |
refFrame | Reference frame to express coordinates in (e.g., J2000) |
abcorr | Stellar aberration correction option |
state | Returns the 6-element state vector in target body fixed coordinates |
hasVelocity | Returns knowledge of whether the velocity vector is valid |
lightTime | Returns the light time correct resulting from the request if applicable |
Definition at line 1742 of file SpicePosition.cpp.
References Isis::NaifStatus::CheckErrors().
Referenced by SetEphemerisTimeSpice(), and Isis::SpicePosition::SetEphemerisTimeSpice().
|
privateinherited |
Compute the velocity with respect to time instead of scaled time.
coef | A SpicePosition polynomial function partial type |
Definition at line 1603 of file SpicePosition.cpp.
References Isis::SpicePosition::p_baseTime, Isis::SpicePosition::p_coefficients, Isis::SpicePosition::p_degree, Isis::SpicePosition::p_et, and Isis::SpicePosition::p_timeScale.
Referenced by Isis::SpicePosition::SetEphemerisTimePolyFunction().
|
inlineinherited |
Return the current J2000 position.
Definition at line 211 of file SpicePosition.h.
References Isis::SpicePosition::p_coordinate.
Referenced by Isis::SpicePosition::GetCenterCoordinate(), Isis::RadarGroundMap::GetXY(), Isis::MiniRF::MiniRF(), Isis::RadarGroundMap::SetFocalPlane(), and Isis::RadarGroundMap::SetGround().
|
inherited |
Set the coefficients of a polynomial fit to each of the three coordinates of the position vector for the time period covered by the cache,.
coordinate = c0 + c1*t + c2*t**2 + ... cn*t**n, where t = (time - p_basetime) / p_timeScale.
partialVar | Designated variable of the partial derivative |
Definition at line 1167 of file SpicePosition.cpp.
References Isis::SpicePosition::DPolynomial().
Referenced by Isis::CameraGroundMap::GetdXYdPosition(), and Isis::RadarGroundMap::GetdXYdPosition().
|
inherited |
Evaluate the derivative of the fit polynomial (parabola) defined by the given coefficients with respect to the coefficient at the given index, at the current time.
coeffIndex | Index of coefficient to differentiate with respect to |
Definition at line 1244 of file SpicePosition.cpp.
References Isis::SpicePosition::p_baseTime, Isis::SpicePosition::p_degree, Isis::SpicePosition::p_et, Isis::SpicePosition::p_timeScale, Isis::IException::Programmer, and Isis::toString().
Referenced by Isis::SpicePosition::CoordinatePartial().
|
inlineinherited |
Return the current ephemeris time.
Definition at line 204 of file SpicePosition.h.
References Isis::SpicePosition::p_et.
Referenced by Isis::SpicePosition::getAdjustedEphemerisTime().
|
inherited |
Extrapolate position for a given time assuming a constant velocity.
The position and velocity at the current time will be used to extrapolate position at the input time. If velocity does not exist, the value at the current time will be output. The caller must make sure to call SetEphemerisTime to set the time to the time to be used for the extrapolation.
[in] | timeEt | The time of the position to be extrapolated |
[out] | An | extrapolated position at the input time |
Definition at line 1626 of file SpicePosition.cpp.
References Isis::SpicePosition::p_coordinate, Isis::SpicePosition::p_et, Isis::SpicePosition::p_hasVelocity, and Isis::SpicePosition::p_velocity.
|
virtual |
Returns the stellr aberration correction applied.
Reimplemented from Isis::SpicePosition.
Definition at line 110 of file SpacecraftPosition.cpp.
References Isis::LightTimeCorrectionState::getAberrationCorrection(), and m_abcorr.
Referenced by SetEphemerisTimeSpice().
|
protectedinherited |
Returns adjusted ephemeris time.
This method returns the actual ephemeris time adjusted by a specifed time bias. The bias typically comes explicitly from the camera model but could be adjusted by the environment they are utlized in.
Definition at line 1705 of file SpicePosition.cpp.
References Isis::SpicePosition::EphemerisTime(), and Isis::SpicePosition::GetTimeBias().
Referenced by SetEphemerisTimeSpice(), and Isis::SpicePosition::SetEphemerisTimeSpice().
|
inlineinherited |
Return the base time for the position.
Definition at line 271 of file SpicePosition.h.
References Isis::SpicePosition::p_baseTime.
Referenced by Isis::IsisBundleObservation::initializeExteriorOrientation().
|
inherited |
Compute and return the coordinate at the center time.
Definition at line 1586 of file SpicePosition.cpp.
References Isis::SpicePosition::Coordinate(), Isis::SpicePosition::p_fullCacheEndTime, Isis::SpicePosition::p_fullCacheStartTime, and Isis::SpicePosition::SetEphemerisTime().
Referenced by Isis::IsisBundleObservation::bundleOutputFetchData().
|
static |
Returns the time it takes for light to travel a given distance.
radius | Distance to compute light time travel for |
Definition at line 87 of file SpacecraftPosition.cpp.
References Isis::Distance::kilometers().
|
inherited |
Return the light time coorection value.
This method returns the light time correction of the last call to SetEphemerisTimeSpice. This is the actual time after adjustments that has resulting int the adjustment of the target body. The observer position should be unchanged.
Definition at line 230 of file SpicePosition.cpp.
References Isis::SpicePosition::m_lt.
const LightTimeCorrectionState & Isis::SpacecraftPosition::getLightTimeState | ( | ) | const |
Return the state of light time correction parameters.
Definition at line 197 of file SpacecraftPosition.cpp.
References m_abcorr.
|
protectedinherited |
Returns observer code.
This methods returns the proper observer code as specified in constructor. Code has been subjected to swapping if requested.
Definition at line 1675 of file SpicePosition.cpp.
References Isis::SpicePosition::p_observerCode.
Referenced by SetEphemerisTimeSpice(), and Isis::SpicePosition::SetEphemerisTimeSpice().
|
inherited |
Return the coefficients of a polynomial fit to each of the three coordinates of the position for the time period covered by the cache, angle = c0 + c1*t + c2*t**2 + ...
[out] | XC | Coefficients of fit to first coordinate of position |
[out] | YC | Coefficients of fit to second coordinate of position |
[out] | ZC | Coefficients of fit to third coordinate of position |
Definition at line 1103 of file SpicePosition.cpp.
References Isis::SpicePosition::p_coefficients.
Referenced by Isis::IsisBundleObservation::applyParameterCorrections(), Isis::IsisBundleObservation::bundleOutputFetchData(), and Isis::IsisBundleObservation::initializeExteriorOrientation().
double Isis::SpacecraftPosition::getRadiusLightTime | ( | ) | const |
Returns the time it takes for light to travel the radius of the target.
This method returns the time in seconds it takes to travel the distance of the radius of the target body. This is a function of the Distance parameter provided at the time this object was constructed.
Definition at line 73 of file SpacecraftPosition.cpp.
References Isis::Distance::kilometers(), and m_radius.
Referenced by SetEphemerisTimeSpice().
|
inlineinherited |
Return the source of the position.
Definition at line 264 of file SpicePosition.h.
References Isis::SpicePosition::p_source.
|
protectedinherited |
Returns target code.
This methods returns the proper target code as specified in constructor. Code has been subjected to swapping if requested.
Definition at line 1689 of file SpicePosition.cpp.
References Isis::SpicePosition::p_targetCode.
Referenced by SetEphemerisTimeSpice(), and Isis::SpicePosition::SetEphemerisTimeSpice().
|
inherited |
Returns the value of the time bias added to ET.
Definition at line 161 of file SpicePosition.cpp.
References Isis::SpicePosition::p_timeBias.
Referenced by Isis::SpicePosition::getAdjustedEphemerisTime().
|
inlineinherited |
Return the time scale for the position.
Definition at line 278 of file SpicePosition.h.
References Isis::SpicePosition::p_timeScale.
Referenced by Isis::IsisBundleObservation::initializeExteriorOrientation().
|
inlineinherited |
Return the flag indicating whether the velocity exists.
Definition at line 219 of file SpicePosition.h.
References Isis::SpicePosition::p_hasVelocity.
|
inherited |
This method returns the Hermite coordinate for the current time for PolyFunctionOverHermiteConstant functions.
Definition at line 1646 of file SpicePosition.cpp.
References Isis::SpicePosition::p_coordinate, Isis::SpicePosition::p_source, Isis::SpicePosition::PolyFunctionOverHermiteConstant, Isis::IException::Programmer, and Isis::SpicePosition::SetEphemerisTimeHermiteCache().
|
privateinherited |
Internal initialization of the object support observer/target swap.
This initailizer provides options to swap observer/target properly.
targetCode | Traditional s/c code |
observerCode | Traditional target/planet code |
swapObserverTarget | True indicates implement the observer/target swap, false will invoke preexisting behavior |
Definition at line 87 of file SpicePosition.cpp.
References Isis::SpicePosition::m_lt, Isis::SpicePosition::m_state, Isis::SpicePosition::p_aberrationCorrection, Isis::SpicePosition::p_baseTime, Isis::SpicePosition::p_coefficients, Isis::SpicePosition::p_coordinate, Isis::SpicePosition::p_degree, Isis::SpicePosition::p_degreeApplied, Isis::SpicePosition::p_et, Isis::SpicePosition::p_fullCacheEndTime, Isis::SpicePosition::p_fullCacheSize, Isis::SpicePosition::p_fullCacheStartTime, Isis::SpicePosition::p_hasVelocity, Isis::SpicePosition::p_observerCode, Isis::SpicePosition::p_override, Isis::SpicePosition::p_source, Isis::SpicePosition::p_targetCode, Isis::SpicePosition::p_timeBias, Isis::SpicePosition::p_timeScale, Isis::SpicePosition::p_velocity, and Isis::SpicePosition::Spice.
Referenced by Isis::SpicePosition::SpicePosition().
|
inlineinherited |
Is this position cached.
Definition at line 237 of file SpicePosition.h.
References Isis::SpicePosition::m_state.
|
inherited |
Return a table with J2000 to reference positions.
Return a table containing the cached positions with the given name. The table will have seven columns, positionX, positionY, positionZ, angular velocity X, angular velocity Y, angular velocity Z, and time of J2000 position.
tableName | Name of the table to create and return |
Definition at line 704 of file SpicePosition.cpp.
References Isis::SpicePosition::Cache(), Isis::SpicePosition::HermiteCache, Isis::SpicePosition::Memcache, Isis::SpicePosition::p_source, Isis::IException::Programmer, and Isis::SpicePosition::ReloadCache().
Referenced by Isis::SpicePosition::Cache().
|
inherited |
Cache J2000 position over a time range.
This method will load an internal cache with coordinates over a time range. This prevents the NAIF kernels from being read over-and-over again and slowing a application down due to I/O performance. Once the cache has been loaded then the kernels can be unloaded from the NAIF system.
startTime | Starting ephemeris time in seconds for the cache |
endTime | Ending ephemeris time in seconds for the cache |
size | Number of coordinates/positions to keep in the cache |
Definition at line 297 of file SpicePosition.cpp.
References Isis::SpicePosition::HermiteCache, Isis::SpicePosition::LoadTimeCache(), Isis::SpicePosition::m_state, Isis::SpicePosition::Memcache, Isis::SpicePosition::p_cacheTime, Isis::SpicePosition::p_coordinate, Isis::SpicePosition::p_fullCacheEndTime, Isis::SpicePosition::p_fullCacheSize, Isis::SpicePosition::p_fullCacheStartTime, Isis::SpicePosition::p_hasVelocity, Isis::SpicePosition::p_source, Isis::SpicePosition::p_velocity, Isis::IException::Programmer, and Isis::SpicePosition::SetEphemerisTime().
Referenced by Isis::SpicePosition::LoadCache(), and Isis::SpicePosition::ReloadCache().
|
inherited |
Cache J2000 position for a time.
This method will load an internal cache with coordinates for a single time (e.g. useful for framing cameras). This prevents the NAIF kernels from being read over-and-over again and slowing a application down due to I/O performance. Once the cache has been loaded then the kernels can be unloaded from the NAIF system. This calls the LoadCache(stime,etime,size) method using the time as both the starting and ending time with a size of 1.
time | single ephemeris time in seconds to cache |
Definition at line 354 of file SpicePosition.cpp.
References Isis::SpicePosition::LoadCache().
|
inherited |
Load the cached data from an ALE ISD.
The SpicePosition object must be set to a SPICE source before loading the cache.
isdPos | The ALE ISD as a JSON object. |
Definition at line 368 of file SpicePosition.cpp.
References Isis::SpicePosition::m_state, Isis::SpicePosition::Memcache, Isis::SpicePosition::p_cacheTime, Isis::SpicePosition::p_fullCacheEndTime, Isis::SpicePosition::p_fullCacheSize, Isis::SpicePosition::p_fullCacheStartTime, Isis::SpicePosition::p_hasVelocity, Isis::SpicePosition::p_source, Isis::IException::Programmer, and Isis::SpicePosition::SetEphemerisTime().
|
inherited |
Cache J2000 positions using a table file.
This method will load an internal cache with coordinates from an ISIS table file. The table must have 4 columns, or 7 (if velocity) is included, and at least one row. The 4 columns contain the following information, body position x,y,z in J2000 and the ephemeris time of that position. If there are multiple rows it is assumed you can interpolate position at times in between the rows.
table | An ISIS table blob containing valid J2000 coordinate/time values |
Definition at line 429 of file SpicePosition.cpp.
References Isis::TableRecord::Fields(), Isis::PvlObject::findKeyword(), Isis::PvlObject::hasKeyword(), Isis::SpicePosition::HermiteCache, Isis::IException::Io, Isis::Table::Label(), Isis::SpicePosition::m_state, Isis::SpicePosition::Memcache, Isis::Table::Name(), Isis::SpicePosition::p_cacheTime, Isis::SpicePosition::p_fullCacheEndTime, Isis::SpicePosition::p_fullCacheSize, Isis::SpicePosition::p_fullCacheStartTime, Isis::SpicePosition::p_hasVelocity, Isis::SpicePosition::p_override, Isis::SpicePosition::p_overrideTimeScale, Isis::SpicePosition::p_source, Isis::SpicePosition::PolyFunction, Isis::IException::Programmer, Isis::Table::Records(), Isis::SpicePosition::SetOverrideBaseTime(), Isis::SpicePosition::SetPolynomial(), Isis::SpicePosition::SetPolynomialDegree(), and Isis::toDouble().
|
inherited |
Cache J2000 position over existing cached time range using polynomials stored as Hermite cubic spline knots.
This method will reload an internal cache with positions formed from a cubic Hermite spline over a time range. The method assumes a polynomial function has been fit to the coordinates of the positions and calculates the spline from the polynomial function.
Definition at line 793 of file SpicePosition.cpp.
References Isis::SpicePosition::Cache(), Isis::SpicePosition::ClearCache(), Isis::BasisFunction::Coefficient(), Isis::BasisFunction::Evaluate(), Isis::SpicePosition::HermiteCache, Isis::SpicePosition::m_state, Isis::SpicePosition::p_baseTime, Isis::SpicePosition::p_cacheTime, Isis::SpicePosition::p_coefficients, Isis::SpicePosition::p_coordinate, Isis::SpicePosition::p_degree, Isis::SpicePosition::p_et, Isis::SpicePosition::p_fullCacheEndTime, Isis::SpicePosition::p_fullCacheSize, Isis::SpicePosition::p_fullCacheStartTime, Isis::SpicePosition::p_hasVelocity, Isis::SpicePosition::p_source, Isis::SpicePosition::p_velocity, Isis::SpicePosition::PolyFunction, Isis::IException::Programmer, Isis::BasisFunction::SetCoefficients(), and Isis::SpicePosition::SetEphemerisTime().
|
privateinherited |
Load the time cache.
This method should works with the LoadCache(startTime, endTime, size) method to load the time cache.
Definition at line 1568 of file SpicePosition.cpp.
References Isis::SpicePosition::p_cacheTime, Isis::SpicePosition::p_fullCacheEndTime, Isis::SpicePosition::p_fullCacheSize, and Isis::SpicePosition::p_fullCacheStartTime.
Referenced by Isis::SpicePosition::LoadCache(), and Isis::SpicePosition::ReloadCache().
|
inherited |
This method reduces the cache for position, time and velocity to the minimum number of values needed to interpolate the J2000 coordinates using a Hermite spline, given a tolerance of deviation from the NAIF values.
tolerance | Maximum error allowed between NAIF kernel coordinate values and values interpolated by the Hermite spline. |
Definition at line 1463 of file SpicePosition.cpp.
References Isis::SpicePosition::HermiteCache, Isis::SpicePosition::m_state, Isis::SpicePosition::Memcache, Isis::SpicePosition::p_cacheTime, Isis::SpicePosition::p_source, and Isis::IException::Programmer.
Referenced by Isis::SpicePosition::Cache().
|
inherited |
Cache J2000 positions over existing cached time range using polynomials.
This method will reload an internal cache with positions calculated from functions fit to the coordinates of the position over a time range.
Definition at line 729 of file SpicePosition.cpp.
References Isis::NaifStatus::CheckErrors(), Isis::SpicePosition::HermiteCache, Isis::SpicePosition::LoadTimeCache(), Isis::SpicePosition::m_state, Isis::SpicePosition::Memcache, Isis::SpicePosition::p_cacheTime, Isis::SpicePosition::p_coordinate, Isis::SpicePosition::p_et, Isis::SpicePosition::p_fullCacheSize, Isis::SpicePosition::p_source, Isis::SpicePosition::p_velocity, Isis::IException::Programmer, and Isis::SpicePosition::SetEphemerisTime().
Referenced by Isis::SpicePosition::LineCache().
|
inherited |
Cache J2000 position over existing cached time range using table.
This method will reload an internal cache with positions formed from coordinates in a table
table | An ISIS table blob containing valid J2000 coordinate/time values. |
Definition at line 1558 of file SpicePosition.cpp.
References Isis::SpicePosition::ClearCache(), Isis::SpicePosition::LoadCache(), Isis::SpicePosition::p_source, and Isis::SpicePosition::Spice.
|
virtual |
Set aberration correction value for determining positions.
correction | Type of stellar aberration correction to apply |
Reimplemented from Isis::SpicePosition.
Definition at line 99 of file SpacecraftPosition.cpp.
References m_abcorr, Isis::LightTimeCorrectionState::setAberrationCorrection(), and Isis::SpicePosition::SetAberrationCorrection().
|
inherited |
Return J2000 coordinate at given time.
This method returns the J2000 coordinates (x,y,z) of the body at a given et in seconds. The coordinates are obtained from either a valid NAIF spk kernel, or alternatively from an internal cache loaded from an ISIS Table object. In the first case, the SPK kernel must contain positions for the body code specified in the constructor at the given time and it must be loaded using the SpiceKernel class.
et | ephemeris time in seconds |
Definition at line 249 of file SpicePosition.cpp.
References Isis::NaifStatus::CheckErrors(), Isis::SpicePosition::HermiteCache, Isis::SpicePosition::Memcache, Isis::SpicePosition::p_coordinate, Isis::SpicePosition::p_et, Isis::SpicePosition::p_source, Isis::SpicePosition::PolyFunction, Isis::SpicePosition::PolyFunctionOverHermiteConstant, Isis::SpicePosition::SetEphemerisTimeHermiteCache(), Isis::SpicePosition::SetEphemerisTimeMemcache(), Isis::SpicePosition::SetEphemerisTimePolyFunction(), Isis::SpicePosition::SetEphemerisTimePolyFunctionOverHermiteConstant(), and Isis::SpicePosition::SetEphemerisTimeSpice().
Referenced by Isis::SpicePosition::GetCenterCoordinate(), Isis::SpicePosition::LoadCache(), Isis::SpicePosition::LoadHermiteCache(), Isis::SpicePosition::ReloadCache(), and Isis::SpicePosition::SetPolynomial().
|
protectedinherited |
This is a protected method that is called by SetEphemerisTime() when Source type is HermiteCache.
It calculates J2000 coordinates (x,y,z) of the body that correspond to a given et in seconds. These coordinates are obtained by using a Hermite spline to interpolate values from an internal reduced cache loaded from an ISIS Table object.
Definition at line 1324 of file SpicePosition.cpp.
References Isis::IException::Io, Isis::SpicePosition::m_state, Isis::SpicePosition::p_coordinate, Isis::SpicePosition::p_et, Isis::SpicePosition::p_hasVelocity, and Isis::SpicePosition::p_velocity.
Referenced by Isis::SpicePosition::HermiteCoordinate(), Isis::SpicePosition::SetEphemerisTime(), and Isis::SpicePosition::SetEphemerisTimePolyFunctionOverHermiteConstant().
|
protectedinherited |
This is a protected method that is called by SetEphemerisTime() when Source type is Memcache.
It calculates J2000 coordinates (x,y,z) of the body that correspond to a given et in seconds. These coordinates are obtained from an internal cache loaded from an ISIS Table object.
Definition at line 1294 of file SpicePosition.cpp.
References Isis::SpicePosition::m_state, Isis::SpicePosition::p_cacheTime, Isis::SpicePosition::p_coordinate, Isis::SpicePosition::p_et, Isis::SpicePosition::p_hasVelocity, and Isis::SpicePosition::p_velocity.
Referenced by Isis::SpicePosition::SetEphemerisTime().
|
protectedinherited |
This is a protected method that is called by SetEphemerisTime() when Source type is PolyFunction.
It calculates J2000 coordinates (x,y,z) of the body that correspond to a given et in seconds. These coordinates are obtained by using an nth degree polynomial function fit to each coordinate of the position vector.
Definition at line 1355 of file SpicePosition.cpp.
References Isis::SpicePosition::ComputeVelocityInTime(), Isis::BasisFunction::Evaluate(), Isis::SpicePosition::m_state, Isis::SpicePosition::p_baseTime, Isis::SpicePosition::p_coefficients, Isis::SpicePosition::p_coordinate, Isis::SpicePosition::p_degree, Isis::SpicePosition::p_et, Isis::SpicePosition::p_hasVelocity, Isis::SpicePosition::p_timeScale, Isis::SpicePosition::p_velocity, and Isis::BasisFunction::SetCoefficients().
Referenced by Isis::SpicePosition::SetEphemerisTime(), and Isis::SpicePosition::SetEphemerisTimePolyFunctionOverHermiteConstant().
|
protectedinherited |
This is a protected method that is called by SetEphemerisTime() when Source type is PolyFunctionOverHermiteConstant.
It calculates J2000 coordinates (x,y,z) of the body that correspond to a given et in seconds. These coordinates are obtained by adding a constant cubic Hermite spline added to an nth degree polynomial function fit to each coordinate of the position vector.
Definition at line 1403 of file SpicePosition.cpp.
References Isis::SpicePosition::p_coordinate, Isis::SpicePosition::p_velocity, Isis::SpicePosition::SetEphemerisTimeHermiteCache(), and Isis::SpicePosition::SetEphemerisTimePolyFunction().
Referenced by Isis::SpicePosition::SetEphemerisTime().
|
virtual |
Determine accurate position of target w.r.t.
observer
This method computes the position of the target w.r.t. the observer with additional specialized light time position of target and to a more accurate correction to the surface.
NAIF routines are used to compute state vectors that have optional light time correction applied. However, this uses the center of the body as the reference
Reimplemented from Isis::SpicePosition.
Definition at line 131 of file SpacecraftPosition.cpp.
References Isis::SpicePosition::computeStateVector(), GetAberrationCorrection(), Isis::SpicePosition::getAdjustedEphemerisTime(), Isis::SpicePosition::getObserverCode(), getRadiusLightTime(), Isis::SpicePosition::getTargetCode(), Isis::LightTimeCorrectionState::isLightTimeCorrected(), Isis::LightTimeCorrectionState::isLightTimeToSurfaceCorrected(), m_abcorr, Isis::SpicePosition::SetEphemerisTimeSpice(), Isis::SpicePosition::setLightTime(), and Isis::SpicePosition::setStateVector().
|
protectedinherited |
Inheritors can set the light time if indicated.
Definition at line 1824 of file SpicePosition.cpp.
References Isis::SpicePosition::m_lt.
Referenced by SetEphemerisTimeSpice(), and Isis::SpicePosition::SetEphemerisTimeSpice().
|
inherited |
Set an override base time to be used with observations on scanners to allow all images in an observation to use the same base time and polynomials for the positions.
[in] | baseTime | The baseTime to use and override the computed base time |
Definition at line 1147 of file SpicePosition.cpp.
References Isis::SpicePosition::p_override, Isis::SpicePosition::p_overrideBaseTime, and Isis::SpicePosition::p_overrideTimeScale.
Referenced by Isis::IsisBundleObservation::initializeExteriorOrientation(), and Isis::SpicePosition::LoadCache().
|
inherited |
Set the coefficients of a polynomial fit to each of the components (X, Y, Z) of the position vector for the time period covered by the cache, component = c0 + c1*t + c2*t**2 + ...
< Basis function fit to X
< Basis function fit to Y
< Basis function fit to Z
Definition at line 930 of file SpicePosition.cpp.
References Isis::LeastSquares::AddKnown(), Isis::BasisFunction::Coefficient(), Isis::BasisFunction::Coefficients(), Isis::SpicePosition::ComputeBaseTime(), Isis::LineEquation::Intercept(), Isis::SpicePosition::m_state, Isis::SpicePosition::p_baseTime, Isis::SpicePosition::p_cacheTime, Isis::SpicePosition::p_coordinate, Isis::SpicePosition::p_degree, Isis::SpicePosition::p_source, Isis::SpicePosition::p_timeScale, Isis::SpicePosition::PolyFunction, Isis::SpicePosition::PolyFunctionOverHermiteConstant, Isis::SpicePosition::SetEphemerisTime(), Isis::LineEquation::Slope(), and Isis::LeastSquares::Solve().
Referenced by Isis::IsisBundleObservation::applyParameterCorrections(), Isis::IsisBundleObservation::initializeExteriorOrientation(), Isis::SpicePosition::LoadCache(), and Isis::SpicePosition::SetPolynomialDegree().
|
inherited |
Set the coefficients of a polynomial (parabola) fit to each of the three coordinates of the position vector for the time period covered by the cache, coord = c0 + c1*t + c2*t**2 + ...
[in] | XC | Coefficients of fit to X coordinate |
[in] | YC | Coefficients of fit to Y coordinate |
[in] | ZC | Coefficients of fit to Z coordinate |
Definition at line 1054 of file SpicePosition.cpp.
References Isis::SpicePosition::ComputeBaseTime(), Isis::SpicePosition::p_coefficients, Isis::SpicePosition::p_degree, Isis::SpicePosition::p_degreeApplied, Isis::SpicePosition::p_et, Isis::SpicePosition::p_source, Isis::BasisFunction::SetCoefficients(), and Isis::SpicePosition::SetEphemerisTime().
|
inherited |
Set the polynomial degree.
Set the degree of the polynomials to be fit to the three position coordinates for the time period covered by the cache, coordinate = c0 + c1*t + c2*t**2 + ...
[in] | degree | Degree of the polynomial to be fit |
Definition at line 1502 of file SpicePosition.cpp.
References Isis::SpicePosition::p_coefficients, Isis::SpicePosition::p_degree, Isis::SpicePosition::p_degreeApplied, Isis::SpicePosition::p_fullCacheSize, and Isis::SpicePosition::SetPolynomial().
Referenced by Isis::IsisBundleObservation::initializeExteriorOrientation(), and Isis::SpicePosition::LoadCache().
|
protectedinherited |
Sets the state of target relative to observer.
This method sets the state of the target (vector) relative to the observer. Note that is the only place where the swap of observer/target adjustment to the state vector is handled. All contributors to this computation must compute the state vector representing the position and velocity of the target relative to the observer where the first three components of state[] are the x-, y- and z-component cartesian coordinates of the target's position; the last three are the corresponding velocity vector.
This routine maintains the directional integrity of the state vector should the observer/target be swapped. See the documentation for the spkez_c at http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/spkez_c.html.
state | State vector. First three components of this 6 element array is the body fixed coordinates of the vector from the target to the observer. The last three components are the velocity state. |
hasVelocity | If true, then the velocity components of the state vector are valid, otherwise they should be ignored. |
Definition at line 1794 of file SpicePosition.cpp.
References Isis::SpicePosition::p_coordinate, Isis::SpicePosition::p_hasVelocity, and Isis::SpicePosition::p_velocity.
Referenced by SetEphemerisTimeSpice(), and Isis::SpicePosition::SetEphemerisTimeSpice().
|
inherited |
Apply a time bias when invoking SetEphemerisTime method.
The bias is used only when reading from NAIF kernels. It is added to the ephermeris time passed into SetEphemerisTime and then the body position is read from the NAIF kernels and returned. When the cache is loaded from a table the bias is ignored as it is assumed to have already been applied. If this method is never called the default bias is 0.0 seconds.
timeBias | time bias in seconds |
Definition at line 150 of file SpicePosition.cpp.
References Isis::SpicePosition::p_timeBias.
|
inherited |
Return the current J2000 velocity.
Return the velocity vector if available.
Definition at line 1269 of file SpicePosition.cpp.
References Isis::SpicePosition::p_hasVelocity, Isis::SpicePosition::p_velocity, and Isis::IException::Programmer.
Referenced by Isis::RadarGroundMap::GetXY(), Isis::MiniRF::MiniRF(), Isis::RadarGroundMap::SetFocalPlane(), and Isis::RadarGroundMap::SetGround().
|
inherited |
Compute the derivative of the velocity with respect to the specified variable.
The velocity is the derivative of the coordinate with respect to time.
coordinate = C0 + C1*t + C2*t**2 + ... +Cn*t**n , where t = (time - p_basetime) / p_timeScale. velocity = (1/p_timeScale) * (C1 + 2*C2*t + ... + n*Cn*t**(n-1)) partial(velocity) with respect to C0 = 0. partial(velocity) with respect to C1 = 1/p_timeScale. partial(velocity) with respect to C2 = 2*t/p_timeScale partial(velocity) with respect to CN = n*t**(n-1)/p_timeScale
partialVar | Designated variable of the partial derivative |
Definition at line 1208 of file SpicePosition.cpp.
References Isis::SpicePosition::p_baseTime, Isis::SpicePosition::p_et, and Isis::SpicePosition::p_timeScale.
Referenced by Isis::RadarGroundMap::GetdXYdPosition().
|
private |
Light time correction state.
Definition at line 82 of file SpacecraftPosition.h.
Referenced by GetAberrationCorrection(), getLightTimeState(), SetAberrationCorrection(), SetEphemerisTimeSpice(), and SpacecraftPosition().
|
privateinherited |
!< Swap traditional order
Definition at line 351 of file SpicePosition.h.
Referenced by Isis::SpicePosition::GetLightTime(), Isis::SpicePosition::init(), and Isis::SpicePosition::setLightTime().
|
private |
Radius of target.
Definition at line 83 of file SpacecraftPosition.h.
Referenced by getRadiusLightTime(), and SpacecraftPosition().
|
privateinherited |
!< Light time correction
Definition at line 353 of file SpicePosition.h.
Referenced by Isis::SpicePosition::Cache(), Isis::SpicePosition::cacheSize(), Isis::SpicePosition::ClearCache(), Isis::SpicePosition::init(), Isis::SpicePosition::IsCached(), Isis::SpicePosition::LoadCache(), Isis::SpicePosition::LoadHermiteCache(), Isis::SpicePosition::Memcache2HermiteCache(), Isis::SpicePosition::ReloadCache(), Isis::SpicePosition::SetEphemerisTimeHermiteCache(), Isis::SpicePosition::SetEphemerisTimeMemcache(), Isis::SpicePosition::SetEphemerisTimePolyFunction(), and Isis::SpicePosition::SetPolynomial().
|
privateinherited |
Light time correction to apply.
Definition at line 325 of file SpicePosition.h.
Referenced by Isis::SpicePosition::GetAberrationCorrection(), Isis::SpicePosition::init(), and Isis::SpicePosition::SetAberrationCorrection().
|
privateinherited |
Base time used in fit equations.
Definition at line 335 of file SpicePosition.h.
Referenced by Isis::SpicePosition::Cache(), Isis::SpicePosition::ComputeBaseTime(), Isis::SpicePosition::ComputeVelocityInTime(), Isis::SpicePosition::DPolynomial(), Isis::SpicePosition::GetBaseTime(), Isis::SpicePosition::init(), Isis::SpicePosition::LoadHermiteCache(), Isis::SpicePosition::SetEphemerisTimePolyFunction(), Isis::SpicePosition::SetPolynomial(), and Isis::SpicePosition::VelocityPartial().
|
privateinherited |
iTime for corresponding position
Definition at line 332 of file SpicePosition.h.
Referenced by Isis::SpicePosition::Cache(), Isis::SpicePosition::ClearCache(), Isis::SpicePosition::ComputeBaseTime(), Isis::SpicePosition::LoadCache(), Isis::SpicePosition::LoadHermiteCache(), Isis::SpicePosition::LoadTimeCache(), Isis::SpicePosition::Memcache2HermiteCache(), Isis::SpicePosition::ReloadCache(), Isis::SpicePosition::SetEphemerisTimeMemcache(), and Isis::SpicePosition::SetPolynomial().
|
privateinherited |
Coefficients of polynomials fit to 3 coordinates.
Definition at line 333 of file SpicePosition.h.
Referenced by Isis::SpicePosition::Cache(), Isis::SpicePosition::ComputeVelocityInTime(), Isis::SpicePosition::GetPolynomial(), Isis::SpicePosition::init(), Isis::SpicePosition::LoadHermiteCache(), Isis::SpicePosition::SetEphemerisTimePolyFunction(), Isis::SpicePosition::SetPolynomial(), and Isis::SpicePosition::SetPolynomialDegree().
|
privateinherited |
J2000 position at time et.
Definition at line 328 of file SpicePosition.h.
Referenced by Isis::SpicePosition::Coordinate(), Isis::SpicePosition::Extrapolate(), Isis::SpicePosition::HermiteCoordinate(), Isis::SpicePosition::init(), Isis::SpicePosition::LoadCache(), Isis::SpicePosition::LoadHermiteCache(), Isis::SpicePosition::ReloadCache(), Isis::SpicePosition::SetEphemerisTime(), Isis::SpicePosition::SetEphemerisTimeHermiteCache(), Isis::SpicePosition::SetEphemerisTimeMemcache(), Isis::SpicePosition::SetEphemerisTimePolyFunction(), Isis::SpicePosition::SetEphemerisTimePolyFunctionOverHermiteConstant(), Isis::SpicePosition::SetPolynomial(), and Isis::SpicePosition::setStateVector().
|
privateinherited |
Degree of polynomial function fit to the coordinates of the position.
Definition at line 340 of file SpicePosition.h.
Referenced by Isis::SpicePosition::Cache(), Isis::SpicePosition::ComputeVelocityInTime(), Isis::SpicePosition::DPolynomial(), Isis::SpicePosition::init(), Isis::SpicePosition::LoadHermiteCache(), Isis::SpicePosition::SetEphemerisTimePolyFunction(), Isis::SpicePosition::SetPolynomial(), and Isis::SpicePosition::SetPolynomialDegree().
|
privateinherited |
Flag indicating whether or not a polynomial.
Definition at line 337 of file SpicePosition.h.
Referenced by Isis::SpicePosition::init(), Isis::SpicePosition::SetPolynomial(), and Isis::SpicePosition::SetPolynomialDegree().
|
privateinherited |
Current ephemeris time.
Definition at line 327 of file SpicePosition.h.
Referenced by Isis::SpicePosition::ComputeVelocityInTime(), Isis::SpicePosition::DPolynomial(), Isis::SpicePosition::EphemerisTime(), Isis::SpicePosition::Extrapolate(), Isis::SpicePosition::init(), Isis::SpicePosition::LoadHermiteCache(), Isis::SpicePosition::ReloadCache(), Isis::SpicePosition::SetEphemerisTime(), Isis::SpicePosition::SetEphemerisTimeHermiteCache(), Isis::SpicePosition::SetEphemerisTimeMemcache(), Isis::SpicePosition::SetEphemerisTimePolyFunction(), Isis::SpicePosition::SetPolynomial(), and Isis::SpicePosition::VelocityPartial().
|
privateinherited |
Original end time of the complete cache after spiceinit.
Definition at line 342 of file SpicePosition.h.
Referenced by Isis::SpicePosition::CacheLabel(), Isis::SpicePosition::GetCenterCoordinate(), Isis::SpicePosition::init(), Isis::SpicePosition::LoadCache(), Isis::SpicePosition::LoadHermiteCache(), and Isis::SpicePosition::LoadTimeCache().
|
privateinherited |
Orignial size of the complete cache after spiceinit.
Definition at line 343 of file SpicePosition.h.
Referenced by Isis::SpicePosition::Cache(), Isis::SpicePosition::CacheLabel(), Isis::SpicePosition::init(), Isis::SpicePosition::LoadCache(), Isis::SpicePosition::LoadHermiteCache(), Isis::SpicePosition::LoadTimeCache(), Isis::SpicePosition::ReloadCache(), and Isis::SpicePosition::SetPolynomialDegree().
|
privateinherited |
Original start time of the complete cache after spiceinit.
Definition at line 341 of file SpicePosition.h.
Referenced by Isis::SpicePosition::CacheLabel(), Isis::SpicePosition::GetCenterCoordinate(), Isis::SpicePosition::init(), Isis::SpicePosition::LoadCache(), Isis::SpicePosition::LoadHermiteCache(), and Isis::SpicePosition::LoadTimeCache().
|
privateinherited |
Flag to indicate velocity is available.
Definition at line 344 of file SpicePosition.h.
Referenced by Isis::SpicePosition::Cache(), Isis::SpicePosition::Extrapolate(), Isis::SpicePosition::HasVelocity(), Isis::SpicePosition::init(), Isis::SpicePosition::LoadCache(), Isis::SpicePosition::LoadHermiteCache(), Isis::SpicePosition::SetEphemerisTimeHermiteCache(), Isis::SpicePosition::SetEphemerisTimeMemcache(), Isis::SpicePosition::SetEphemerisTimePolyFunction(), Isis::SpicePosition::setStateVector(), and Isis::SpicePosition::Velocity().
|
privateinherited |
observer body code
Definition at line 322 of file SpicePosition.h.
Referenced by Isis::SpicePosition::getObserverCode(), and Isis::SpicePosition::init().
|
privateinherited |
Time base and scale override options;.
Definition at line 345 of file SpicePosition.h.
Referenced by Isis::SpicePosition::ComputeBaseTime(), Isis::SpicePosition::init(), Isis::SpicePosition::LoadCache(), and Isis::SpicePosition::SetOverrideBaseTime().
|
privateinherited |
Value set by caller to override computed base time.
Definition at line 346 of file SpicePosition.h.
Referenced by Isis::SpicePosition::ComputeBaseTime(), and Isis::SpicePosition::SetOverrideBaseTime().
|
privateinherited |
Value set by caller to override computed time scale.
Definition at line 347 of file SpicePosition.h.
Referenced by Isis::SpicePosition::ComputeBaseTime(), Isis::SpicePosition::LoadCache(), and Isis::SpicePosition::SetOverrideBaseTime().
|
privateinherited |
Enumerated value for the location of the SPK information used.
Definition at line 331 of file SpicePosition.h.
Referenced by Isis::SpicePosition::Cache(), Isis::SpicePosition::CacheLabel(), Isis::SpicePosition::GetSource(), Isis::SpicePosition::HermiteCoordinate(), Isis::SpicePosition::init(), Isis::SpicePosition::LineCache(), Isis::SpicePosition::LoadCache(), Isis::SpicePosition::LoadHermiteCache(), Isis::SpicePosition::Memcache2HermiteCache(), Isis::SpicePosition::ReloadCache(), Isis::SpicePosition::SetEphemerisTime(), and Isis::SpicePosition::SetPolynomial().
|
privateinherited |
target body code
Definition at line 321 of file SpicePosition.h.
Referenced by Isis::SpicePosition::getTargetCode(), and Isis::SpicePosition::init().
|
privateinherited |
iTime bias when reading kernels
Definition at line 324 of file SpicePosition.h.
Referenced by Isis::SpicePosition::GetTimeBias(), Isis::SpicePosition::init(), and Isis::SpicePosition::SetTimeBias().
|
privateinherited |
Time scale used in fit equations.
Definition at line 336 of file SpicePosition.h.
Referenced by Isis::SpicePosition::Cache(), Isis::SpicePosition::ComputeBaseTime(), Isis::SpicePosition::ComputeVelocityInTime(), Isis::SpicePosition::DPolynomial(), Isis::SpicePosition::GetTimeScale(), Isis::SpicePosition::init(), Isis::SpicePosition::SetEphemerisTimePolyFunction(), Isis::SpicePosition::SetPolynomial(), and Isis::SpicePosition::VelocityPartial().
|
privateinherited |
J2000 velocity at time et.
Definition at line 329 of file SpicePosition.h.
Referenced by Isis::SpicePosition::Extrapolate(), Isis::SpicePosition::init(), Isis::SpicePosition::LoadCache(), Isis::SpicePosition::LoadHermiteCache(), Isis::SpicePosition::ReloadCache(), Isis::SpicePosition::SetEphemerisTimeHermiteCache(), Isis::SpicePosition::SetEphemerisTimeMemcache(), Isis::SpicePosition::SetEphemerisTimePolyFunction(), Isis::SpicePosition::SetEphemerisTimePolyFunctionOverHermiteConstant(), Isis::SpicePosition::setStateVector(), and Isis::SpicePosition::Velocity().