BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Vector transformations in three dimensions. More...
Public Types | |
enum | ERotationType { EULER , XAXIS , YAXIS , ZAXIS } |
Public Member Functions | |
Transform3D () | |
Constructs unit transformation. | |
Transform3D (const Eigen::Matrix3d &matrix) | |
Constructor from matrix (no checks if this is an element of SO(3)!) | |
~Transform3D () | |
Destructor. | |
Transform3D * | clone () const |
Clones the transformation. | |
void | calculateEulerAngles (double *p_alpha, double *p_beta, double *p_gamma) const |
Calculates the Euler angles corresponding to the rotation. | |
double | calculateRotateXAngle () const |
Calculates the rotation angle for a rotation around the x-axis alone Only meaningfull if the actual rotation is around the x-axis. | |
double | calculateRotateYAngle () const |
Calculates the rotation angle for a rotation around the y-axis alone Only meaningfull if the actual rotation is around the y-axis. | |
double | calculateRotateZAngle () const |
Calculates the rotation angle for a rotation around the z-axis alone Only meaningfull if the actual rotation is around the z-axis. | |
Transform3D | getInverse () const |
Returns the inverse transformation. | |
template<class ivector_t > | |
ivector_t | transformed (const ivector_t &v) const |
Return transformed vector v. | |
template<class ivector_t > | |
ivector_t | transformedInverse (const ivector_t &v) const |
Return transformed vector v. | |
Transform3D | operator* (const Transform3D &other) const |
Composes two transformations. | |
bool | operator== (const Transform3D &other) const |
Provides equality operator. | |
ERotationType | getRotationType () const |
Retrieve the rotation type (general, around x, y or z-axis) | |
bool | isIdentity () const |
Determine if the transformation is trivial (identity) | |
void | print (std::ostream &ostr) const |
bool | isXRotation () const |
bool | isYRotation () const |
bool | isZRotation () const |
Static Public Member Functions | |
static Transform3D | createIdentity () |
Creates identity transformation (default) | |
static Transform3D | createRotateX (double phi) |
Creates rotation around x-axis. | |
static Transform3D | createRotateY (double phi) |
Creates rotation around y-axis. | |
static Transform3D | createRotateZ (double phi) |
Creates rotation around z-axis. | |
static Transform3D | createRotateEuler (double alpha, double beta, double gamma) |
Creates rotation defined by Euler angles. | |
Friends | |
std::ostream & | operator<< (std::ostream &ostr, const Transform3D &m) |
Vector transformations in three dimensions.
Definition at line 27 of file Transform3D.h.