GAMS
1.2.2
|
#include "ReferenceFrame.h"
#include "gams/GamsExport.h"
#include <string>
#include <cfloat>
#include <utility>
#include "gams/CPP11_compat.h"
#include "madara/knowledge/containers/DoubleVector.h"
#include "madara/knowledge/containers/NativeDoubleVector.h"
#include "ReferenceFrameFwd.h"
#include "Coordinate.inl"
#include "Framed.h"
#include "Stamped.h"
Go to the source code of this file.
Namespaces | |
gams | |
Contains all GAMS-related tools, classes and code. | |
gams::pose | |
Provides position and orientation primitives. | |
gams::pose::units | |
Type tags to indicate the dimension a coordinate lies within. | |
Macros | |
#define | GAMS_POSE_MAKE_BINARY_VEC_SCALAR_OP(op) |
Generates Eigen passthroughs for binary ops betwen vector and scalar. More... | |
#define | GAMS_POSE_MAKE_COMPOSITE_VEC_SCALAR_OP(op) |
Generates composite assignment operators for Coordinates, using Eigen. More... | |
#define | GAMS_POSE_MAKE_COMPOSITE_VECS_OP(op) |
Generates Eigen passthroughs on vectors. More... | |
#define | GAMS_POSE_MAKE_COORDINATE_COMPARE_OPS(op) |
Generates comparison operators for coordinate types. More... | |
#define | GAMS_POSE_MAKE_COORDINATE_TYPE(name, units) |
Creates the three variants for each coordinate type: {Coordinate}Vector: just the coordinate values alone {Coordinate}: values plus a bound frame Stamped{Coordinate}: values, frame, and timestamp. More... | |
#define | GAMS_POSE_MAKE_VEC_SCALAR_OPS(op) |
#define | INVAL_COORD DBL_MAX |
Functions | |
template<typename LDerived , typename RDerived , typename Units > | |
bool | gams::pose::operator!= (const BasicVector< LDerived, Units > &lhs, const BasicVector< RDerived, Units > &rhs) |
template<typename LDerived , typename RDerived , typename Units > | |
bool | gams::pose::operator!= (const Framed< BasicVector< LDerived, Units >> &lhs, const Framed< BasicVector< RDerived, Units >> &rhs) |
template<typename LDerived , typename RDerived , typename Units > | |
bool | gams::pose::operator!= (const Stamped< Framed< BasicVector< LDerived, Units >>> &lhs, const Stamped< Framed< BasicVector< RDerived, Units >>> &rhs) |
template<typename Derived , typename Units , typename Scalar > | |
auto | gams::pose::operator* (Scalar scalar, const BasicVector< Derived, Units > &vec) -> decltype(vec *scalar) |
template<typename Derived , typename Units , typename Scalar > | |
auto | gams::pose::operator* (const BasicVector< Derived, Units > &vec, Scalar scalar) -> typename std::enable_if< std::is_arithmetic< Scalar >::value &&BasicVector< Derived, Units >::free(), typename BasicVector< Derived, Units >::derived_type >::type |
template<typename Derived , typename Units , typename Scalar > | |
auto | gams::pose::operator*= (BasicVector< Derived, Units > &vec, Scalar scalar) -> typename std::enable_if< std::is_arithmetic< Scalar >::value &&BasicVector< Derived, Units >::free(), typename BasicVector< Derived, Units >::derived_type & >::type |
template<typename LDerived , typename LUnits , typename RDerived , typename RUnits > | |
auto | gams::pose::operator+ (const BasicVector< LDerived, LUnits > &lhs, const BasicVector< RDerived, RUnits > &rhs) -> typename std::enable_if< RDerived::free(), LDerived >::type |
Pass through to Eigen operator- on vectors, if RHS is free. More... | |
template<typename LDerived , typename RDerived , typename Units > | |
auto | gams::pose::operator+= (BasicVector< LDerived, Units > &lhs, const Eigen::MatrixBase< RDerived > &rhs) -> typename std::enable_if< unit_traits< Units >::positional, LDerived & >::type |
template<typename LDerived , typename RDerived , typename Units > | |
auto | gams::pose::operator+= (BasicVector< LDerived, Units > &lhs, const BasicVector< RDerived, Units > &rhs) -> typename std::enable_if< unit_traits< Units >::positional &&unit_traits< Units >::free, LDerived & >::type |
template<typename LDerived , typename RDerived , typename Units > | |
auto | gams::pose::operator+= (BasicVector< LDerived, units::absolute< Units >> &lhs, const BasicVector< RDerived, Units > &rhs) -> typename std::enable_if< unit_traits< Units >::positional &&unit_traits< Units >::free, LDerived & >::type |
template<typename LDerived , typename LUnits , typename RDerived , typename RUnits > | |
auto | gams::pose::operator- (const BasicVector< LDerived, LUnits > &lhs, const BasicVector< RDerived, RUnits > &rhs) -> typename std::enable_if< LDerived::free()&&RDerived::free(), LDerived >::type |
Pass through to Eigen operator- on vectors, for free types. More... | |
template<typename LDerived , typename RDerived , typename Units > | |
auto | gams::pose::operator-= (BasicVector< LDerived, Units > &lhs, const Eigen::MatrixBase< RDerived > &rhs) -> typename std::enable_if< unit_traits< Units >::positional, LDerived & >::type |
template<typename LDerived , typename RDerived , typename Units > | |
auto | gams::pose::operator-= (BasicVector< LDerived, Units > &lhs, const BasicVector< RDerived, Units > &rhs) -> typename std::enable_if< unit_traits< Units >::positional &&unit_traits< Units >::free, LDerived & >::type |
template<typename LDerived , typename RDerived , typename Units > | |
auto | gams::pose::operator-= (BasicVector< LDerived, units::absolute< Units >> &lhs, const BasicVector< RDerived, Units > &rhs) -> typename std::enable_if< unit_traits< Units >::positional &&unit_traits< Units >::free, LDerived & >::type |
template<typename Derived , typename Units , typename Scalar > | |
auto | gams::pose::operator/ (const BasicVector< Derived, Units > &vec, Scalar scalar) -> typename std::enable_if< std::is_arithmetic< Scalar >::value &&BasicVector< Derived, Units >::free(), typename BasicVector< Derived, Units >::derived_type >::type |
template<typename Derived , typename Units , typename Scalar > | |
auto | gams::pose::operator/ (Scalar scalar, const BasicVector< Derived, Units > &vec) -> decltype(vec/scalar) |
template<typename Derived , typename Units , typename Scalar > | |
auto | gams::pose::operator/= (BasicVector< Derived, Units > &vec, Scalar scalar) -> typename std::enable_if< std::is_arithmetic< Scalar >::value &&BasicVector< Derived, Units >::free(), typename BasicVector< Derived, Units >::derived_type & >::type |
template<typename LDerived , typename RDerived , typename Units > | |
bool | gams::pose::operator< (const BasicVector< LDerived, Units > &lhs, const BasicVector< RDerived, Units > &rhs) |
template<typename LDerived , typename RDerived , typename Units > | |
bool | gams::pose::operator< (const Framed< BasicVector< LDerived, Units >> &lhs, const Framed< BasicVector< RDerived, Units >> &rhs) |
template<typename LDerived , typename RDerived , typename Units > | |
bool | gams::pose::operator< (const Stamped< Framed< BasicVector< LDerived, Units >>> &lhs, const Stamped< Framed< BasicVector< RDerived, Units >>> &rhs) |
std::ostream & | gams::pose::operator<< (std::ostream &o, const Eigen::Vector3d &v) |
template<typename Derived , typename Units > | |
std::ostream & | gams::pose::operator<< (std::ostream &o, const BasicVector< Derived, Units > &v) |
template<typename LDerived , typename RDerived , typename Units > | |
bool | gams::pose::operator<= (const Stamped< Framed< BasicVector< LDerived, Units >>> &lhs, const Stamped< Framed< BasicVector< RDerived, Units >>> &rhs) |
template<typename LDerived , typename RDerived , typename Units > | |
bool | gams::pose::operator<= (const BasicVector< LDerived, Units > &lhs, const BasicVector< RDerived, Units > &rhs) |
template<typename LDerived , typename RDerived , typename Units > | |
bool | gams::pose::operator<= (const Framed< BasicVector< LDerived, Units >> &lhs, const Framed< BasicVector< RDerived, Units >> &rhs) |
template<typename LDerived , typename RDerived , typename Units > | |
bool | gams::pose::operator== (const Stamped< Framed< BasicVector< LDerived, Units >>> &lhs, const Stamped< Framed< BasicVector< RDerived, Units >>> &rhs) |
template<typename LDerived , typename RDerived , typename Units > | |
bool | gams::pose::operator== (const Framed< BasicVector< LDerived, Units >> &lhs, const Framed< BasicVector< RDerived, Units >> &rhs) |
template<typename LDerived , typename RDerived , typename Units > | |
bool | gams::pose::operator== (const BasicVector< LDerived, Units > &lhs, const BasicVector< RDerived, Units > &rhs) |
template<typename LDerived , typename RDerived , typename Units > | |
bool | gams::pose::operator> (const Framed< BasicVector< LDerived, Units >> &lhs, const Framed< BasicVector< RDerived, Units >> &rhs) |
template<typename LDerived , typename RDerived , typename Units > | |
bool | gams::pose::operator> (const Stamped< Framed< BasicVector< LDerived, Units >>> &lhs, const Stamped< Framed< BasicVector< RDerived, Units >>> &rhs) |
template<typename LDerived , typename RDerived , typename Units > | |
bool | gams::pose::operator> (const BasicVector< LDerived, Units > &lhs, const BasicVector< RDerived, Units > &rhs) |
template<typename LDerived , typename RDerived , typename Units > | |
bool | gams::pose::operator>= (const BasicVector< LDerived, Units > &lhs, const BasicVector< RDerived, Units > &rhs) |
template<typename LDerived , typename RDerived , typename Units > | |
bool | gams::pose::operator>= (const Stamped< Framed< BasicVector< LDerived, Units >>> &lhs, const Stamped< Framed< BasicVector< RDerived, Units >>> &rhs) |
template<typename LDerived , typename RDerived , typename Units > | |
bool | gams::pose::operator>= (const Framed< BasicVector< LDerived, Units >> &lhs, const Framed< BasicVector< RDerived, Units >> &rhs) |
Eigen::Vector3d | gams::pose::quat_to_axis_angle (const Eigen::Quaterniond &quat) |
#define GAMS_POSE_MAKE_BINARY_VEC_SCALAR_OP | ( | op | ) |
Generates Eigen passthroughs for binary ops betwen vector and scalar.
Definition at line 798 of file Coordinate.h.
#define GAMS_POSE_MAKE_COMPOSITE_VEC_SCALAR_OP | ( | op | ) |
Generates composite assignment operators for Coordinates, using Eigen.
Definition at line 786 of file Coordinate.h.
#define GAMS_POSE_MAKE_COMPOSITE_VECS_OP | ( | op | ) |
Generates Eigen passthroughs on vectors.
Definition at line 825 of file Coordinate.h.
#define GAMS_POSE_MAKE_COORDINATE_COMPARE_OPS | ( | op | ) |
Generates comparison operators for coordinate types.
Definition at line 921 of file Coordinate.h.
#define GAMS_POSE_MAKE_COORDINATE_TYPE | ( | name, | |
units | |||
) |
Creates the three variants for each coordinate type: {Coordinate}Vector: just the coordinate values alone {Coordinate}: values plus a bound frame Stamped{Coordinate}: values, frame, and timestamp.
Definition at line 966 of file Coordinate.h.
#define GAMS_POSE_MAKE_VEC_SCALAR_OPS | ( | op | ) |
Definition at line 817 of file Coordinate.h.
#define INVAL_COORD DBL_MAX |
Definition at line 76 of file Coordinate.h.