isce3 0.25.0
|
Store and interpolate attitude measurements. More...
#include <Attitude.h>
Public Member Functions | |
Attitude (const std::vector< double > &time, const std::vector< Quaternion > &quaternions, const DateTime &epoch) | |
Constructor. | |
Quaternion | interpolate (double t) const |
Return quaternion interpolated at requested time. | |
const std::vector< double > & | time () const |
Return data vector of time. | |
const std::vector< Quaternion > & | quaternions () const |
Return data vector of quaternions. | |
int | size () const |
Return number of epochs. | |
const DateTime & | referenceEpoch () const |
Get reference epoch (UTC) for time tags. | |
void | referenceEpoch (const DateTime &epoch) |
Set reference epoch (UTC) | |
double | startTime () const |
Time of first measurement relative to reference epoch (s) | |
double | endTime () const |
Time of last measurement relative to reference epoch (s) | |
bool | contains (double time) const |
Check if time falls in the valid interpolation domain. | |
DateTime | startDateTime () const |
UTC time of first measurement. | |
DateTime | endDateTime () const |
UTC time of last measurement. | |
Attitude | crop (const DateTime &start, const DateTime &end, int npad=0) const |
Create a new Attitude containing data in the requested interval. | |
Store and interpolate attitude measurements.
isce3::core::Attitude::Attitude | ( | const std::vector< double > & | time, |
const std::vector< Quaternion > & | quaternions, | ||
const DateTime & | epoch ) |
Constructor.
[in] | time | Time tags, seconds since some epoch. Must be strictly increasing. |
[in] | quaternions | Unit quaternions representing antenna to XYZ (ECEF) rotation. |
[in] | epoch | Reference epoch (UTC) for time tags. |
Attitude isce3::core::Attitude::crop | ( | const DateTime & | start, |
const DateTime & | end, | ||
int | npad = 0 ) const |
Create a new Attitude containing data in the requested interval.
[in] | start | Beginning of time interval |
[in] | end | End of time interval |
[in] | npad | Minimal number of quaternions to include past each of the given time bounds (useful to guarantee adequate support for interpolation). |
void isce3::core::Attitude::referenceEpoch | ( | const DateTime & | epoch | ) |
Set reference epoch (UTC)
Updates contents of time() so that referenceEpoch() + TimeDelta(time()[i]) remains the invariant.