casa  \$Rev:20696\$
casa::RotMatrix Class Reference

A 3x3 rotation matrix. More...

`#include <RotMatrix.h>`

List of all members.

## Public Member Functions

RotMatrix ()
Default constructor generates a unit 3x3 matrix.
RotMatrix (const RotMatrix &other)
The copy constructor copies.
RotMatrix (const Euler &other)
Make from an Euler.
RotMatrix (const Euler &other, Int ax0, Int ax1, Int ax2)
Make from an Euler around specified axes.
RotMatrixoperator= (const RotMatrix &other)
Copy assignment.
~RotMatrix ()
Destructor.
RotMatrixoperator*= (const RotMatrix &other)
The multiplication operations generate matrix products.
RotMatrix operator* (const RotMatrix &other) const
Doubleoperator() (uInt row, uInt column)
Return the indicated element.
const Doubleoperator() (uInt row, uInt column) const
Matrix< Doubleget () const
Get as Matrix.
void transpose ()
Transpose the rotation matrix.
void set (const Matrix< Double > &in)
Fill Rotation matrix from Matrix.
void set (const Vector< Double > &in0, const Vector< Double > &in1, const Vector< Double > &in2)
Fill Rotation matrix from 3 (row) vectors.

## Private Member Functions

void applySingle (Double angle, Int which)
Apply to a rotation matrix a further rotation of angle around the specified axis which (0 or 1 or 2).

## Private Attributes

Double rotat [3][3]
The rotation matrix (3x3)

## Friends

ostream & operator<< (ostream &os, const RotMatrix &rot)
Output a rotation matrix as a matrix.

## Detailed Description

A 3x3 rotation matrix.

Internal

Reviewed By:
tcornwel
Date Reviewed:
1996/02/15
Test programs:
tMeasMath

### Etymology

From Rotation and Matrix

### Synopsis

A rotation matrix is a 3x3 matrix, which can be used to rotate a coordinate system, notably the direction cosines in MVDirection .
A RotMatrix can be constructed by the default constructor (which will set the diagonal to 1), a copy constructor, and from a set of Euler angles with `RotMatrix(Euler)`.
Multiplication can be done (by *= and *) of two rotation matrices.
The (uInt, uInt) operator returns the indicated element.

See Euler

### Motivation

To use in nutation and other coordinate calculations

Definition at line 85 of file RotMatrix.h.

## Constructor & Destructor Documentation

 casa::RotMatrix::RotMatrix ( )

Default constructor generates a unit 3x3 matrix.

 casa::RotMatrix::RotMatrix ( const RotMatrix & other )

The copy constructor copies.

 casa::RotMatrix::RotMatrix ( const Euler & other )

Make from an Euler.

 casa::RotMatrix::RotMatrix ( const Euler & other, Int ax0, Int ax1, Int ax2 )

Make from an Euler around specified axes.

 casa::RotMatrix::~RotMatrix ( )

Destructor.

## Member Function Documentation

 void casa::RotMatrix::applySingle ( Double angle, Int which ) ` [private]`

Apply to a rotation matrix a further rotation of angle around the specified axis which (0 or 1 or 2).

 Matrix casa::RotMatrix::get ( ) const

Get as Matrix.

 Double& casa::RotMatrix::operator() ( uInt row, uInt column )

Return the indicated element.

 const Double& casa::RotMatrix::operator() ( uInt row, uInt column ) const
 RotMatrix casa::RotMatrix::operator* ( const RotMatrix & other ) const
 RotMatrix& casa::RotMatrix::operator*= ( const RotMatrix & other )

The multiplication operations generate matrix products.

 RotMatrix& casa::RotMatrix::operator= ( const RotMatrix & other )

Copy assignment.

 void casa::RotMatrix::set ( const Matrix< Double > & in )

Fill Rotation matrix from Matrix.

 void casa::RotMatrix::set ( const Vector< Double > & in0, const Vector< Double > & in1, const Vector< Double > & in2 )

Fill Rotation matrix from 3 (row) vectors.

 void casa::RotMatrix::transpose ( )

Transpose the rotation matrix.

## Friends And Related Function Documentation

 ostream& operator<< ( ostream & os, const RotMatrix & rot ) ` [friend]`

Output a rotation matrix as a matrix.

## Member Data Documentation

 Double casa::RotMatrix::rotat[3][3]` [private]`

The rotation matrix (3x3)

Definition at line 136 of file RotMatrix.h.

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