#include <string>
#include <iostream>
#include <cmath>
#include <vector>
#include <stdexcept>
#include <cstdlib>
Go to the source code of this file.
Classes | |
struct | math3d::color_rgb24 |
class | math3d::invalid_vector |
class | math3d::matrix< T > |
struct | math3d::matrix3x3< T > |
class | math3d::oriented_point3d |
struct | math3d::quaternion< T > |
struct | math3d::triangle |
struct | math3d::vec3d< T > |
Namespaces | |
namespace | math3d |
Typedefs | |
typedef vec3d< double > | math3d::normal3d |
typedef vec3d< double > | math3d::point3d |
typedef std::pair< matrix3x3 < double >, point3d > | math3d::rigid_motion_t |
typedef unsigned int | uint32_t |
typedef unsigned char | uint8_t |
Functions | |
template<typename T > | |
bool | math3d::almost_zero (T a, double e) |
template<typename T > | |
void | math3d::conjugate (quaternion< T > &q) |
template<typename T > | |
vec3d< T > | math3d::cross_product (const vec3d< T > &v1, const vec3d< T > &v2) |
template<typename T > | |
double | math3d::dist (const T &p1, const T &p2) |
template<typename T > | |
T | math3d::dot (const quaternion< T > &a, const quaternion< T > &b) |
template<typename T > | |
T | math3d::dot_product (const vec3d< T > &v1, const vec3d< T > &v2) |
template<typename T , typename S > | |
double | math3d::dot_product (const vec3d< T > &v1, const vec3d< S > &v2) |
template<typename T > | |
T | math3d::dot_product (const quaternion< T > &p, const quaternion< T > &q) |
template<typename T > | |
vec3d< T > | math3d::get_normalize (const vec3d< T > &p) |
template<typename T > | |
vec3d< T > | math3d::get_rotate (const vec3d< T > &v, const quaternion< T > &q) |
template<typename T > | |
vec3d< T > | math3d::get_rotate (const vec3d< T > &p, const matrix3x3< T > &rot) |
template<typename T > | |
vec3d< T > | math3d::get_rotate_translate (const vec3d< T > &p, const matrix3x3< T > &rot, const point3d &t) |
template<typename T > | |
vec3d< T > | math3d::get_rotate_translate (const vec3d< T > &p, const matrix< T > &rot, const point3d &t) |
template<typename T > | |
vec3d< T > | math3d::get_rotate_translate (const vec3d< T > &p, const T *rot, const T *t) |
template<typename T > | |
vec3d< T > | math3d::get_rotate_translate (const vec3d< T > &v, const quaternion< T > &rot, const point3d &t) |
template<typename T > | |
matrix3x3< T > | math3d::get_transpose (const matrix3x3< T > &m) |
template<typename T > | |
matrix3x3< T > | math3d::identity3x3 () |
template<typename R , typename T > | |
void | math3d::invert (R &r, T &t) |
template<typename T > | |
double | math3d::magnitude (const T &p) |
template<typename Iterator > | |
double | math3d::median (Iterator start, Iterator end) |
template<typename T > | |
void | math3d::mult_matrix (const matrix3x3< T > &m1, const matrix3x3< T > &m2, matrix3x3< T > &r) |
template<typename Rot1 , typename Rot2 , typename Rot3 > | |
void | math3d::mult_matrix (const Rot1 &m1, const Rot2 &m2, Rot3 &r) |
template<typename T > | |
void | math3d::mult_matrix_inplace (const matrix3x3< T > &m1, const matrix3x3< T > &m2, matrix3x3< T > &r) |
template<typename T > | |
void | math3d::mult_quaternion (const quaternion< T > &a, const quaternion< T > &b, quaternion< T > &r) |
template<typename T > | |
T | math3d::norm (const quaternion< T > &a) |
template<typename T > | |
double | math3d::norm2 (const T &v) |
template<typename T > | |
void | math3d::normalize (quaternion< T > &q) |
template<typename T > | |
double | math3d::normalize (vec3d< T > &p) |
template<typename T > | |
quaternion< T > | math3d::operator* (const quaternion< T > &a, const quaternion< T > &b) |
template<typename T > | |
quaternion< T > | math3d::operator+ (const quaternion< T > &a, const quaternion< T > &b) |
template<typename T > | |
quaternion< T > | math3d::operator~ (const quaternion< T > &a) |
template<typename T > | |
matrix3x3< T > | math3d::quaternion_to_rot_matrix (const quaternion< T > &q) |
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) |
template<typename T > | |
quaternion< T > | math3d::rot_matrix_to_quaternion (const matrix3x3< T > &m) |
template<typename T > | |
void | math3d::rotate (vec3d< T > &p, const matrix< T > &rot) |
template<typename T > | |
void | math3d::rotate (vec3d< T > &p, const matrix3x3< T > &rot) |
template<typename T , typename S > | |
void | math3d::rotate (vec3d< T > &p, const matrix< S > &rot) |
template<typename T , typename S > | |
void | math3d::rotate (vec3d< T > &p, const matrix3x3< S > &rot) |
template<typename T > | |
void | math3d::rotate (vec3d< T > &p, const quaternion< T > &rot) |
template<typename T , typename RotationType > | |
void | math3d::rotate_translate (vec3d< T > &v, const RotationType &rot, const point3d &trans) |
template<typename T > | |
void | math3d::set_identity (quaternion< T > &q) |
template<typename T > | |
void | math3d::set_identity (matrix< T > &m, T val=1) |
template<typename T > | |
void | math3d::set_identity (matrix3x3< T > &m, T val=1) |
template<typename T > | |
double | math3d::squared_dist (const vec3d< T > &p1, const vec3d< T > &p2) |
template<typename T > | |
void | math3d::transpose (matrix< T > &m) |
template<typename T > | |
void | math3d::transpose (matrix3x3< T > &m) |
template<typename T > | |
void | math3d::transpose (const matrix< T > &src, matrix< T > &dest) |
template<typename T > | |
void | math3d::transpose (const matrix3x3< T > &src, matrix3x3< T > &dest) |
Variables | |
static const double | math3d::deg_on_rad = 180. / pi |
static const double | math3d::pi = M_PI |
static const double | math3d::rad_on_deg = pi / 180. |