emlabcpp
modern opinionated embedded C++ library
pose.h File Reference
#include "./point.h"
#include "./quaternion.h"
#include <utility>
+ Include dependency graph for pose.h:

Go to the source code of this file.

Classes

struct  emlabcpp::pose_distance
 distance between two poses in space, represented as 'space distance' and 'angular distance' More...
 
struct  emlabcpp::pose
 represents orientation and position in 3D space More...
 

Namespaces

 emlabcpp
 MIT License.
 

Functions

constexpr std::size_t emlabcpp::steps (pose_distance dist, float dist_step, float angle_step)
 returns steps necessary for linear interpolation of distance between poses 'dis', such that: More...
 
constexpr bool emlabcpp::operator< (pose const &x, pose const &y)
 
constexpr bool emlabcpp::operator== (pose const &x, pose const &y)
 compares poses on their position and orientation More...
 
constexpr bool emlabcpp::operator!= (pose const &x, pose const &y)
 negation of operator== between poses More...
 
constexpr pose_distance emlabcpp::distance_of (pose const &x, pose const &y)
 returns PoseDistance between provided poses More...
 
constexpr pose emlabcpp::lin_interp (pose const &from, pose const &goal, float factor)
 linear interpolation between base se and goal pose, with factor 0 'base' is returned, with factor 1 'goal' is returned. More...
 
std::vector< pose > emlabcpp::lineary_interpolate_path (std::vector< pose > const &ipath, float d_step, float a_step)
 
constexpr point< 3 > emlabcpp::transform (point< 3 > const &a, pose const &transformation)
 Point A is rotated based on 'transformation' orientation and than moved based on 'transformation' position. More...
 
constexpr vector< 3 > emlabcpp::transform (vector< 3 > const &v, pose const &transformation)
 
constexpr pose emlabcpp::transform (pose const &x, pose const &transformation)
 Pose X is rotated based on 'transformation' orientation and than moved based on 'transformation' position. More...
 
template<typename T >
constexpr auto emlabcpp::transform (min_max< T > const &mm, pose const &transformation)
 
constexpr pose emlabcpp::inverse (pose const &x)
 
template<typename T >
constexpr auto emlabcpp::inverse_transform (T const &item, pose const &transformation)
 
constexpr pose emlabcpp::rotate (pose const &x, quaternion const &quat)
 Pose X is rotated based on quaternion 'quad'. More...
 

Class Documentation

◆ emlabcpp::pose_distance

struct emlabcpp::pose_distance

distance between two poses in space, represented as 'space distance' and 'angular distance'

Class Members
float angle_dist
float dist