Molassembler  1.0.0
Molecule graph and conformer library
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
CoordinateSystemTransformation.h
Go to the documentation of this file.
1 
8 #include <Eigen/Geometry>
9 #include <Eigen/Core>
10 
11 #include "Molassembler/Export.h"
12 
13 namespace Scine {
14 namespace Molassembler {
15 namespace Shapes {
16 
20 struct MASM_EXPORT CoordinateSystem {
22  Eigen::Vector3d x, y, z;
23 
36  CoordinateSystem(const Eigen::Vector3d& a, const Eigen::Vector3d& b);
37 
39  static CoordinateSystem random();
40 
42  bool isRightHanded() const;
43 
44  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
45 };
46 
58 MASM_EXPORT Eigen::Matrix3d rotationMatrix(const CoordinateSystem& a, const CoordinateSystem& b);
59 
60 } // namespace Shapes
61 } // namespace Molassembler
62 } // namespace Scine
Eigen::Vector3d x
Axes.
Definition: CoordinateSystemTransformation.h:22
Coordinate system axis data class.
Definition: CoordinateSystemTransformation.h:20
Eigen::Matrix3d rotationMatrix(const CoordinateSystem &a, const CoordinateSystem &b)
Gives the rotation matrix tranforming points between coordinate systems.