Molassembler  3.0.0
Molecule graph and conformer library
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Scine::Molassembler::Shapes::CoordinateSystem Struct Reference

Coordinate system axis data class. More...

#include <CoordinateSystemTransformation.h>

Public Member Functions

 CoordinateSystem ()
 Default constructor makes default xyz system.
 
 CoordinateSystem (const Eigen::Vector3d &a, const Eigen::Vector3d &b)
 Right-handed coordinate system constructor from two perpendicular vectors. More...
 
bool isRightHanded () const
 Yields whether the coordinate system is right handed.
 

Static Public Member Functions

static CoordinateSystem random ()
 Yields a randomly oriented right-handed coordinate system.
 

Data Fields

Eigen::Vector3d x
 Axes.
 
Eigen::Vector3d y
 
Eigen::Vector3d z
 

Detailed Description

Coordinate system axis data class.

Constructor & Destructor Documentation

Scine::Molassembler::Shapes::CoordinateSystem::CoordinateSystem ( const Eigen::Vector3d &  a,
const Eigen::Vector3d &  b 
)

Right-handed coordinate system constructor from two perpendicular vectors.

The z coordinate is initialized from the cross product of a and b

Parameters
aThe x coordinate of the coordinate system
bThe y coordinate of the coordinate system
Precondition
a and b need to be orthogonal.
Postcondition
x, y and z are normalized, the coordinate system is right-handed

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