2 #include <Eigen/Geometry> 15 using Point = Eigen::Vector3d;
16 Eigen::Quaterniond quaternion;
17 Eigen::Matrix3d rotation_matrix;
23 void set(
double angle, Point axis);
24 auto operator()(
const Eigen::Matrix3d& matrix)
const;
25 [[nodiscard]]
const Eigen::Quaterniond&
getQuaternion()
const;
28 Point vector, std::function<
void(Point&)> boundary = [](Point&) {},
29 const Point& shift = {0, 0, 0})
const;
Rotation routine using the Eigen library.
Definition: rotate.h:12
const Eigen::Quaterniond & getQuaternion() const
Get current quaternion.
Definition: rotate.cpp:65
double angle
Current rotation angle.
Definition: rotate.h:20
Cell list class templates.
Definition: actions.cpp:11
auto operator()(const Eigen::Matrix3d &matrix) const
Rotate matrix/tensor.
Definition: rotate.cpp:60
const Eigen::Matrix3d & getRotationMatrix() const
Get current rotation matrix.
Definition: rotate.cpp:70