Structure/utility class for a point group symmetry operation.
More...
#include <point_group.h>
|
static SymOp | from_rotation_vector (const Vec3 &vector, const Vec3 &origin=Vec3::Zero()) |
| Create a SymOp object from a rotation vector and optional origin.
|
|
static SymOp | from_axis_angle (const Vec3 &vector, double angle, const Vec3 &origin=Vec3::Zero()) |
| Create a SymOp object from a rotation axis, angle and optional origin.
|
|
static SymOp | reflection (const Vec3 &normal, const Vec3 &origin=Vec3::Zero()) |
| Create a SymOp object representing a reflection from a given normal vector.
|
|
static SymOp | rotoreflection (const Vec3 &vector, double angle, const Vec3 &origin=Vec3::Zero()) |
| Create a SymOp object representing a combined rotation and reflection from a rotation axis, angle and optional origin.
|
|
static SymOp | inversion () |
| The inversion symop i.e.
|
|
static SymOp | identity () |
| The identity symop about the origin i.e.
|
|
Structure/utility class for a point group symmetry operation.
◆ SymOp() [1/3]
occ::core::SymOp::SymOp |
( |
| ) |
|
Default constructor - the identity/neutral Symop.
◆ SymOp() [2/3]
occ::core::SymOp::SymOp |
( |
const Mat3 & |
rotation, |
|
|
const Vec3 & |
translation |
|
) |
| |
Create a SymOp from a rotation matrix and a translation.
- Parameters
-
rotation | a Mat3 representing a rotation matrix. |
translation | a Vec3 representing the translation (Angstroms) |
- Warning
- the rotation matrix is not checked to be a valid rotation.
◆ SymOp() [3/3]
occ::core::SymOp::SymOp |
( |
const Mat4 & |
transformation | ) |
|
Create a SymOp from a heterogeneous transformation matrix.
- Parameters
-
transformation | a Mat4 representing a transformation matrix |
- Warning
- the transformation matrix is not checked to be a valid affine transformation.
◆ apply()
Apply this symmetry operation to a block of coordinates.
- Parameters
-
coordinates | an Eigen reference to a block of 3xN coordinates, assumed to be in Angstroms. |
- Returns
- a new 3xN matrix of transformed coordinates
◆ from_axis_angle()
static SymOp occ::core::SymOp::from_axis_angle |
( |
const Vec3 & |
vector, |
|
|
double |
angle, |
|
|
const Vec3 & |
origin = Vec3::Zero() |
|
) |
| |
|
static |
Create a SymOp object from a rotation axis, angle and optional origin.
- Parameters
-
vector | a rotation vector corresponding to a unit vector which corresponds to the axis of rotation |
angle | the magnitude of the rotation in radians. |
origin | the position of the origin, in Angstroms. Default is the zero vector. |
- Returns
- the newly constructed SymOp object
See also SymOp::from_rotation_vector.
◆ from_rotation_vector()
static SymOp occ::core::SymOp::from_rotation_vector |
( |
const Vec3 & |
vector, |
|
|
const Vec3 & |
origin = Vec3::Zero() |
|
) |
| |
|
static |
Create a SymOp object from a rotation vector and optional origin.
- Parameters
-
vector | a rotation vector corresponding to a unit vector which corresponds to the axis of rotation, whose norm will be the magnitude of the rotation in radians. |
origin | the position of the origin, in Angstroms. Default is the zero vector. |
- Returns
- the newly constructed SymOp object
See also SymOp::from_axis_angle.
◆ identity()
static SymOp occ::core::SymOp::identity |
( |
| ) |
|
|
static |
The identity symop about the origin i.e.
I
- Returns
- the newly constructed SymOp object representing an identity operation.
◆ inversion()
static SymOp occ::core::SymOp::inversion |
( |
| ) |
|
|
static |
The inversion symop i.e.
-I
- Returns
- the newly constructed SymOp object representing an inversion.
◆ reflection()
static SymOp occ::core::SymOp::reflection |
( |
const Vec3 & |
normal, |
|
|
const Vec3 & |
origin = Vec3::Zero() |
|
) |
| |
|
static |
Create a SymOp object representing a reflection from a given normal vector.
- Parameters
-
normal | a vector corresponding to the normal for the plane of reflection. Will be normalized/converted to a unit vector internally. |
origin | the position of the origin, in Angstroms. Default is the zero vector. |
- Returns
- the newly constructed SymOp object
◆ rotation()
const auto occ::core::SymOp::rotation |
( |
| ) |
const |
|
inline |
Get the rotation matrix part of this SymOp.
- Returns
- the 3x3 block of the stored heterogeneous matrix corresponding to the rotation matrix.
◆ rotoreflection()
static SymOp occ::core::SymOp::rotoreflection |
( |
const Vec3 & |
vector, |
|
|
double |
angle, |
|
|
const Vec3 & |
origin = Vec3::Zero() |
|
) |
| |
|
static |
Create a SymOp object representing a combined rotation and reflection from a rotation axis, angle and optional origin.
- Parameters
-
vector | a vector corresponding to the normal for the plane of reflection, and the axis of rotation. Will be normalized/converted to a unit vector internally. |
angle | the magnitude of the rotation in radians. |
origin | the position of the origin, in Angstroms. Default is the zero vector. |
- Returns
- the newly constructed SymOp object
◆ translation()
const auto occ::core::SymOp::translation |
( |
| ) |
const |
|
inline |
Get the translation vector part of this SymOp.
- Returns
- the 3x1 block of the stored heterogeneous matrix corresponding to the translation vector.
◆ transformation
The underlying data for the transform/symmetry operation.
The documentation for this struct was generated from the following file: