/** * @file expressions.h * @brief Common expressions, both linear and non-linear * @date Nov 23, 2014 * @author Frank Dellaert */ #pragma once #include #include #include #include namespace gtsam { // 2D Geometry typedef Expression Pose2_; Pose2_ between(const Pose2_& x, const Pose2_& p) { Pose2(Pose2::*transform)(const Pose2& p, boost::optional H1, boost::optional H2) const = &Pose2::between; return Pose2_(x, transform, p); } // Generics template Expression between(const Expression& t1, const Expression& t2) { return Expression(t1, &T::between, t2); } typedef Expression double_; typedef Expression Vector3_; } // \namespace gtsam