BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
Rotations.h File Reference

Description

Defines IRotation classes.

Homepage:\n http://www.bornagainproject.org
License:\n GNU General Public License v3 or higher (see COPYING)
Authors
Scientific Computing Group at MLZ (see CITATION, AUTHORS)

Definition in file Rotations.h.

Include dependency graph for Rotations.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  IdentityRotation
 The identity rotation, which leaves everything in place. More...
 
class  IRotation
 Abstract base class for rotations. More...
 
class  RotationEuler
 A sequence of rotations about the z-x'-z'' axes. More...
 
class  RotationX
 A rotation about the x axis. More...
 
class  RotationY
 A rotation about the y axis. More...
 
class  RotationZ
 A rotation about the z axis. More...
 

Functions

IRotationcreateProduct (const IRotation &left, const IRotation &right)
 Returns concatenated rotation (first right, then left). More...
 

Function Documentation

◆ createProduct()

IRotation* createProduct ( const IRotation left,
const IRotation right 
)

Returns concatenated rotation (first right, then left).

Definition at line 59 of file Rotations.cpp.

60 {
61  RotMatrix tr_left = left.rotMatrix();
62  RotMatrix tr_right = right.rotMatrix();
63  IRotation* p_result = IRotation::createRotation(tr_left * tr_right);
64  return p_result;
65 }
Abstract base class for rotations.
Definition: Rotations.h:29
virtual RotMatrix rotMatrix() const =0
Returns transformation.
static IRotation * createRotation(const RotMatrix &transform)
Definition: Rotations.cpp:28
Rotation matrix in three dimensions. Represents group SO(3). Internal parameterization based on quate...
Definition: RotMatrix.h:25

References IRotation::createRotation(), and IRotation::rotMatrix().

Referenced by IParticle::rotate().

Here is the call graph for this function: