|
OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
|
Rotation in 3-dimensional space. More...
#include <Rotation3D.h>

Public Member Functions | |
| Rotation3D () | |
| Default constructor. | |
| Rotation3D (double vx, double vy, double vz) | |
| Constructor. | |
| bool | operator== (const Rotation3D &) const |
| bool | operator!= (const Rotation3D &) const |
| Rotation3D & | operator*= (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 |
Rotation in 3-dimensional space.
Definition at line 45 of file Rotation3D.h.
|
inline |
| Rotation3D::Rotation3D | ( | double | vx, |
| double | vy, | ||
| double | vz | ||
| ) |
| 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().

| void Rotation3D::getAxis | ( | double & | vx, |
| double & | vy, | ||
| double & | vz | ||
| ) | const |
|
static |
Make identity.
Definition at line 117 of file Rotation3D.cpp.
References Rotation3D().
Referenced by Euclid3D::translation().

| Rotation3D Rotation3D::inverse | ( | ) | const |
Inversion.
Definition at line 93 of file Rotation3D.cpp.
References R.
Referenced by Euclid3D::inverse().
|
inline |
Test for identity.
Definition at line 141 of file Rotation3D.h.
References Matrix3D::isIdentity(), and R.
Referenced by Euclid3D::isPureTranslation(), and Euclid3D::setRotation().

| bool Rotation3D::isPureXRotation | ( | ) | const |
Test for rotation.
Definition at line 105 of file Rotation3D.cpp.
References R.
Referenced by Euclid3D::isPureXRotation().
| bool Rotation3D::isPureYRotation | ( | ) | const |
Test for rotation.
Definition at line 109 of file Rotation3D.cpp.
References R.
Referenced by Euclid3D::isPureYRotation().
| bool Rotation3D::isPureZRotation | ( | ) | const |
Test for rotation.
Definition at line 113 of file Rotation3D.cpp.
References R.
Referenced by Euclid3D::isPureZRotation().
|
inline |
Definition at line 125 of file Rotation3D.h.
References R.
|
inline |
|
inline |
Multiply.
Definition at line 134 of file Rotation3D.h.
|
inline |
|
inline |
Definition at line 123 of file Rotation3D.h.
References R.
|
static |
Make rotation.
Definition at line 119 of file Rotation3D.cpp.
References R.
Referenced by Euclid3D::XRotation().
|
static |
Make rotation.
Definition at line 126 of file Rotation3D.cpp.
References R.
Referenced by Euclid3D::YRotation().
|
static |
Make rotation.
Definition at line 133 of file Rotation3D.cpp.
References R.
Referenced by Ring::getRotationStartToEnd(), and Euclid3D::ZRotation().
|
private |
Definition at line 115 of file Rotation3D.h.
Referenced by getAxis(), inverse(), isIdentity(), isPureXRotation(), isPureYRotation(), isPureZRotation(), operator!=(), operator()(), operator*(), operator*=(), operator==(), Rotation3D(), XRotation(), YRotation(), and ZRotation().