Classes | Typedefs | Functions | Variables
math3d Namespace Reference

Classes

struct  color_rgb24
 
class  invalid_vector
 
class  matrix
 
struct  matrix3x3
 
class  oriented_point3d
 
struct  quaternion
 
struct  triangle
 
struct  vec3d
 

Typedefs

typedef vec3d< double > normal3d
 
typedef vec3d< double > point3d
 
typedef std::pair< matrix3x3< double >, point3drigid_motion_t
 

Functions

template<typename T >
bool almost_zero (T a, double e)
 
template<typename T >
void conjugate (quaternion< T > &q)
 
template<typename T >
vec3d< T > cross_product (const vec3d< T > &v1, const vec3d< T > &v2)
 
template<typename T >
double dist (const T &p1, const T &p2)
 
template<typename T >
dot (const quaternion< T > &a, const quaternion< T > &b)
 
template<typename T >
dot_product (const vec3d< T > &v1, const vec3d< T > &v2)
 
template<typename T , typename S >
double dot_product (const vec3d< T > &v1, const vec3d< S > &v2)
 
template<typename T >
dot_product (const quaternion< T > &p, const quaternion< T > &q)
 
template<typename T >
vec3d< T > get_normalize (const vec3d< T > &p)
 
template<typename T >
vec3d< T > get_rotate (const vec3d< T > &v, const quaternion< T > &q)
 
template<typename T >
vec3d< T > get_rotate (const vec3d< T > &p, const matrix3x3< T > &rot)
 
template<typename T >
vec3d< T > get_rotate_translate (const vec3d< T > &p, const matrix3x3< T > &rot, const point3d &t)
 
template<typename T >
vec3d< T > get_rotate_translate (const vec3d< T > &p, const matrix< T > &rot, const point3d &t)
 
template<typename T >
vec3d< T > get_rotate_translate (const vec3d< T > &p, const T *rot, const T *t)
 
template<typename T >
vec3d< T > get_rotate_translate (const vec3d< T > &v, const quaternion< T > &rot, const point3d &t)
 
template<typename T >
matrix3x3< T > get_transpose (const matrix3x3< T > &m)
 
template<typename T >
matrix3x3< T > identity3x3 ()
 
template<typename R , typename T >
void invert (R &r, T &t)
 
template<typename T >
double magnitude (const T &p)
 
template<typename Iterator >
double median (Iterator start, Iterator end)
 
template<typename T >
void mult_matrix (const matrix3x3< T > &m1, const matrix3x3< T > &m2, matrix3x3< T > &r)
 
template<typename Rot1 , typename Rot2 , typename Rot3 >
void mult_matrix (const Rot1 &m1, const Rot2 &m2, Rot3 &r)
 
template<typename T >
void mult_matrix_inplace (const matrix3x3< T > &m1, const matrix3x3< T > &m2, matrix3x3< T > &r)
 
template<typename T >
void mult_quaternion (const quaternion< T > &a, const quaternion< T > &b, quaternion< T > &r)
 
template<typename T >
norm (const quaternion< T > &a)
 
template<typename T >
double norm2 (const T &v)
 
template<typename T >
void normalize (quaternion< T > &q)
 
template<typename T >
double normalize (vec3d< T > &p)
 
template<typename T >
quaternion< T > operator* (const quaternion< T > &a, const quaternion< T > &b)
 
template<typename T >
quaternion< T > operator+ (const quaternion< T > &a, const quaternion< T > &b)
 
template<typename T >
quaternion< T > operator~ (const quaternion< T > &a)
 
template<typename T >
matrix3x3< T > quaternion_to_rot_matrix (const quaternion< T > &q)
 
template<typename T >
void relative_motion (const matrix3x3< T > &Ri, const point3d &Ti, const matrix3x3< T > &Rj, const point3d &Tj, matrix3x3< T > &Rij, point3d &Tij)
 
template<typename T >
quaternion< T > rot_matrix_to_quaternion (const matrix3x3< T > &m)
 
template<typename T >
void rotate (vec3d< T > &p, const matrix< T > &rot)
 
template<typename T >
void rotate (vec3d< T > &p, const matrix3x3< T > &rot)
 
template<typename T , typename S >
void rotate (vec3d< T > &p, const matrix< S > &rot)
 
template<typename T , typename S >
void rotate (vec3d< T > &p, const matrix3x3< S > &rot)
 
template<typename T >
void rotate (vec3d< T > &p, const quaternion< T > &rot)
 
template<typename T , typename RotationType >
void rotate_translate (vec3d< T > &v, const RotationType &rot, const point3d &trans)
 
template<typename T >
void set_identity (quaternion< T > &q)
 
template<typename T >
void set_identity (matrix< T > &m, T val=1)
 
template<typename T >
void set_identity (matrix3x3< T > &m, T val=1)
 
template<typename T >
double squared_dist (const vec3d< T > &p1, const vec3d< T > &p2)
 
template<typename T >
void transpose (matrix< T > &m)
 
template<typename T >
void transpose (matrix3x3< T > &m)
 
template<typename T >
void transpose (const matrix< T > &src, matrix< T > &dest)
 
template<typename T >
void transpose (const matrix3x3< T > &src, matrix3x3< T > &dest)
 

Variables

static const double deg_on_rad = 180. / pi
 
static const double pi = M_PI
 
static const double rad_on_deg = pi / 180.
 

Typedef Documentation

typedef vec3d<double> math3d::normal3d

Definition at line 204 of file math3d.h.

typedef vec3d<double> math3d::point3d

Definition at line 205 of file math3d.h.

typedef std::pair<matrix3x3<double>, point3d> math3d::rigid_motion_t

Definition at line 919 of file math3d.h.

Function Documentation

template<typename T >
bool math3d::almost_zero ( a,
double  e 
)
inline

Definition at line 56 of file math3d.h.

template<typename T >
void math3d::conjugate ( quaternion< T > &  q)
inline

Definition at line 681 of file math3d.h.

template<typename T >
vec3d<T> math3d::cross_product ( const vec3d< T > &  v1,
const vec3d< T > &  v2 
)
inline

Definition at line 1150 of file math3d.h.

template<typename T >
double math3d::dist ( const T &  p1,
const T &  p2 
)
inline

Definition at line 1103 of file math3d.h.

template<typename T >
T math3d::dot ( const quaternion< T > &  a,
const quaternion< T > &  b 
)

Definition at line 650 of file math3d.h.

template<typename T >
T math3d::dot_product ( const vec3d< T > &  v1,
const vec3d< T > &  v2 
)
inline

Definition at line 1120 of file math3d.h.

template<typename T , typename S >
double math3d::dot_product ( const vec3d< T > &  v1,
const vec3d< S > &  v2 
)
inline

Definition at line 1126 of file math3d.h.

template<typename T >
T math3d::dot_product ( const quaternion< T > &  p,
const quaternion< T > &  q 
)
inline

Definition at line 1132 of file math3d.h.

template<typename T >
vec3d<T> math3d::get_normalize ( const vec3d< T > &  p)
inline

Definition at line 1095 of file math3d.h.

template<typename T >
vec3d<T> math3d::get_rotate ( const vec3d< T > &  v,
const quaternion< T > &  q 
)
inline

Definition at line 971 of file math3d.h.

template<typename T >
vec3d<T> math3d::get_rotate ( const vec3d< T > &  p,
const matrix3x3< T > &  rot 
)
inline

Definition at line 988 of file math3d.h.

template<typename T >
vec3d<T> math3d::get_rotate_translate ( const vec3d< T > &  p,
const matrix3x3< T > &  rot,
const point3d t 
)
inline

Definition at line 1004 of file math3d.h.

template<typename T >
vec3d<T> math3d::get_rotate_translate ( const vec3d< T > &  p,
const matrix< T > &  rot,
const point3d t 
)
inline

Definition at line 1012 of file math3d.h.

template<typename T >
vec3d<T> math3d::get_rotate_translate ( const vec3d< T > &  p,
const T *  rot,
const T *  t 
)
inline

Definition at line 1023 of file math3d.h.

template<typename T >
vec3d<T> math3d::get_rotate_translate ( const vec3d< T > &  v,
const quaternion< T > &  rot,
const point3d t 
)
inline

Definition at line 1029 of file math3d.h.

template<typename T >
matrix3x3<T> math3d::get_transpose ( const matrix3x3< T > &  m)
inline

Definition at line 827 of file math3d.h.

template<typename T >
matrix3x3<T> math3d::identity3x3 ( )
inline

Definition at line 513 of file math3d.h.

template<typename R , typename T >
void math3d::invert ( R &  r,
T &  t 
)
inline

Inverts a rigid motion.

Definition at line 1039 of file math3d.h.

template<typename T >
double math3d::magnitude ( const T &  p)
inline

Definition at line 1144 of file math3d.h.

template<typename Iterator >
double math3d::median ( Iterator  start,
Iterator  end 
)
inline

Definition at line 1161 of file math3d.h.

template<typename T >
void math3d::mult_matrix ( const matrix3x3< T > &  m1,
const matrix3x3< T > &  m2,
matrix3x3< T > &  r 
)
inline

Definition at line 548 of file math3d.h.

template<typename Rot1 , typename Rot2 , typename Rot3 >
void math3d::mult_matrix ( const Rot1 &  m1,
const Rot2 &  m2,
Rot3 &  r 
)

Definition at line 556 of file math3d.h.

template<typename T >
void math3d::mult_matrix_inplace ( const matrix3x3< T > &  m1,
const matrix3x3< T > &  m2,
matrix3x3< T > &  r 
)
inline

Definition at line 522 of file math3d.h.

template<typename T >
void math3d::mult_quaternion ( const quaternion< T > &  a,
const quaternion< T > &  b,
quaternion< T > &  r 
)
inline

Definition at line 785 of file math3d.h.

template<typename T >
T math3d::norm ( const quaternion< T > &  a)

Definition at line 656 of file math3d.h.

template<typename T >
double math3d::norm2 ( const T &  v)
inline

Definition at line 1138 of file math3d.h.

template<typename T >
void math3d::normalize ( quaternion< T > &  q)
inline

Definition at line 689 of file math3d.h.

template<typename T >
double math3d::normalize ( vec3d< T > &  p)
inline

Definition at line 1076 of file math3d.h.

template<typename T >
quaternion<T> math3d::operator* ( const quaternion< T > &  a,
const quaternion< T > &  b 
)

Definition at line 662 of file math3d.h.

template<typename T >
quaternion<T> math3d::operator+ ( const quaternion< T > &  a,
const quaternion< T > &  b 
)

Definition at line 642 of file math3d.h.

template<typename T >
quaternion<T> math3d::operator~ ( const quaternion< T > &  a)

Definition at line 675 of file math3d.h.

template<typename T >
matrix3x3<T> math3d::quaternion_to_rot_matrix ( const quaternion< T > &  q)

Definition at line 764 of file math3d.h.

template<typename T >
void math3d::relative_motion ( const matrix3x3< T > &  Ri,
const point3d Ti,
const matrix3x3< T > &  Rj,
const point3d Tj,
matrix3x3< T > &  Rij,
point3d Tij 
)

Computes the rigid motion bringing points expressed in j-coordinates towards the world i, i.e.: Pi = Rij * Pj + Tij

Definition at line 1054 of file math3d.h.

template<typename T >
quaternion<T> math3d::rot_matrix_to_quaternion ( const matrix3x3< T > &  m)

Definition at line 711 of file math3d.h.

template<typename T >
void math3d::rotate ( vec3d< T > &  p,
const matrix< T > &  rot 
)

Definition at line 922 of file math3d.h.

template<typename T >
void math3d::rotate ( vec3d< T > &  p,
const matrix3x3< T > &  rot 
)

Definition at line 934 of file math3d.h.

template<typename T , typename S >
void math3d::rotate ( vec3d< T > &  p,
const matrix< S > &  rot 
)

Definition at line 943 of file math3d.h.

template<typename T , typename S >
void math3d::rotate ( vec3d< T > &  p,
const matrix3x3< S > &  rot 
)
inline

Definition at line 955 of file math3d.h.

template<typename T >
void math3d::rotate ( vec3d< T > &  p,
const quaternion< T > &  rot 
)
inline

Definition at line 964 of file math3d.h.

template<typename T , typename RotationType >
void math3d::rotate_translate ( vec3d< T > &  v,
const RotationType &  rot,
const point3d trans 
)
inline

Definition at line 997 of file math3d.h.

template<typename T >
void math3d::set_identity ( quaternion< T > &  q)
inline

Definition at line 703 of file math3d.h.

template<typename T >
void math3d::set_identity ( matrix< T > &  m,
val = 1 
)

Definition at line 876 of file math3d.h.

template<typename T >
void math3d::set_identity ( matrix3x3< T > &  m,
val = 1 
)

Definition at line 901 of file math3d.h.

template<typename T >
double math3d::squared_dist ( const vec3d< T > &  p1,
const vec3d< T > &  p2 
)
inline

Definition at line 1111 of file math3d.h.

template<typename T >
void math3d::transpose ( matrix< T > &  m)

Definition at line 798 of file math3d.h.

template<typename T >
void math3d::transpose ( matrix3x3< T > &  m)
inline

Definition at line 815 of file math3d.h.

template<typename T >
void math3d::transpose ( const matrix< T > &  src,
matrix< T > &  dest 
)

Definition at line 844 of file math3d.h.

template<typename T >
void math3d::transpose ( const matrix3x3< T > &  src,
matrix3x3< T > &  dest 
)
inline

Definition at line 862 of file math3d.h.

Variable Documentation

const double math3d::deg_on_rad = 180. / pi
static

Definition at line 53 of file math3d.h.

const double math3d::pi = M_PI
static

Definition at line 51 of file math3d.h.

const double math3d::rad_on_deg = pi / 180.
static

Definition at line 52 of file math3d.h.



trac_ik_lib
Author(s): Patrick Beeson, Barrett Ames
autogenerated on Tue Jun 1 2021 02:38:35