|
cgv
|
helper functions to work with poses that can be represented with 3x4 matrix or quaternion plus vector More...
#include "fvec.h"#include "fmat.h"#include "quaternion.h"#include <cassert>Go to the source code of this file.
Namespaces | |
| namespace | cgv |
| the cgv namespace | |
Functions | |
| template<typename T > | |
| fmat< T, 3, 3 > & | cgv::math::pose_orientation (fmat< T, 3, 4 > &pose) |
| extract orientation matrix from pose matrix | |
| template<typename T > | |
| const fmat< T, 3, 3 > & | cgv::math::pose_orientation (const fmat< T, 3, 4 > &pose) |
| template<typename T > | |
| fvec< T, 3 > & | cgv::math::pose_position (fmat< T, 3, 4 > &pose) |
| extract position vector from pose matrix | |
| template<typename T > | |
| const fvec< T, 3 > & | cgv::math::pose_position (const fmat< T, 3, 4 > &pose) |
| template<typename T > | |
| fvec< T, 3 > | cgv::math::pose_transform_point (const fmat< T, 3, 4 > &pose, const fvec< T, 3 > &p) |
| transform point with pose matrix | |
| template<typename T > | |
| fvec< T, 3 > | cgv::math::pose_transform_point (const quaternion< T > &q, const fvec< T, 3 > &pos, const fvec< T, 3 > &p) |
| transform point with pose quaternion-position pair | |
| template<typename T > | |
| fvec< T, 3 > | cgv::math::pose_transform_vector (const fmat< T, 3, 4 > &pose, const fvec< T, 3 > &v) |
| transform vector with pose matrix | |
| template<typename T > | |
| fvec< T, 3 > | cgv::math::inverse_pose_transform_point (const fmat< T, 3, 4 > &pose, const fvec< T, 3 > &p) |
| transform point with inverse of pose matrix | |
| template<typename T > | |
| fvec< T, 3 > | cgv::math::inverse_pose_transform_vector (const fmat< T, 3, 4 > &pose, const fvec< T, 3 > &v) |
| transform vector with inverse of pose matrix | |
| template<typename T > | |
| void | cgv::math::invert_pose (fmat< T, 3, 4 > &pose) |
| inplace inversion of pose transformation | |
| template<typename T > | |
| fmat< T, 3, 4 > | cgv::math::pose_inverse (const fmat< T, 3, 4 > &pose) |
| return a pose matrix with the inverse pose transformation | |
| template<typename T > | |
| fmat< T, 3, 4 > | cgv::math::pose_construct (const fmat< T, 3, 3 > &orientation, const fvec< T, 3 > &position) |
| construct pose from rotation matrix and position vector | |
| template<typename T > | |
| fmat< T, 3, 4 > | cgv::math::pose_construct (const quaternion< T > &orientation, const fvec< T, 3 > &position) |
| construct pose from rotation quaternion and position vector | |
| template<typename T > | |
| void | cgv::math::pose_append (fmat< T, 3, 4 > &pose_1, const fmat< T, 3, 4 > &pose_2) |
| inplace concatenation of a pose matrix | |
| template<typename T > | |
| void | cgv::math::pose_transform (const fmat< T, 3, 4 > &pose_transform, fmat< T, 3, 4 > &pose) |
| inplace transformation of a pose matrix with another pose transformation matrix | |
| template<typename T > | |
| fmat< T, 3, 4 > | cgv::math::pose_concat (const fmat< T, 3, 4 > &pose_1, const fmat< T, 3, 4 > &pose_2) |
| return concatenate of two pose transformations | |
helper functions to work with poses that can be represented with 3x4 matrix or quaternion plus vector
Definition in file pose.h.
| fvec< T, 3 > cgv::math::inverse_pose_transform_point | ( | const fmat< T, 3, 4 > & | pose, |
| const fvec< T, 3 > & | p | ||
| ) |
transform point with inverse of pose matrix
Definition at line 33 of file pose.h.
References cgv::math::inverse_pose_transform_point(), cgv::math::pose_orientation(), and cgv::math::pose_position().
Referenced by cgv::math::inverse_pose_transform_point().
| fvec< T, 3 > cgv::math::inverse_pose_transform_vector | ( | const fmat< T, 3, 4 > & | pose, |
| const fvec< T, 3 > & | v | ||
| ) |
transform vector with inverse of pose matrix
Definition at line 36 of file pose.h.
References cgv::math::inverse_pose_transform_vector(), and cgv::math::pose_orientation().
Referenced by cgv::math::inverse_pose_transform_vector().
| void cgv::math::invert_pose | ( | fmat< T, 3, 4 > & | pose | ) |
inplace inversion of pose transformation
Definition at line 38 of file pose.h.
References cgv::math::invert_pose(), cgv::math::pose_orientation(), and cgv::math::pose_position().
Referenced by cgv::math::invert_pose(), and cgv::math::pose_inverse().
| void cgv::math::pose_append | ( | fmat< T, 3, 4 > & | pose_1, |
| const fmat< T, 3, 4 > & | pose_2 | ||
| ) |
inplace concatenation of a pose matrix
Definition at line 46 of file pose.h.
References cgv::math::pose_append(), cgv::math::pose_orientation(), and cgv::math::pose_position().
Referenced by cgv::math::pose_append(), and cgv::math::pose_concat().
| fmat< T, 3, 4 > cgv::math::pose_concat | ( | const fmat< T, 3, 4 > & | pose_1, |
| const fmat< T, 3, 4 > & | pose_2 | ||
| ) |
return concatenate of two pose transformations
Definition at line 56 of file pose.h.
References cgv::math::pose_append(), and cgv::math::pose_concat().
Referenced by cgv::math::pose_concat().
| fmat< T, 3, 4 > cgv::math::pose_construct | ( | const fmat< T, 3, 3 > & | orientation, |
| const fvec< T, 3 > & | position | ||
| ) |
construct pose from rotation matrix and position vector
Definition at line 42 of file pose.h.
References cgv::math::pose_construct(), cgv::math::pose_orientation(), and cgv::math::pose_position().
Referenced by cgv::math::camera< T >::camera(), cgv::math::pose_construct(), and cgv::math::pose_construct().
| fmat< T, 3, 4 > cgv::math::pose_construct | ( | const quaternion< T > & | orientation, |
| const fvec< T, 3 > & | position | ||
| ) |
construct pose from rotation quaternion and position vector
Definition at line 44 of file pose.h.
References cgv::math::pose_construct(), cgv::math::pose_orientation(), cgv::math::pose_position(), and cgv::math::quaternion< T >::put_matrix().
| fmat< T, 3, 4 > cgv::math::pose_inverse | ( | const fmat< T, 3, 4 > & | pose | ) |
return a pose matrix with the inverse pose transformation
Definition at line 40 of file pose.h.
References cgv::math::invert_pose(), and cgv::math::pose_inverse().
Referenced by cgv::math::pose_inverse().
| const fmat< T, 3, 3 > & cgv::math::pose_orientation | ( | const fmat< T, 3, 4 > & | pose | ) |
| fmat< T, 3, 3 > & cgv::math::pose_orientation | ( | fmat< T, 3, 4 > & | pose | ) |
extract orientation matrix from pose matrix
Definition at line 16 of file pose.h.
References cgv::math::pose_orientation().
Referenced by cgv::math::inverse_pose_transform_point(), cgv::math::inverse_pose_transform_vector(), cgv::math::invert_pose(), cgv::math::pose_append(), cgv::math::pose_construct(), cgv::math::pose_construct(), cgv::math::pose_orientation(), cgv::math::pose_transform(), cgv::math::pose_transform_point(), and cgv::math::pose_transform_vector().
| const fvec< T, 3 > & cgv::math::pose_position | ( | const fmat< T, 3, 4 > & | pose | ) |
| fvec< T, 3 > & cgv::math::pose_position | ( | fmat< T, 3, 4 > & | pose | ) |
extract position vector from pose matrix
Definition at line 19 of file pose.h.
References cgv::math::pose_position().
Referenced by cgv::math::inverse_pose_transform_point(), cgv::math::invert_pose(), cgv::math::pose_append(), cgv::math::pose_construct(), cgv::math::pose_construct(), cgv::math::pose_position(), cgv::math::pose_transform(), and cgv::math::pose_transform_point().
| void cgv::math::pose_transform | ( | const fmat< T, 3, 4 > & | pose_transform, |
| fmat< T, 3, 4 > & | pose | ||
| ) |
inplace transformation of a pose matrix with another pose transformation matrix
Definition at line 51 of file pose.h.
References cgv::math::pose_orientation(), cgv::math::pose_position(), and cgv::math::pose_transform().
Referenced by cgv::math::pose_transform().
| fvec< T, 3 > cgv::math::pose_transform_point | ( | const fmat< T, 3, 4 > & | pose, |
| const fvec< T, 3 > & | p | ||
| ) |
transform point with pose matrix
Definition at line 24 of file pose.h.
References cgv::math::pose_orientation(), cgv::math::pose_position(), and cgv::math::pose_transform_point().
Referenced by cgv::math::pose_transform_point(), and cgv::math::pose_transform_point().
| fvec< T, 3 > cgv::math::pose_transform_point | ( | const quaternion< T > & | q, |
| const fvec< T, 3 > & | pos, | ||
| const fvec< T, 3 > & | p | ||
| ) |
transform point with pose quaternion-position pair
Definition at line 27 of file pose.h.
References cgv::math::quaternion< T >::get_rotated(), and cgv::math::pose_transform_point().
| fvec< T, 3 > cgv::math::pose_transform_vector | ( | const fmat< T, 3, 4 > & | pose, |
| const fvec< T, 3 > & | v | ||
| ) |
transform vector with pose matrix
Definition at line 30 of file pose.h.
References cgv::math::pose_orientation(), and cgv::math::pose_transform_vector().
Referenced by cgv::math::pose_transform_vector().