Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
T_Rotation_3< Point_container_iterator, NT, Back_inserter > Class Template Reference

static 3d rotation methods. More...

#include <Rotation_3.hpp>

Static functions

void operator() (const Point_container_iterator &Points_to_rotate_begin, const Point_container_iterator &Points_to_rotate_end, vector Axis_of_rotation, NT angle, Back_inserter &Rotated_points_begin)
 Rotates points around axis by a specified angle.
void operator() (const Point_container_iterator &Points_to_rotate_begin, const Point_container_iterator &Points_to_rotate_end, point Center_of_rotation, vector Axis_of_rotation, NT angle, Back_inserter &Rotated_points_begin)
 Centers and Rotates points around axis by a specified angle.
void operator() (const Point_container_iterator &Points_to_rotate_begin, const Point_container_iterator &Points_to_rotate_end, point Center_of_rotation, NT angle_x, NT angle_y, NT angle_z, vector x, vector y, vector z, Back_inserter &Rotated_points_begin)
 Centers and Rotates points around 3 specied orthogonal axes.
void operator() (const Point_container_iterator &Points_to_rotate_begin, const Point_container_iterator &Points_to_rotate_end, point Center_of_rotation, NT angle_x, NT angle_y, NT angle_z, Back_inserter &Rotated_points_begin)
 Centers and Rotates points around x y z unity axes.
void operator() (const Point_container_iterator &Points_to_rotate_begin, const Point_container_iterator &Points_to_rotate_end, NT angle_x, NT angle_y, NT angle_z, Back_inserter &Rotated_points_begin)
 Rotates points around x y z unity axes.
void operator() (const Point_container_iterator &Points_to_rotate_begin, const Point_container_iterator &Points_to_rotate_end, NT angle_x, NT angle_y, NT angle_z, vector x, vector y, vector z, Back_inserter &Rotated_points_begin)
 Rotates points around 3 specfied orthogonal axes.
Eigen::Quaternion< NT > get_quaternion (NT angle, vector axis)
 get quaternions from angle and axis
Matrix33 get_rotation_matrix (NT angle, vector axis)
 get rotation matrix from angle and axis
Eigen::AngleAxis< NT > get_angle_axis (Eigen::Quaternion< NT > q)
 get rotation as angle axis
Eigen::Quaternion< NT > get_quaternion (NT angle_x, NT angle_y, NT angle_z)
 get quaternions from angle and axis
Matrix33 get_rotation_matrix (NT angle_x, NT angle_y, NT angle_z)
 get rotation matrix from angle and axis
Eigen::AngleAxis< NT > get_angle_axis (NT angle_x, NT angle_y, NT angle_z)
 get rotation as angle axis
Eigen::Quaternion< NT > get_quaternion (NT angle_x, NT angle_y, NT angle_z, vector x, vector y, vector z)
 get quaternions from angle and axis
Matrix33 get_rotation_matrix (NT angle_x, NT angle_y, NT angle_z, vector x, vector y, vector z)
 get rotation matrix from angle and axis
Eigen::AngleAxis< NT > get_angle_axis (NT angle_x, NT angle_y, NT angle_z, vector x, vector y, vector z)
 get rotation as angle axis

Detailed Description

template<class Point_container_iterator, class NT, class Back_inserter>
class SBL::GT::T_Rotation_3< Point_container_iterator, NT, Back_inserter >

static 3d rotation methods.

static 3d rotation methods.

Template Parameters
iteratorfor the points in to rotate
Matrixtypeused in operations
Numbertype

Member Function Documentation

◆ get_angle_axis() [1/3]

template<class Point_container_iterator, class NT, class Back_inserter>
Eigen::AngleAxis< NT > get_angle_axis ( Eigen::Quaternion< NT > q)

get rotation as angle axis

◆ get_angle_axis() [2/3]

template<class Point_container_iterator, class NT, class Back_inserter>
Eigen::AngleAxis< NT > get_angle_axis ( NT angle_x,
NT angle_y,
NT angle_z )

get rotation as angle axis

◆ get_angle_axis() [3/3]

template<class Point_container_iterator, class NT, class Back_inserter>
Eigen::AngleAxis< NT > get_angle_axis ( NT angle_x,
NT angle_y,
NT angle_z,
vector x,
vector y,
vector z )

get rotation as angle axis

◆ get_quaternion() [1/3]

template<class Point_container_iterator, class NT, class Back_inserter>
Eigen::Quaternion< NT > get_quaternion ( NT angle,
vector axis )

get quaternions from angle and axis

◆ get_quaternion() [2/3]

template<class Point_container_iterator, class NT, class Back_inserter>
Eigen::Quaternion< NT > get_quaternion ( NT angle_x,
NT angle_y,
NT angle_z )

get quaternions from angle and axis

◆ get_quaternion() [3/3]

template<class Point_container_iterator, class NT, class Back_inserter>
Eigen::Quaternion< NT > get_quaternion ( NT angle_x,
NT angle_y,
NT angle_z,
vector x,
vector y,
vector z )

get quaternions from angle and axis

◆ get_rotation_matrix() [1/3]

template<class Point_container_iterator, class NT, class Back_inserter>
T_Rotation_3< Point_container_iterator, NT, Back_inserter >::Matrix33 get_rotation_matrix ( NT angle,
vector axis )

get rotation matrix from angle and axis

◆ get_rotation_matrix() [2/3]

template<class Point_container_iterator, class NT, class Back_inserter>
T_Rotation_3< Point_container_iterator, NT, Back_inserter >::Matrix33 get_rotation_matrix ( NT angle_x,
NT angle_y,
NT angle_z )

get rotation matrix from angle and axis

◆ get_rotation_matrix() [3/3]

template<class Point_container_iterator, class NT, class Back_inserter>
T_Rotation_3< Point_container_iterator, NT, Back_inserter >::Matrix33 get_rotation_matrix ( NT angle_x,
NT angle_y,
NT angle_z,
vector x,
vector y,
vector z )

get rotation matrix from angle and axis

◆ operator()() [1/6]

template<class Point_container_iterator, class NT, class Back_inserter>
void operator() ( const Point_container_iterator & Points_to_rotate_begin,
const Point_container_iterator & Points_to_rotate_end,
NT angle_x,
NT angle_y,
NT angle_z,
Back_inserter & Rotated_points_begin )

Rotates points around x y z unity axes.

◆ operator()() [2/6]

template<class Point_container_iterator, class NT, class Back_inserter>
void operator() ( const Point_container_iterator & Points_to_rotate_begin,
const Point_container_iterator & Points_to_rotate_end,
NT angle_x,
NT angle_y,
NT angle_z,
vector x,
vector y,
vector z,
Back_inserter & Rotated_points_begin )

Rotates points around 3 specfied orthogonal axes.

◆ operator()() [3/6]

template<class Point_container_iterator, class NT, class Back_inserter>
void operator() ( const Point_container_iterator & Points_to_rotate_begin,
const Point_container_iterator & Points_to_rotate_end,
point Center_of_rotation,
NT angle_x,
NT angle_y,
NT angle_z,
Back_inserter & Rotated_points_begin )

Centers and Rotates points around x y z unity axes.

◆ operator()() [4/6]

template<class Point_container_iterator, class NT, class Back_inserter>
void operator() ( const Point_container_iterator & Points_to_rotate_begin,
const Point_container_iterator & Points_to_rotate_end,
point Center_of_rotation,
NT angle_x,
NT angle_y,
NT angle_z,
vector x,
vector y,
vector z,
Back_inserter & Rotated_points_begin )

Centers and Rotates points around 3 specied orthogonal axes.

◆ operator()() [5/6]

template<class Point_container_iterator, class NT, class Back_inserter>
void operator() ( const Point_container_iterator & Points_to_rotate_begin,
const Point_container_iterator & Points_to_rotate_end,
point Center_of_rotation,
vector Axis_of_rotation,
NT angle,
Back_inserter & Rotated_points_begin )

Centers and Rotates points around axis by a specified angle.

◆ operator()() [6/6]

template<class Point_container_iterator, class NT, class Back_inserter>
void operator() ( const Point_container_iterator & Points_to_rotate_begin,
const Point_container_iterator & Points_to_rotate_end,
vector Axis_of_rotation,
NT angle,
Back_inserter & Rotated_points_begin )

Rotates points around axis by a specified angle.