|
OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
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 46 of file Rotation3D.h.
|
inline |
Default constructor.
Definition at line 126 of file Rotation3D.h.
References R.
Referenced by Identity(), inverse(), operator!=(), operator*(), operator*=(), operator==(), XRotation(), YRotation(), and ZRotation().
| Rotation3D::Rotation3D | ( | double | vx, |
| double | vy, | ||
| double | vz ) |
| Vector3D Rotation3D::getAxis | ( | ) | const |
Get axis vector.
Definition at line 91 of file Rotation3D.cpp.
References getAxis().
Referenced by Ring::appendElement(), Offset::bends(), Ring::checkMidplane(), getAxis(), operator==(), and Ring::rotateToCyclCoordinates().
| void Rotation3D::getAxis | ( | double & | vx, |
| double & | vy, | ||
| double & | vz ) const |
|
static |
Make identity.
Definition at line 126 of file Rotation3D.cpp.
References Rotation3D().
Referenced by Euclid3D::translation().
| Rotation3D Rotation3D::inverse | ( | ) | const |
Inversion.
Definition at line 98 of file Rotation3D.cpp.
References R, and Rotation3D().
|
inline |
Test for identity.
Definition at line 160 of file Rotation3D.h.
References R.
Referenced by Euclid3D::setRotation().
| bool Rotation3D::isPureXRotation | ( | ) | const |
| bool Rotation3D::isPureYRotation | ( | ) | const |
| bool Rotation3D::isPureZRotation | ( | ) | const |
|
inline |
Definition at line 135 of file Rotation3D.h.
References R, and Rotation3D().
|
inline |
|
inline |
Multiply.
Definition at line 149 of file Rotation3D.h.
References Rotation3D().
|
inline |
Multiply and assign.
Definition at line 143 of file Rotation3D.h.
References R, and Rotation3D().
|
inline |
Definition at line 131 of file Rotation3D.h.
References R, and Rotation3D().
|
static |
Make rotation.
Definition at line 131 of file Rotation3D.cpp.
References R, and Rotation3D().
Referenced by Euclid3D::XRotation().
|
static |
Make rotation.
Definition at line 139 of file Rotation3D.cpp.
References R, and Rotation3D().
Referenced by Euclid3D::YRotation().
|
static |
Make rotation.
Definition at line 147 of file Rotation3D.cpp.
References R, and Rotation3D().
Referenced by Ring::getRotationStartToEnd(), and Euclid3D::ZRotation().
|
private |
Definition at line 119 of file Rotation3D.h.
Referenced by getAxis(), inverse(), isIdentity(), isPureXRotation(), isPureYRotation(), isPureZRotation(), operator!=(), operator()(), operator*(), operator*=(), operator==(), Rotation3D(), Rotation3D(), XRotation(), YRotation(), and ZRotation().