cgv
pose.h File Reference
#include "fvec.h"
#include "fmat.h"
#include "quaternion.h"
#include <cassert>

Go to the source code of this file.

Namespaces

 cgv
 the cgv namespace
 
 cgv::math
 namespace with classes and algorithms for mathematics
 

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 >
fvec< T, 3 > & cgv::math::pose_position (fmat< T, 3, 4 > &pose)
 extract position vector from pose matrix
 
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
 

Detailed Description

helper functions to work with poses that can be represented with 3x4 matrix or quaternion plus vector