29 #ifndef CDPL_SHAPE_UTILITYFUNCTIONS_HPP
30 #define CDPL_SHAPE_UTILITYFUNCTIONS_HPP
44 class GaussianShapeFunction;
Definition of matrix data types.
Definition of the preprocessor macro CDPL_SHAPE_API.
#define CDPL_SHAPE_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Definition of vector data types.
Fixed-size vector of dimension N backed by a C-array (no dynamic allocation).
Definition: Vector.hpp:1876
Function representation of a Gaussian shape, used to evaluate the shape's density,...
Definition: GaussianShapeFunction.hpp:61
std::enable_if< IsScalar< T >::value, RealQuaternion< T > >::type quat(const T &t)
Constructs a Math::RealQuaternion from the scalar t (its real component).
Definition: Quaternion.hpp:1152
CVector< double, 3 > Vector3D
Bounded 3 element vector holding floating point values of type double.
Definition: Vector.hpp:2937
CMatrix< double, 3, 3 > Matrix3D
Bounded 3x3 matrix holding floating point values of type double.
Definition: Matrix.hpp:3180
CDPL_SHAPE_API unsigned int perceiveSymmetryClass(const Math::Vector3D &moments, double eq_thresh=0.15)
Classifies the rotational symmetry of a shape from its principal moments (see namespace Shape::Symmet...
CDPL_SHAPE_API void calcPrincipalAxes(const Math::Matrix3D &quad_tensor, Math::Vector3D &x_axis, Math::Vector3D &y_axis, Math::Vector3D &z_axis, Math::Vector3D &moments)
Calculates the principal axes and principal moments of a quadrupole tensor.
CDPL_SHAPE_API void matrixToQuaternion(const Math::Matrix4D &mtx, QuaternionTransformation &quat)
Converts an affine 4x4 transformation matrix to a quaternion-plus-translation representation.
CDPL_SHAPE_API void quaternionToMatrix(const QuaternionTransformation &quat, Math::Matrix4D &mtx)
Converts a quaternion-plus-translation representation back to an affine 4x4 transformation matrix.
CDPL_SHAPE_API unsigned int calcCenterAlignmentTransforms(const Shape::GaussianShapeFunction &func, Math::Matrix4D &to_ctr_xform, Math::Matrix4D &from_ctr_xform, double mom_eq_thresh=0.15)
Calculates the affine transformations that align a Gaussian shape to its center of mass and back.
CDPL_SHAPE_API void calcQuadrupoleTensorEigenDecomposition(const Math::Matrix3D &quad_tensor, Math::Matrix3D &eigen_vecs, Math::Vector3D &eigen_vals)
Calculates the eigen-decomposition of a 3x3 quadrupole tensor.
The namespace of the Chemical Data Processing Library.