diff --git a/gtsam/base/TestableAssertions.h b/gtsam/base/TestableAssertions.h index b5068ad955..f0ea79a2eb 100644 --- a/gtsam/base/TestableAssertions.h +++ b/gtsam/base/TestableAssertions.h @@ -32,7 +32,8 @@ namespace gtsam { /** * Equals testing for basic types */ -inline bool assert_equal(const Key& expected, const Key& actual, double tol = 0.0) { +inline bool assert_equal(const Key& expected, const Key& actual) { + // TODO - why isn't tol used? if(expected != actual) { std::cout << "Not equal:\nexpected: " << expected << "\nactual: " << actual << std::endl; return false; diff --git a/gtsam/geometry/Line3.cpp b/gtsam/geometry/Line3.cpp index f5cf344f51..5a4b22075e 100644 --- a/gtsam/geometry/Line3.cpp +++ b/gtsam/geometry/Line3.cpp @@ -97,7 +97,6 @@ Line3 transformTo(const Pose3 &wTc, const Line3 &wL, Rot3 cRw = wRc.inverse(); Rot3 cRl = cRw * wL.R_; - Vector2 w_ab; Vector3 t = ((wL.R_).transpose() * wTc.translation()); Vector2 c_ab(wL.a_ - t[0], wL.b_ - t[1]); diff --git a/gtsam/geometry/Pose3.h b/gtsam/geometry/Pose3.h index 54bdd7f4c4..e4896ae26f 100644 --- a/gtsam/geometry/Pose3.h +++ b/gtsam/geometry/Pose3.h @@ -56,9 +56,8 @@ class GTSAM_EXPORT Pose3: public LieGroup { /** Copy constructor */ Pose3(const Pose3& pose) = default; - // : - // R_(pose.R_), t_(pose.t_) { - // } + + Pose3& operator=(const Pose3& other) = default; /** Construct from R,t */ Pose3(const Rot3& R, const Point3& t) : diff --git a/gtsam/geometry/Rot2.h b/gtsam/geometry/Rot2.h index 7a6f25c4d0..faa0e79a28 100644 --- a/gtsam/geometry/Rot2.h +++ b/gtsam/geometry/Rot2.h @@ -53,7 +53,8 @@ namespace gtsam { /** copy constructor */ Rot2(const Rot2& r) = default; - // : Rot2(r.c_, r.s_) {} + + Rot2& operator=(const Rot2& other) = default; /// Constructor from angle in radians == exponential map at identity Rot2(double theta) : c_(cos(theta)), s_(sin(theta)) {} diff --git a/gtsam/geometry/SO4.cpp b/gtsam/geometry/SO4.cpp index 1c4920af86..e2d6c2a69d 100644 --- a/gtsam/geometry/SO4.cpp +++ b/gtsam/geometry/SO4.cpp @@ -107,7 +107,6 @@ SO4 SO4::Expmap(const Vector6& xi, ChartJacobian H) { } // Build expX = exp(xi^) - Matrix4 expX; using std::cos; using std::sin; const auto X2 = X * X; diff --git a/gtsam/geometry/Similarity3.cpp b/gtsam/geometry/Similarity3.cpp index cf2360b083..e569755efe 100644 --- a/gtsam/geometry/Similarity3.cpp +++ b/gtsam/geometry/Similarity3.cpp @@ -45,7 +45,6 @@ static Point3Pairs subtractCentroids(const Point3Pairs &abPointPairs, static double calculateScale(const Point3Pairs &d_abPointPairs, const Rot3 &aRb) { double x = 0, y = 0; - Point3 da, db; for (const auto& [da, db] : d_abPointPairs) { const Vector3 da_prime = aRb * db; y += da.transpose() * da_prime; diff --git a/gtsam/hybrid/HybridGaussianProductFactor.cpp b/gtsam/hybrid/HybridGaussianProductFactor.cpp index 280059f542..9a34ea1e95 100644 --- a/gtsam/hybrid/HybridGaussianProductFactor.cpp +++ b/gtsam/hybrid/HybridGaussianProductFactor.cpp @@ -33,7 +33,7 @@ static Y add(const Y& y1, const Y& y2) { GaussianFactorGraph result = y1.first; result.push_back(y2.first); return {result, y1.second + y2.second}; -}; +} /* *******************************************************************************/ HybridGaussianProductFactor operator+(const HybridGaussianProductFactor& a, diff --git a/gtsam/linear/VectorValues.h b/gtsam/linear/VectorValues.h index 4728706c50..35a3817457 100644 --- a/gtsam/linear/VectorValues.h +++ b/gtsam/linear/VectorValues.h @@ -106,7 +106,7 @@ namespace gtsam { template explicit VectorValues(const CONTAINER& c) : values_(c.begin(), c.end()) {} - /** Implicit copy constructor to specialize the explicit constructor from any container. */ + /** Copy constructor to specialize the explicit constructor from any container. */ VectorValues(const VectorValues& c) : values_(c.values_) {} /** Create from a pair of iterators over pair. */ @@ -119,6 +119,7 @@ namespace gtsam { /// Constructor from Vector, with Scatter VectorValues(const Vector& c, const Scatter& scatter); + // We override the copy constructor; expicitly declare operator= VectorValues& operator=(const VectorValues& other) = default; /** Create a VectorValues with the same structure as \c other, but filled with zeros. */ diff --git a/gtsam_unstable/base/Dummy.h b/gtsam_unstable/base/Dummy.h index 548bce3445..f26585ac1e 100644 --- a/gtsam_unstable/base/Dummy.h +++ b/gtsam_unstable/base/Dummy.h @@ -29,6 +29,8 @@ namespace gtsam { size_t id; Dummy(); ~Dummy(); + Dummy(const Dummy& other) = default; + Dummy& operator=(const Dummy& other) = default; void print(const std::string& s="") const ; unsigned char dummyTwoVar(unsigned char a) const ; }; diff --git a/gtsam_unstable/base/FixedVector.h b/gtsam_unstable/base/FixedVector.h index b1fff90ef5..ad6e4322d1 100644 --- a/gtsam_unstable/base/FixedVector.h +++ b/gtsam_unstable/base/FixedVector.h @@ -37,6 +37,8 @@ class FixedVector : public Eigen::Matrix { /** copy constructors */ FixedVector(const FixedVector& v) : Base(v) {} + FixedVector& operator=(const FixedVector& other) = default; + /** Convert from a variable-size vector to a fixed size vector */ FixedVector(const Vector& v) : Base(v) {} diff --git a/gtsam_unstable/slam/Mechanization_bRn2.h b/gtsam_unstable/slam/Mechanization_bRn2.h index 3d91f6b0ea..b23a4c3eec 100644 --- a/gtsam_unstable/slam/Mechanization_bRn2.h +++ b/gtsam_unstable/slam/Mechanization_bRn2.h @@ -37,6 +37,8 @@ class GTSAM_UNSTABLE_EXPORT Mechanization_bRn2 { /// Copy constructor Mechanization_bRn2(const Mechanization_bRn2& other) = default; + Mechanization_bRn2& operator=(const Mechanization_bRn2& other) = default; + /// gravity in the body frame Vector3 b_g(double g_e) const { Vector3 n_g(0, 0, g_e);