casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Member Functions | Private Attributes | Friends
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.

Intended use:

Internal

Review Status

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

Prerequisite

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.

Example

See Euler

Motivation

To use in nutation and other coordinate calculations

Definition at line 85 of file RotMatrix.h.


Constructor & Destructor Documentation

Default constructor generates a unit 3x3 matrix.

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.

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

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.

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: