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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
Eigen::Quaternion< NT > get_quaternion (NT angle, vector axis)
 get quaternions from angle and axis More...
 
Matrix33 get_rotation_matrix (NT angle, vector axis)
 get rotation matrix from angle and axis More...
 
Eigen::AngleAxis< NT > get_angle_axis (Eigen::Quaternion< NT > q)
 get rotation as angle axis More...
 
Eigen::Quaternion< NT > get_quaternion (NT angle_x, NT angle_y, NT angle_z)
 get quaternions from angle and axis More...
 
Matrix33 get_rotation_matrix (NT angle_x, NT angle_y, NT angle_z)
 get rotation matrix from angle and axis More...
 
Eigen::AngleAxis< NT > get_angle_axis (NT angle_x, NT angle_y, NT angle_z)
 get rotation as angle axis More...
 
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 More...
 
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 More...
 
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 More...
 

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]

Eigen::AngleAxis< NT > get_angle_axis ( Eigen::Quaternion< NT >  q)

get rotation as angle axis

◆ get_angle_axis() [2/3]

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]

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]

Eigen::Quaternion< NT > get_quaternion ( NT  angle,
vector  axis 
)

get quaternions from angle and axis

◆ get_quaternion() [2/3]

Eigen::Quaternion< NT > get_quaternion ( NT  angle_x,
NT  angle_y,
NT  angle_z 
)

get quaternions from angle and axis

◆ get_quaternion() [3/3]

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]

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]

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]

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]

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]

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]

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]

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]

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]

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.