isce3  0.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions | Static Public Member Functions | List of all members
isce3::core::EulerAngles Class Reference

Data structure for Euler Angle representation of attitude information. More...

#include <EulerAngles.h>

Inheritance diagram for isce3::core::EulerAngles:
isce3::core::Attitude

Public Member Functions

 EulerAngles (const std::string yaw_orientation="normal")
 Default constructor. More...
 
 EulerAngles (const std::vector< double > &time, const std::vector< double > &yaw, const std::vector< double > &pitch, const std::vector< double > &roll, const std::string yaw_orientation="normal")
 Constructor with vectors of time and attitude angles. More...
 
 EulerAngles (const EulerAngles &)
 Copy constructor. More...
 
bool operator== (const EulerAngles &) const
 Comparison operator.
 
EulerAnglesoperator= (const EulerAngles &)
 Assignment operator. More...
 
void data (const std::vector< double > &time, const std::vector< double > &yaw, const std::vector< double > &pitch, const std::vector< double > &roll)
 Set data after construction. More...
 
const std::vector< double > & time () const
 Return data vector of time.
 
const std::vector< double > & yaw () const
 Return data vector of yaw.
 
const std::vector< double > & pitch () const
 Return data vector of pitch.
 
const std::vector< double > & roll () const
 Return data vector of roll.
 
void ypr (double tintp, double &yaw, double &pitch, double &roll)
 Interpolate yaw, pitch and roll at a given time. More...
 
cartmat_t rotmat (double tintp, const std::string, double dyaw=0.0, double dpitch=0.0, double d2=0.0, double d3=0.0)
 Return rotation matrix at a given time with optional angle perturbations. More...
 
std::vector< double > toQuaternionElements (double tintp)
 Return equivalent quaternion elements at a given time. More...
 
Quaternion toQuaternion ()
 Return equivalent quaternion data structure. More...
 
cartmat_t T3 (double)
 Return T3 rotation matrix around Z-axis.
 
cartmat_t T2 (double)
 Return T2 rotation matrix around Y-axis.
 
cartmat_t T1 (double)
 Return T1 rotation matrix around X-axis.
 
const isce3::core::DateTimerefEpoch () const
 Get reference epoch.
 
void refEpoch (const isce3::core::DateTime &epoch)
 Set reference epoch.
 
size_t nVectors () const
 Return number of epochs.
 
- Public Member Functions inherited from isce3::core::Attitude
 Attitude (Attitude::Type atype)
 Constructor using time attitude representation type.
 
virtual ~Attitude ()
 Virtual destructor.
 
Attitude::Type attitudeType () const
 Return type of attitude representation - quaternion or euler angle.
 
std::string yawOrientation () const
 Return yaw orientation - central or normal.
 
void yawOrientation (const std::string)
 Set yaw orientation - central or normal.
 

Static Public Member Functions

static cartesian_t rotmat2ypr (const cartmat_t &)
 Utility method to convert rotation matrix to Euler angles.
 

Additional Inherited Members

- Public Types inherited from isce3::core::Attitude
enum  Type { EulerAngles_t, Quaternion_t }
 

Detailed Description

Data structure for Euler Angle representation of attitude information.

All angles are stored and returned in radians

Constructor & Destructor Documentation

isce3::core::EulerAngles::EulerAngles ( const std::string  yaw_orientation = "normal")

Default constructor.

Parameters
[in]yaw_orientationCan be "normal" or "center"
isce3::core::EulerAngles::EulerAngles ( const std::vector< double > &  time,
const std::vector< double > &  yaw,
const std::vector< double > &  pitch,
const std::vector< double > &  roll,
const std::string  yaw_orientation = "normal" 
)

Constructor with vectors of time and attitude angles.

Parameters
[in]timeVector of observation times in seconds since reference epoch
[in]yawVector of yaw angles
[in]pitchVector of pitch angles
[in]rollVector of roll angles
isce3::core::EulerAngles::EulerAngles ( const EulerAngles euler)

Copy constructor.

Parameters
[in]eulerEulerAngles object

Member Function Documentation

void isce3::core::EulerAngles::data ( const std::vector< double > &  time,
const std::vector< double > &  yaw,
const std::vector< double > &  pitch,
const std::vector< double > &  roll 
)

Set data after construction.

Parameters
[in]timeVector of observation times in seconds since reference epoch
[in]yawVector of yaw angles
[in]pitchVector of pitch angles
[in]rollVector of roll angles
isce3::core::EulerAngles & isce3::core::EulerAngles::operator= ( const EulerAngles euler)

Assignment operator.

Parameters
[in]eulerEulerAngles object
isce3::core::cartmat_t isce3::core::EulerAngles::rotmat ( double  tintp,
const std::string  sequence,
double  dyaw = 0.0,
double  dpitch = 0.0,
double  d2 = 0.0,
double  d3 = 0.0 
)
virtual

Return rotation matrix at a given time with optional angle perturbations.

Parameters
[in]tintpSeconds since reference epoch
[in]sequenceString of rotation sequence
[in]dyawYaw perturbation
[in]dpitchPitch perturbation
[in]d2(Not used)
[in]d3(Not used)
[out]RRotation matrix for given sequence

Implements isce3::core::Attitude.

isce3::core::Quaternion isce3::core::EulerAngles::toQuaternion ( )

Return equivalent quaternion data structure.

Parameters
[out]quatQuaternion instance
std::vector< double > isce3::core::EulerAngles::toQuaternionElements ( double  tintp)

Return equivalent quaternion elements at a given time.

Parameters
[in]tintpSeconds since reference epoch
[out]qVector of quaternion elements
void isce3::core::EulerAngles::ypr ( double  tintp,
double &  oyaw,
double &  opitch,
double &  oroll 
)
virtual

Interpolate yaw, pitch and roll at a given time.

Parameters
[in]tintpSeconds since reference epoch
[out]oyawInterpolated yaw angle
[out]opitchInterpolated pitch angle
[out]orollInterpolated roll angle

Implements isce3::core::Attitude.


The documentation for this class was generated from the following files:

Generated for ISCE3.0 by doxygen 1.8.5.