OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
Rotation3D Class Reference

Rotation in 3-dimensional space. More...

#include <Rotation3D.h>

Collaboration diagram for Rotation3D:
Collaboration graph

Public Member Functions

 Rotation3D ()
 Default constructor.
 
 Rotation3D (double vx, double vy, double vz)
 Constructor.
 
bool operator== (const Rotation3D &) const
 
bool operator!= (const Rotation3D &) const
 
Rotation3Doperator*= (const Rotation3D &rhs)
 Multiply and assign.
 
Rotation3D operator* (const Rotation3D &rhs) const
 Multiply.
 
Vector3D operator* (const Vector3D &rhs) const
 Rotate.
 
double operator() (int i, int k) const
 Get component.
 
Vector3D getAxis () const
 Get axis vector.
 
void getAxis (double &vx, double &vy, double &vz) const
 Get axis vector.
 
Rotation3D inverse () const
 Inversion.
 
bool isIdentity () const
 Test for identity.
 
bool isPureXRotation () const
 Test for rotation.
 
bool isPureYRotation () const
 Test for rotation.
 
bool isPureZRotation () const
 Test for rotation.
 

Static Public Member Functions

static Rotation3D Identity ()
 Make identity.
 
static Rotation3D XRotation (double angle)
 Make rotation.
 
static Rotation3D YRotation (double angle)
 Make rotation.
 
static Rotation3D ZRotation (double angle)
 Make rotation.
 

Private Attributes

Matrix3D R
 

Detailed Description

Rotation in 3-dimensional space.

Definition at line 45 of file Rotation3D.h.

Constructor & Destructor Documentation

◆ Rotation3D() [1/2]

Rotation3D::Rotation3D ( )
inline

Default constructor.

Definition at line 121 of file Rotation3D.h.

Referenced by Identity().

◆ Rotation3D() [2/2]

Rotation3D::Rotation3D ( double  vx,
double  vy,
double  vz 
)

Constructor.

Definition at line 41 of file Rotation3D.cpp.

References R.

Member Function Documentation

◆ getAxis() [1/2]

Vector3D Rotation3D::getAxis ( ) const

Get axis vector.

Definition at line 87 of file Rotation3D.cpp.

References getAxis().

Referenced by Ring::appendElement(), Ring::checkMidplane(), Euclid3D::getAll(), getAxis(), and Ring::rotateToCyclCoordinates().

Here is the call graph for this function:

◆ getAxis() [2/2]

void Rotation3D::getAxis ( double &  vx,
double &  vy,
double &  vz 
) const

Get axis vector.

Definition at line 65 of file Rotation3D.cpp.

References R.

◆ Identity()

Rotation3D Rotation3D::Identity ( )
static

Make identity.

Definition at line 117 of file Rotation3D.cpp.

References Rotation3D().

Referenced by Euclid3D::translation().

Here is the call graph for this function:

◆ inverse()

Rotation3D Rotation3D::inverse ( ) const

Inversion.

Definition at line 93 of file Rotation3D.cpp.

References R.

Referenced by Euclid3D::inverse().

◆ isIdentity()

bool Rotation3D::isIdentity ( ) const
inline

Test for identity.

Definition at line 141 of file Rotation3D.h.

References Matrix3D::isIdentity(), and R.

Referenced by Euclid3D::isPureTranslation(), and Euclid3D::setRotation().

Here is the call graph for this function:

◆ isPureXRotation()

bool Rotation3D::isPureXRotation ( ) const

Test for rotation.

Definition at line 105 of file Rotation3D.cpp.

References R.

Referenced by Euclid3D::isPureXRotation().

◆ isPureYRotation()

bool Rotation3D::isPureYRotation ( ) const

Test for rotation.

Definition at line 109 of file Rotation3D.cpp.

References R.

Referenced by Euclid3D::isPureYRotation().

◆ isPureZRotation()

bool Rotation3D::isPureZRotation ( ) const

Test for rotation.

Definition at line 113 of file Rotation3D.cpp.

References R.

Referenced by Euclid3D::isPureZRotation().

◆ operator!=()

bool Rotation3D::operator!= ( const Rotation3D rhs) const
inline

Definition at line 125 of file Rotation3D.h.

References R.

◆ operator()()

double Rotation3D::operator() ( int  i,
int  k 
) const
inline

Get component.

Definition at line 127 of file Rotation3D.h.

References R.

◆ operator*() [1/2]

Rotation3D Rotation3D::operator* ( const Rotation3D rhs) const
inline

Multiply.

Definition at line 134 of file Rotation3D.h.

◆ operator*() [2/2]

Vector3D Rotation3D::operator* ( const Vector3D rhs) const
inline

Rotate.

Definition at line 139 of file Rotation3D.h.

References R.

◆ operator*=()

Rotation3D & Rotation3D::operator*= ( const Rotation3D rhs)
inline

Multiply and assign.

Definition at line 129 of file Rotation3D.h.

References R.

◆ operator==()

bool Rotation3D::operator== ( const Rotation3D rhs) const
inline

Definition at line 123 of file Rotation3D.h.

References R.

◆ XRotation()

Rotation3D Rotation3D::XRotation ( double  angle)
static

Make rotation.

Definition at line 119 of file Rotation3D.cpp.

References R.

Referenced by Euclid3D::XRotation().

◆ YRotation()

Rotation3D Rotation3D::YRotation ( double  angle)
static

Make rotation.

Definition at line 126 of file Rotation3D.cpp.

References R.

Referenced by Euclid3D::YRotation().

◆ ZRotation()

Rotation3D Rotation3D::ZRotation ( double  angle)
static

Make rotation.

Definition at line 133 of file Rotation3D.cpp.

References R.

Referenced by Ring::getRotationStartToEnd(), and Euclid3D::ZRotation().

Member Data Documentation

◆ R


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