|
| double | gams::pose::simple_rotate::calc_angle (const ReferenceFrameType *self, double rx1, double ry1, double rz1, double rx2, double ry2, double rz2) |
| | Calculates smallest angle between two AngularVectors. More...
|
| |
| void | gams::pose::default_normalize_angular (const ReferenceFrameType *, double &, double &, double &) |
| |
| void | gams::pose::default_normalize_linear (const ReferenceFrameType *, double &, double &, double &) |
| |
| void | gams::pose::default_normalize_pose (const ReferenceFrameType *self, double &x, double &y, double &z, double &rx, double &ry, double &rz) |
| |
| GAMS_EXPORT const ReferenceFrame * | gams::pose::find_common_frame (const ReferenceFrame *from, const ReferenceFrame *to, std::vector< const ReferenceFrame * > *to_stack=nullptr) |
| | Helper function to find the common frame between two frames. More...
|
| |
| | gams::pose::MADARA_MAKE_VAL_SUPPORT_TEST (nano_timestamp, x,(x.nanos(), x.nanos(0UL))) |
| | Type trait to detect stamped types. More...
|
| |
| static std::string & | gams::pose::impl::make_kb_key (std::string &prefix, const std::string &id) |
| |
| static std::string & | gams::pose::impl::make_kb_key (std::string &prefix, uint64_t timestamp) |
| |
| static std::string & | gams::pose::impl::make_kb_key (std::string &prefix, const std::string &id, uint64_t timestamp) |
| |
| void | gams::pose::simple_rotate::orient_linear_vec (double &x, double &y, double &z, double rx, double ry, double rz, bool reverse=false) |
| | Rotates a LinearVector according to a AngularVector. More...
|
| |
| void | gams::pose::simple_rotate::transform_angular_from_origin (const ReferenceFrameType *origin, const ReferenceFrameType *self, double orx, double ory, double orz, double &rx, double &ry, double &rz) |
| | Transform AngularVector in-place from its origin frame. More...
|
| |
| void | gams::pose::simple_rotate::transform_angular_to_origin (const ReferenceFrameType *origin, const ReferenceFrameType *self, double orx, double ory, double orz, double &rx, double &ry, double &rz) |
| | Transform AngularVector in-place into its origin frame from this frame. More...
|
| |
| void | gams::pose::simple_rotate::transform_pose_from_origin (const ReferenceFrameType *origin, const ReferenceFrameType *self, double ox, double oy, double oz, double orx, double ory, double orz, double &x, double &y, double &z, double &rx, double &ry, double &rz, bool fixed) |
| | Transform pose in-place from its origin frame Simply applies linear and angular transforms independantly. More...
|
| |
| void | gams::pose::simple_rotate::transform_pose_to_origin (const ReferenceFrameType *origin, const ReferenceFrameType *self, double ox, double oy, double oz, double orx, double ory, double orz, double &x, double &y, double &z, double &rx, double &ry, double &rz, bool fixed) |
| | Transform pose in-place into its origin frame from this frame. More...
|
| |
| uint64_t | gams::pose::try_get_nano_time (uint64_t def) |
| | Base case: return default. More...
|
| |
| template<typename T , typename... Args> |
| auto | gams::pose::try_get_nano_time (uint64_t, const T &v, Args &&...) -> typename std::enable_if< supports_nano_timestamp< T >::value, uint64_t >::type |
| | If T supports nanos(), call it and return value. More...
|
| |
| template<typename T , typename... Args> |
| auto | gams::pose::try_get_nano_time (uint64_t def, const T &, Args &&...args) -> typename std::enable_if<!supports_nano_timestamp< T >::value, uint64_t >::type |
| | If T doesn't support nanos(), recurse to remaining args. More...
|
| |