All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Public Types | Public Member Functions
GeopsyCore::RotateParameters Class Reference

Storage for rotation parameters. More...

#include <RotateParameters.h>

Inheritance diagram for GeopsyCore::RotateParameters:
QGpCoreTools::AbstractParameters

List of all members.

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)

Detailed Description

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).


Member Enumeration Documentation

Enumerator:
Vertical 
North 
East 
{Vertical=0x01, North=0x02, East=0x04};

Constructor & Destructor Documentation

Default constructor: no rotation.

References TRACE.

    : AbstractParameters()
{
  TRACE;
  _axes=0;
  _angleAroundVertical=0.0;
  _angleAroundNorth=0.0;
  _angleAroundEast=0.0;
}

Copy constructor

References TRACE.

{
  TRACE;
  _axes=o._axes;
  _angleAroundVertical=_angleAroundVertical;
  _angleAroundNorth=_angleAroundNorth;
  _angleAroundEast=_angleAroundEast;
}

Member Function Documentation

Referenced by GeopsyCore::SignalProcess::rotateComponents().

{return _angleAroundEast;}

Referenced by GeopsyCore::SignalProcess::rotateComponents().

{return _angleAroundNorth;}

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;
}

Referenced by RotateComponents::parameters().

{_angleAroundEast=a;}

Referenced by RotateComponents::parameters().

{_angleAroundNorth=a;}

Referenced by RotateComponents::parameters().

{_angleAroundVertical=a;}
void GeopsyCore::RotateParameters::setAxes ( Axes  a) [inline]

Referenced by RotateComponents::parameters().

{_axes=a;}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines