Mantid
|
SymmetryElementRotation represents rotation-, rotoinversion- and screw-axes. More...
#include <SymmetryElement.h>
Public Types | |
enum | RotationSense { Positive , Negative , NoRotation } |
Public Member Functions | |
SymmetryElement_sptr | clone () const override |
Returns a clone of the symmetry element. More... | |
RotationSense | getRotationSense () const |
Returns the internally stored rotation sense. More... | |
SymmetryElementRotation (const std::string &symbol, const V3R &axis, const V3R &translation=V3R(0, 0, 0), const RotationSense &rotationSense=Positive) | |
Constructor for rotation-,rotoinversion- and screw-axes. More... | |
![]() | |
V3R | getAxis () const |
Returns the internally stored axis. More... | |
V3R | getTranslation () const |
Returns the internally stored translation vector. More... | |
![]() | |
virtual std::shared_ptr< SymmetryElement > | clone () const =0 |
std::string | hmSymbol () const |
Returns the internally stored Hermann-Mauguin symbol. More... | |
virtual | ~SymmetryElement ()=default |
Protected Attributes | |
RotationSense | m_rotationSense |
![]() | |
V3R | m_axis |
V3R | m_translation |
![]() | |
std::string | m_hmSymbol |
Additional Inherited Members | |
![]() | |
void | setAxis (const V3R &axis) |
Sets the axis, throws std::invalid_argument if the axis is (0,0,0). More... | |
SymmetryElementWithAxis (const std::string &symbol, const V3R &axis, const V3R &translation) | |
Constructor for SymmetryElementWithAxis. More... | |
![]() | |
SymmetryElement (std::string symbol) | |
Constructor with symbol argument. More... | |
SymmetryElementRotation represents rotation-, rotoinversion- and screw-axes.
Besides the axis and translation vectors, which are inherited from SymmetryElementWithAxis, it also provides a rotation sense.
When constructed directly, it's possible to leave out translation and rotation sense, these will be set to default values ((0,0,0) and positive rotation sense).
Symbol determination is perfomed by SymmetryElementRotationGenerator, which uses the SymmetryOperation to derive the Herrman-Mauguin symbol.
Definition at line 150 of file SymmetryElement.h.
Enumerator | |
---|---|
Positive | |
Negative | |
NoRotation |
Definition at line 152 of file SymmetryElement.h.
Mantid::Geometry::SymmetryElementRotation::SymmetryElementRotation | ( | const std::string & | symbol, |
const V3R & | axis, | ||
const V3R & | translation = V3R(0, 0, 0) , |
||
const RotationSense & | rotationSense = Positive |
||
) |
Constructor for rotation-,rotoinversion- and screw-axes.
Definition at line 49 of file SymmetryElement.cpp.
|
overridevirtual |
Returns a clone of the symmetry element.
Implements Mantid::Geometry::SymmetryElement.
Definition at line 54 of file SymmetryElement.cpp.
References Mantid::Geometry::SymmetryElementWithAxis::m_axis, Mantid::Geometry::SymmetryElement::m_hmSymbol, m_rotationSense, and Mantid::Geometry::SymmetryElementWithAxis::m_translation.
|
inline |
Returns the internally stored rotation sense.
Definition at line 160 of file SymmetryElement.h.
|
protected |
Definition at line 163 of file SymmetryElement.h.
Referenced by clone().