Rename Quaternion to QuaternionManifold.
Also rename EigenQuaternion to EigenQuaternionManiold.

Change-Id: I7095fa61cfabf97a328b02fb027f5a2a8dd499ae
diff --git a/include/ceres/manifold.h b/include/ceres/manifold.h
index c5687c8..85394b7 100644
--- a/include/ceres/manifold.h
+++ b/include/ceres/manifold.h
@@ -354,8 +354,8 @@
 //
 // where: i*i = j*j = k*k = -1 and i*j = k, j*k = i, k*i = j.
 //
-// The tangent space is R^3, which relates to the ambient space through
-// the Plus and Minus operations defined as:
+// The tangent space is R^3, which relates to the ambient space through the Plus
+// and Minus operations defined as:
 //
 // Plus(x, delta) = [cos(|delta|); sin(|delta|) * delta / |delta|] * x
 //    Minus(y, x) = to_delta(y * x^{-1})
@@ -364,10 +364,10 @@
 // (|q|=1), q^-1 = [q0; -q1; -q2; -q3]
 //
 // and to_delta( [q0; u_{3x1}] ) = u / |u| * atan2(|u|, q0)
-class CERES_EXPORT Quaternion : public Manifold {
+class CERES_EXPORT QuaternionManifold : public Manifold {
  public:
-  Quaternion() = default;
-  virtual ~Quaternion() = default;
+  QuaternionManifold() = default;
+  virtual ~QuaternionManifold() = default;
   int AmbientSize() const override { return 4; }
   int TangentSize() const override { return 3; }
 
@@ -382,18 +382,18 @@
 };
 
 // Implements the quaternion manifold for Eigen's representation of the Hamilton
-// quaternion. Geometrically it is exactly the same as the Quaternion manifold
+// quaternion. Geometrically it is exactly the same as the QuaternionManifold
 // defined above. However, Eigen uses a different internal memory layout for the
 // elements of the quaternion than what is commonly used. It stores the
-// quaternion in memory as [q1, q2, q3, q0] or [x, y, z, w] where the
-// real (scalar) part is last.
+// quaternion in memory as [q1, q2, q3, q0] or [x, y, z, w] where the real
+// (scalar) part is last.
 //
-// Since Ceres operates on parameter blocks which are raw double pointers
-// this difference is important and requires a different manifold.
-class CERES_EXPORT EigenQuaternion : public Manifold {
+// Since Ceres operates on parameter blocks which are raw double pointers this
+// difference is important and requires a different manifold.
+class CERES_EXPORT EigenQuaternionManifold : public Manifold {
  public:
-  EigenQuaternion() = default;
-  virtual ~EigenQuaternion() = default;
+  EigenQuaternionManifold() = default;
+  virtual ~EigenQuaternionManifold() = default;
   int AmbientSize() const override { return 4; }
   int TangentSize() const override { return 3; }
 
diff --git a/internal/ceres/manifold.cc b/internal/ceres/manifold.cc
index dc88302..8c81a99 100644
--- a/internal/ceres/manifold.cc
+++ b/internal/ceres/manifold.cc
@@ -402,50 +402,53 @@
   return true;
 }
 
-bool Quaternion::Plus(const double* x,
-                      const double* delta,
-                      double* x_plus_delta) const {
+bool QuaternionManifold::Plus(const double* x,
+                              const double* delta,
+                              double* x_plus_delta) const {
   QuaternionPlusImpl<CeresQuaternionOrder>(x, delta, x_plus_delta);
   return true;
 }
 
-bool Quaternion::PlusJacobian(const double* x, double* jacobian) const {
+bool QuaternionManifold::PlusJacobian(const double* x, double* jacobian) const {
   QuaternionPlusJacobianImpl<CeresQuaternionOrder>(x, jacobian);
   return true;
 }
 
-bool Quaternion::Minus(const double* y,
-                       const double* x,
-                       double* y_minus_x) const {
+bool QuaternionManifold::Minus(const double* y,
+                               const double* x,
+                               double* y_minus_x) const {
   QuaternionMinusImpl<CeresQuaternionOrder>(y, x, y_minus_x);
   return true;
 }
 
-bool Quaternion::MinusJacobian(const double* x, double* jacobian) const {
+bool QuaternionManifold::MinusJacobian(const double* x,
+                                       double* jacobian) const {
   QuaternionMinusJacobianImpl<CeresQuaternionOrder>(x, jacobian);
   return true;
 }
 
-bool EigenQuaternion::Plus(const double* x,
-                           const double* delta,
-                           double* x_plus_delta) const {
+bool EigenQuaternionManifold::Plus(const double* x,
+                                   const double* delta,
+                                   double* x_plus_delta) const {
   QuaternionPlusImpl<EigenQuaternionOrder>(x, delta, x_plus_delta);
   return true;
 }
 
-bool EigenQuaternion::PlusJacobian(const double* x, double* jacobian) const {
+bool EigenQuaternionManifold::PlusJacobian(const double* x,
+                                           double* jacobian) const {
   QuaternionPlusJacobianImpl<EigenQuaternionOrder>(x, jacobian);
   return true;
 }
 
-bool EigenQuaternion::Minus(const double* y,
-                            const double* x,
-                            double* y_minus_x) const {
+bool EigenQuaternionManifold::Minus(const double* y,
+                                    const double* x,
+                                    double* y_minus_x) const {
   QuaternionMinusImpl<EigenQuaternionOrder>(y, x, y_minus_x);
   return true;
 }
 
-bool EigenQuaternion::MinusJacobian(const double* x, double* jacobian) const {
+bool EigenQuaternionManifold::MinusJacobian(const double* x,
+                                            double* jacobian) const {
   QuaternionMinusJacobianImpl<EigenQuaternionOrder>(x, jacobian);
   return true;
 }
diff --git a/internal/ceres/manifold_test.cc b/internal/ceres/manifold_test.cc
index e7d875e..11d6977 100644
--- a/internal/ceres/manifold_test.cc
+++ b/internal/ceres/manifold_test.cc
@@ -273,8 +273,8 @@
   }
 }
 
-TEST(Quaternion, PlusPiBy2) {
-  Quaternion manifold;
+TEST(QuaternionManifold, PlusPiBy2) {
+  QuaternionManifold manifold;
   Vector x = Vector::Zero(4);
   x[0] = 1.0;
 
@@ -307,12 +307,12 @@
   }
 }
 
-// Compute the expected value of Quaternion::Plus via functions in rotation.h
-// and compares it to the one computed by Quaternion::Plus.
-MATCHER_P2(QuaternionPlusIsCorrectAt, x, delta, "") {
+// Compute the expected value of QuaternionManifold::Plus via functions in
+// rotation.h and compares it to the one computed by QuaternionManifold::Plus.
+MATCHER_P2(QuaternionManifoldPlusIsCorrectAt, x, delta, "") {
   // This multiplication by 2 is needed because AngleAxisToQuaternion uses
   // |delta|/2 as the angle of rotation where as in the implementation of
-  // Quaternion for historical reasons we use |delta|.
+  // QuaternionManifold for historical reasons we use |delta|.
   const Vector two_delta = delta * 2;
   Vector delta_q(4);
   AngleAxisToQuaternion(two_delta.data(), delta_q.data());
@@ -343,46 +343,46 @@
   return x;
 }
 
-TEST(Quaternion, GenericDelta) {
-  Quaternion manifold;
+TEST(QuaternionManifold, GenericDelta) {
+  QuaternionManifold manifold;
   for (int trial = 0; trial < kNumTrials; ++trial) {
     const Vector x = RandomQuaternion();
     const Vector y = RandomQuaternion();
     Vector delta = Vector::Random(3);
-    EXPECT_THAT(manifold, QuaternionPlusIsCorrectAt(x, delta));
+    EXPECT_THAT(manifold, QuaternionManifoldPlusIsCorrectAt(x, delta));
     EXPECT_THAT_MANIFOLD_INVARIANTS_HOLD(manifold, x, delta, y, kTolerance);
   }
 }
 
-TEST(Quaternion, SmallDelta) {
-  Quaternion manifold;
+TEST(QuaternionManifold, SmallDelta) {
+  QuaternionManifold manifold;
   for (int trial = 0; trial < kNumTrials; ++trial) {
     const Vector x = RandomQuaternion();
     const Vector y = RandomQuaternion();
     Vector delta = Vector::Random(3);
     delta.normalize();
     delta *= 1e-6;
-    EXPECT_THAT(manifold, QuaternionPlusIsCorrectAt(x, delta));
+    EXPECT_THAT(manifold, QuaternionManifoldPlusIsCorrectAt(x, delta));
     EXPECT_THAT_MANIFOLD_INVARIANTS_HOLD(manifold, x, delta, y, kTolerance);
   }
 }
 
-TEST(Quaternion, DeltaJustBelowPi) {
-  Quaternion manifold;
+TEST(QuaternionManifold, DeltaJustBelowPi) {
+  QuaternionManifold manifold;
   for (int trial = 0; trial < kNumTrials; ++trial) {
     const Vector x = RandomQuaternion();
     const Vector y = RandomQuaternion();
     Vector delta = Vector::Random(3);
     delta.normalize();
     delta *= (M_PI - 1e-6);
-    EXPECT_THAT(manifold, QuaternionPlusIsCorrectAt(x, delta));
+    EXPECT_THAT(manifold, QuaternionManifoldPlusIsCorrectAt(x, delta));
     EXPECT_THAT_MANIFOLD_INVARIANTS_HOLD(manifold, x, delta, y, kTolerance);
   }
 }
 
-// Compute the expected value of EigenQuaternion::Plus using Eigen and compares
-// it to the one computed by Quaternion::Plus.
-MATCHER_P2(EigenQuaternionPlusIsCorrectAt, x, delta, "") {
+// Compute the expected value of EigenQuaternionManifold::Plus using Eigen and
+// compares it to the one computed by QuaternionManifold::Plus.
+MATCHER_P2(EigenQuaternionManifoldPlusIsCorrectAt, x, delta, "") {
   // This multiplication by 2 is needed because AngleAxisToQuaternion uses
   // |delta|/2 as the angle of rotation where as in the implementation of
   // Quaternion for historical reasons we use |delta|.
@@ -414,39 +414,39 @@
   return true;
 }
 
-TEST(EigenQuaternion, GenericDelta) {
-  EigenQuaternion manifold;
+TEST(EigenQuaternionManifold, GenericDelta) {
+  EigenQuaternionManifold manifold;
   for (int trial = 0; trial < kNumTrials; ++trial) {
     const Vector x = RandomQuaternion();
     const Vector y = RandomQuaternion();
     Vector delta = Vector::Random(3);
-    EXPECT_THAT(manifold, EigenQuaternionPlusIsCorrectAt(x, delta));
+    EXPECT_THAT(manifold, EigenQuaternionManifoldPlusIsCorrectAt(x, delta));
     EXPECT_THAT_MANIFOLD_INVARIANTS_HOLD(manifold, x, delta, y, kTolerance);
   }
 }
 
-TEST(EigenQuaternion, SmallDelta) {
-  EigenQuaternion manifold;
+TEST(EigenQuaternionManifold, SmallDelta) {
+  EigenQuaternionManifold manifold;
   for (int trial = 0; trial < kNumTrials; ++trial) {
     const Vector x = RandomQuaternion();
     const Vector y = RandomQuaternion();
     Vector delta = Vector::Random(3);
     delta.normalize();
     delta *= 1e-6;
-    EXPECT_THAT(manifold, EigenQuaternionPlusIsCorrectAt(x, delta));
+    EXPECT_THAT(manifold, EigenQuaternionManifoldPlusIsCorrectAt(x, delta));
     EXPECT_THAT_MANIFOLD_INVARIANTS_HOLD(manifold, x, delta, y, kTolerance);
   }
 }
 
-TEST(EigenQuaternion, DeltaJustBelowPi) {
-  EigenQuaternion manifold;
+TEST(EigenQuaternionManifold, DeltaJustBelowPi) {
+  EigenQuaternionManifold manifold;
   for (int trial = 0; trial < kNumTrials; ++trial) {
     const Vector x = RandomQuaternion();
     const Vector y = RandomQuaternion();
     Vector delta = Vector::Random(3);
     delta.normalize();
     delta *= (M_PI - 1e-6);
-    EXPECT_THAT(manifold, EigenQuaternionPlusIsCorrectAt(x, delta));
+    EXPECT_THAT(manifold, EigenQuaternionManifoldPlusIsCorrectAt(x, delta));
     EXPECT_THAT_MANIFOLD_INVARIANTS_HOLD(manifold, x, delta, y, kTolerance);
   }
 }