VinaLC: Parallel Molecular Docking Program

Biochemical and Biophysical Systems Group
VinaLC version: 1.1.2

quaternion.h File Reference
#include <boost/math/quaternion.hpp>
#include <boost/serialization/split_free.hpp>
#include "common.h"
#include "random.h"
Include dependency graph for quaternion.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  boost
 
namespace  boost::serialization
 

Typedefs

typedef
boost::math::quaternion< fl
qt
 

Functions

bool quaternion_is_normalized (const qt &q)
 
template<class Archive >
void boost::serialization::save (Archive &ar, const qt &q, const unsigned version)
 
template<typename Archive >
void boost::serialization::load (Archive &ar, qt &q, const unsigned version)
 
bool eq (const qt &a, const qt &b)
 
const qt qt_identity (1, 0, 0, 0)
 
qt angle_to_quaternion (const vec &axis, fl angle)
 
qt angle_to_quaternion (const vec &rotation)
 
vec quaternion_to_angle (const qt &q)
 
mat quaternion_to_r3 (const qt &q)
 
fl quaternion_norm_sqr (const qt &q)
 
void quaternion_normalize (qt &q)
 
void quaternion_normalize_approx (qt &q, const fl tolerance=1e-6)
 
qt random_orientation (rng &generator)
 
void quaternion_increment (qt &q, const vec &rotation)
 
vec quaternion_difference (const qt &b, const qt &a)
 
void print (const qt &q, std::ostream &out=std::cout)
 

Typedef Documentation

typedef boost::math::quaternion<fl> qt

Function Documentation

bool quaternion_is_normalized ( const qt q)

References eq(), and quaternion_norm_sqr().

Referenced by quaternion_difference(), quaternion_increment(), quaternion_normalize(), quaternion_normalize_approx(), quaternion_to_angle(), quaternion_to_r3(), and random_orientation().

Here is the call graph for this function:

Here is the caller graph for this function:

bool eq ( const qt a,
const qt b 
)

References eq().

Here is the call graph for this function:

const qt qt_identity ( ,
,
,
 
)

Referenced by angle_to_quaternion(), conf::generate_internal(), segment::segment(), and rigid_conf::set_to_null().

Here is the caller graph for this function:

qt angle_to_quaternion ( const vec axis,
fl  angle 
)

References eq(), vec::norm(), and normalize_angle().

Referenced by angle_to_quaternion(), quaternion_increment(), segment::set_conf(), and first_segment::set_conf().

Here is the call graph for this function:

Here is the caller graph for this function:

qt angle_to_quaternion ( const vec rotation)

References angle_to_quaternion(), epsilon_fl, vec::norm(), and qt_identity().

Here is the call graph for this function:

vec quaternion_to_angle ( const qt q)

References epsilon_fl, pi, quaternion_is_normalized(), and zero_vec().

Referenced by print(), and quaternion_difference().

Here is the call graph for this function:

Here is the caller graph for this function:

mat quaternion_to_r3 ( const qt q)

References eq(), and quaternion_is_normalized().

Referenced by rigid_conf::apply(), and frame::set_orientation().

Here is the call graph for this function:

Here is the caller graph for this function:

fl quaternion_norm_sqr ( const qt q)
inline

References sqr().

Referenced by quaternion_is_normalized(), quaternion_normalize(), and quaternion_normalize_approx().

Here is the call graph for this function:

Here is the caller graph for this function:

void quaternion_normalize ( qt q)
inline

References epsilon_fl, eq(), quaternion_is_normalized(), quaternion_norm_sqr(), and sqr().

Here is the call graph for this function:

void quaternion_normalize_approx ( qt q,
const fl  tolerance = 1e-6 
)
inline

References epsilon_fl, eq(), quaternion_is_normalized(), quaternion_norm_sqr(), and sqr().

Referenced by quaternion_increment(), and segment::set_conf().

Here is the call graph for this function:

Here is the caller graph for this function:

qt random_orientation ( rng generator)

References epsilon_fl, quaternion_is_normalized(), random_normal(), and random_orientation().

Referenced by random_orientation(), and rigid_conf::randomize().

Here is the call graph for this function:

Here is the caller graph for this function:

void quaternion_increment ( qt q,
const vec rotation 
)

References angle_to_quaternion(), quaternion_is_normalized(), and quaternion_normalize_approx().

Referenced by rigid_conf::increment(), mutate_conf(), and rigid_conf::mutate_orientation().

Here is the call graph for this function:

Here is the caller graph for this function:

vec quaternion_difference ( const qt b,
const qt a 
)

References quaternion_is_normalized(), and quaternion_to_angle().

Referenced by rigid_conf::too_close().

Here is the call graph for this function:

Here is the caller graph for this function:

void print ( const qt q,
std::ostream &  out = std::cout 
)

References print(), and quaternion_to_angle().

Here is the call graph for this function: