Molassembler  1.0.0
Molecule graph and conformer library
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Scine::Molassembler::Shapes::Elements::Rotation Struct Referencefinal

Abstraction of Cn and Sn symmetry elements. More...

#include <PointGroupElements.h>

Inheritance diagram for Scine::Molassembler::Shapes::Elements::Rotation:

Public Member Functions

 Rotation (const Eigen::Vector3d &passAxis, unsigned passN, unsigned passPower, bool passReflect)
 
Rotation operator* (const Rotation &rhs) const
 Multiply this rotation element by another.
 
Matrix matrix () const final
 Returns a matrix representation of the symmetry element operation.
 
boost::optional< Vector > vector () const final
 Returns a spatial vector unaffected by the symmetry element, if that exists.
 
std::string name () const final
 Returns a debug string representation of the element.
 

Static Public Member Functions

static Rotation Cn (const Eigen::Vector3d &axis, unsigned n, unsigned power=1)
 Construct a proper rotation symmetry element.
 
static Rotation Cn_z (const unsigned n, const unsigned power=1)
 
static Rotation Sn (const Eigen::Vector3d &axis, unsigned n, unsigned power=1)
 Construct an improper rotation symmetry element.
 

Data Fields

Eigen::Vector3d axis
 Axis of rotation.
 
unsigned n
 Rotation order.
 
unsigned power
 Power of the symmetry element (i.e. C3^2 is a rotation by 240°)
 
bool reflect
 Proper rotations reflect, improper rotations do not.
 

Additional Inherited Members

- Public Types inherited from Scine::Molassembler::Shapes::Elements::SymmetryElement
using Vector = Eigen::Vector3d
 
using Matrix = Eigen::Matrix3d
 
using Ptr = std::unique_ptr< SymmetryElement >
 

Detailed Description

Abstraction of Cn and Sn symmetry elements.


The documentation for this struct was generated from the following file: