19 #ifndef SNARK_GRAPHICS_IMPL_ROTATION_MATRIX_H_
20 #define SNARK_GRAPHICS_IMPL_ROTATION_MATRIX_H_
22 #include <comma/base/exception.h>
24 #include <Eigen/Geometry>
32 rotation_matrix( const ::Eigen::Matrix3d&
rotation = ::Eigen::Matrix3d::Identity() );
33 rotation_matrix( const ::Eigen::Quaterniond&
quaternion );
34 rotation_matrix( const ::Eigen::Vector3d& rpy );
36 const ::Eigen::Matrix3d&
rotation()
const;
39 static ::Eigen::Vector3d
roll_pitch_yaw( const ::Eigen::Matrix3d& m );
40 static ::Eigen::Matrix3d
rotation( const ::Eigen::Vector3d& rpy );
41 static ::Eigen::Matrix3d
rotation(
double roll,
double pitch,
double yaw );
44 template<
typename Output >
48 ::Eigen::Matrix3d m_rotation;
54 #endif // SNARK_GRAPHICS_IMPL_ROTATION_MATRIX_H_