17template <
typename T>
const fmat<T, 3, 3>& pose_orientation(
const fmat<T, 3, 4>& pose) {
return reinterpret_cast<const fmat<T, 3, 3>&
>(pose); }
20template <
typename T>
const fvec<T, 3>& pose_position(
const fmat<T, 3, 4>& pose) {
return reinterpret_cast<const fvec<T, 3>&
>(pose(0, 3)); }
matrix of fixed size dimensions
A vector with zero based index.
vec_type get_rotated(const vec_type &v) const
return rotated vector
void put_matrix(mat_type &M) const
compute equivalent 3x3 rotation matrix
fvec< T, 3 > pose_transform_vector(const fmat< T, 3, 4 > &pose, const fvec< T, 3 > &v)
transform vector with pose matrix
fvec< T, 3 > & pose_position(fmat< T, 3, 4 > &pose)
extract position vector from pose matrix
fmat< T, 3, 4 > pose_concat(const fmat< T, 3, 4 > &pose_1, const fmat< T, 3, 4 > &pose_2)
return concatenate of two pose transformations
void 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
fvec< T, 3 > pose_transform_point(const fmat< T, 3, 4 > &pose, const fvec< T, 3 > &p)
transform point with pose matrix
void pose_append(fmat< T, 3, 4 > &pose_1, const fmat< T, 3, 4 > &pose_2)
inplace concatenation of a pose matrix
fmat< T, 3, 4 > pose_construct(const fmat< T, 3, 3 > &orientation, const fvec< T, 3 > &position)
construct pose from rotation matrix and position vector
fmat< T, 3, 3 > & pose_orientation(fmat< T, 3, 4 > &pose)
extract orientation matrix from pose matrix
fvec< T, 3 > inverse_pose_transform_vector(const fmat< T, 3, 4 > &pose, const fvec< T, 3 > &v)
transform vector with inverse of pose matrix
void invert_pose(fmat< T, 3, 4 > &pose)
inplace inversion of pose transformation
fmat< T, 3, 4 > pose_inverse(const fmat< T, 3, 4 > &pose)
return a pose matrix with the inverse pose transformation
fvec< T, 3 > inverse_pose_transform_point(const fmat< T, 3, 4 > &pose, const fvec< T, 3 > &p)
transform point with inverse of pose matrix