Storage for rotation parameters. More...
#include <RotateParameters.h>
Public Types | |
enum | Axis { Vertical = 0x01, North = 0x02, East = 0x04 } |
Public Member Functions | |
double | angleAroundEast () const |
double | angleAroundNorth () const |
double | angleAroundVertical () const |
Axes | axes () const |
Matrix3x3 | matrix () const |
RotateParameters () | |
RotateParameters (const RotateParameters &o) | |
void | setAngleAroundEast (double a) |
void | setAngleAroundNorth (double a) |
void | setAngleAroundVertical (double a) |
void | setAxes (Axes a) |
Storage for rotation parameters.
Up to 3 rotations can be chained in this order:
Angles are all in degree counted in a counterclockwise direction about the axis (right hand rule).
Default constructor: no rotation.
References TRACE.
: AbstractParameters() { TRACE; _axes=0; _angleAroundVertical=0.0; _angleAroundNorth=0.0; _angleAroundEast=0.0; }
double GeopsyCore::RotateParameters::angleAroundEast | ( | ) | const [inline] |
Referenced by GeopsyCore::SignalProcess::rotateComponents().
{return _angleAroundEast;}
double GeopsyCore::RotateParameters::angleAroundNorth | ( | ) | const [inline] |
Referenced by GeopsyCore::SignalProcess::rotateComponents().
{return _angleAroundNorth;}
double GeopsyCore::RotateParameters::angleAroundVertical | ( | ) | const [inline] |
Referenced by GeopsyCore::SignalProcess::rotateComponents().
{return _angleAroundVertical;}
Axes GeopsyCore::RotateParameters::axes | ( | ) | const [inline] |
Referenced by GeopsyCore::SignalProcess::rotateComponents().
{return _axes;}
Returns the rotation matrix.
References East, QGpCoreTools::Matrix< T >::identity(), North, QGpCoreTools::Matrix3x3::rotation(), QGpCoreTools::Angle::setDegrees(), TRACE, Vertical, QGpCoreTools::XAxis, QGpCoreTools::YAxis, and QGpCoreTools::ZAxis.
Referenced by GeopsyCore::SignalProcess::rotateComponentsCore().
{ TRACE; Matrix3x3 rot; rot.identity(); Matrix3x3 elrot; Angle a; if(_axes & Vertical) { a.setDegrees(_angleAroundVertical); elrot.rotation(ZAxis, a); rot*=elrot; } if(_axes & North) { a.setDegrees(_angleAroundNorth); elrot.rotation(YAxis, a); rot*=elrot; } if(_axes & East) { a.setDegrees(_angleAroundEast); elrot.rotation(XAxis, a); rot*=elrot; } return rot; }
void GeopsyCore::RotateParameters::setAngleAroundEast | ( | double | a | ) | [inline] |
Referenced by RotateComponents::parameters().
{_angleAroundEast=a;}
void GeopsyCore::RotateParameters::setAngleAroundNorth | ( | double | a | ) | [inline] |
Referenced by RotateComponents::parameters().
{_angleAroundNorth=a;}
void GeopsyCore::RotateParameters::setAngleAroundVertical | ( | double | a | ) | [inline] |
Referenced by RotateComponents::parameters().
{_angleAroundVertical=a;}
void GeopsyCore::RotateParameters::setAxes | ( | Axes | a | ) | [inline] |
Referenced by RotateComponents::parameters().
{_axes=a;}