From 6eb9d3246f40983667fcedc68d6cbbca50255dd4 Mon Sep 17 00:00:00 2001 From: Richard Roberts Date: Tue, 17 Jul 2012 15:51:32 +0000 Subject: [PATCH] Wrapped LieMatrix --- gtsam.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gtsam.h b/gtsam.h index ea71e4228..0068b0c3f 100644 --- a/gtsam.h +++ b/gtsam.h @@ -126,6 +126,34 @@ virtual class LieVector : gtsam::Value { static Vector Logmap(const gtsam::LieVector& p); }; +virtual class LieMatrix : gtsam::Value { + // Standard constructors + LieMatrix(); + LieMatrix(Matrix v); + + // Standard interface + Vector matrix() const; + + // Testable + void print(string s) const; + bool equals(const gtsam::LieMatrix& expected, double tol) const; + + // Group + static gtsam::LieMatrix identity(); + gtsam::LieMatrix inverse() const; + gtsam::LieMatrix compose(const gtsam::LieMatrix& p) const; + gtsam::LieMatrix between(const gtsam::LieMatrix& l2) const; + + // Manifold + size_t dim() const; + gtsam::LieMatrix retract(Vector v) const; + Vector localCoordinates(const gtsam::LieMatrix & t2) const; + + // Lie group + static gtsam::LieMatrix Expmap(Vector v); + static Vector Logmap(const gtsam::LieMatrix& p); +}; + //************************************************************************* // geometry //*************************************************************************