isce3 0.25.0
Loading...
Searching...
No Matches
isce3::core::EulerAngles Class Reference

Representation of 3-2-1 Euler angle sequence of rotations. More...

#include <EulerAngles.h>

Public Member Functions

 EulerAngles (double y, double p, double r)
 Construct from yaw, pitch, and roll angles.
 
 EulerAngles (const Mat3 &rotmat)
 Construct from rotation matrix.
 
 EulerAngles (const Quaternion &quat)
 Construct from isce3 quaternion object.
 
Mat3 toRotationMatrix () const
 Convert to rotation matrix.
 
double yaw () const
 Get yaw in radians.
 
double pitch () const
 Get pitch in radians.
 
double roll () const
 Get roll in radians.
 
Quaternion toQuaternion () const
 Convert to isce3 Quaternion object.
 
bool isApprox (const EulerAngles &other, double prec=1e-7) const
 Check if *this is approximately equals to other within a desired precision.
 
Vec3 rotate (const Eigen::Vector3d &vec) const
 Rotate a 3-D vector by Euler object in YPR order.
 
EulerAnglesoperator+= (const EulerAngles &rhs)
 Overloaded in-place operator += on this.
 
EulerAnglesoperator-= (const EulerAngles &rhs)
 Overloaded in-place operator -= on this.
 
EulerAnglesoperator*= (const EulerAngles &rhs)
 Overloaded in-place operator *= on this.
 

Detailed Description

Representation of 3-2-1 Euler angle sequence of rotations.

Constructor & Destructor Documentation

◆ EulerAngles() [1/3]

isce3::core::EulerAngles::EulerAngles ( double y,
double p,
double r )
inline

Construct from yaw, pitch, and roll angles.

Parameters
[in]yYaw angle (axis 3) in radians.
[in]pPitch angle (axis 2) in radians.
[in]rRoll angle (axis 1) in radians.

◆ EulerAngles() [2/3]

isce3::core::EulerAngles::EulerAngles ( const Mat3 & rotmat)
explicit

Construct from rotation matrix.

Parameters
[in]rotmat: Eigen or Mat3 3-D rotation matrix. Must be a unitary within at least 1e-6 precision.
Exceptions
InvalidArgumentfor bad rotmat.

◆ EulerAngles() [3/3]

isce3::core::EulerAngles::EulerAngles ( const Quaternion & quat)
explicit

Construct from isce3 quaternion object.

Parameters
[in]quat: isce3 Quaternion object

Member Function Documentation

◆ isApprox()

bool isce3::core::EulerAngles::isApprox ( const EulerAngles & other,
double prec = 1e-7 ) const

Check if *this is approximately equals to other within a desired precision.

Parameters
[in]other: another EulerAngles object
[in]prec(optional) : double scalar precision , must be a positive value.
Returns
bool
Exceptions
InvalidArgumentfor bad prec.

◆ operator*=()

EulerAngles & isce3::core::EulerAngles::operator*= ( const EulerAngles & rhs)
inline

Overloaded in-place operator *= on this.

Parameters
[in]rhs: EulerAngles object whose rotation matrix is multiplied to the rotation matrix of this.
Returns
*this which is concatenation of two rotations.

◆ operator+=()

EulerAngles & isce3::core::EulerAngles::operator+= ( const EulerAngles & rhs)
inline

Overloaded in-place operator += on this.

Parameters
[in]rhs: EulerAngles object added to this
Returns
*this

◆ operator-=()

EulerAngles & isce3::core::EulerAngles::operator-= ( const EulerAngles & rhs)
inline

Overloaded in-place operator -= on this.

Parameters
[in]rhs: EulerAngles object subtratced from this
Returns
*this

◆ rotate()

Vec3 isce3::core::EulerAngles::rotate ( const Eigen::Vector3d & vec) const

Rotate a 3-D vector by Euler object in YPR order.

Parameters
[in]vec: Eigen Vector3d or isce3 Vec3
Returns
rotated 3-D vector

◆ toQuaternion()

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

Convert to isce3 Quaternion object.

Returns
isce3 Quaternion object

◆ toRotationMatrix()

Mat3 isce3::core::EulerAngles::toRotationMatrix ( ) const
inline

Convert to rotation matrix.

Returns
Eigen Matrix3d or isce3 Mat3

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

Generated for ISCE3.0 by doxygen 1.13.2.