diff options
Diffstat (limited to 'include/ceres/local_parameterization.h')
-rw-r--r-- | include/ceres/local_parameterization.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/include/ceres/local_parameterization.h b/include/ceres/local_parameterization.h index c0f7dc7..3ab21fc 100644 --- a/include/ceres/local_parameterization.h +++ b/include/ceres/local_parameterization.h @@ -34,6 +34,7 @@ #include <vector> #include "ceres/internal/port.h" +#include "ceres/internal/disable_warnings.h" namespace ceres { @@ -107,7 +108,7 @@ namespace ceres { // // The class LocalParameterization defines the function Plus and its // Jacobian which is needed to compute the Jacobian of f w.r.t delta. -class LocalParameterization { +class CERES_EXPORT LocalParameterization { public: virtual ~LocalParameterization() {} @@ -133,7 +134,7 @@ class LocalParameterization { // Some basic parameterizations // Identity Parameterization: Plus(x, delta) = x + delta -class IdentityParameterization : public LocalParameterization { +class CERES_EXPORT IdentityParameterization : public LocalParameterization { public: explicit IdentityParameterization(int size); virtual ~IdentityParameterization() {} @@ -150,7 +151,7 @@ class IdentityParameterization : public LocalParameterization { }; // Hold a subset of the parameters inside a parameter block constant. -class SubsetParameterization : public LocalParameterization { +class CERES_EXPORT SubsetParameterization : public LocalParameterization { public: explicit SubsetParameterization(int size, const vector<int>& constant_parameters); @@ -160,7 +161,9 @@ class SubsetParameterization : public LocalParameterization { double* x_plus_delta) const; virtual bool ComputeJacobian(const double* x, double* jacobian) const; - virtual int GlobalSize() const { return constancy_mask_.size(); } + virtual int GlobalSize() const { + return static_cast<int>(constancy_mask_.size()); + } virtual int LocalSize() const { return local_size_; } private: @@ -172,7 +175,7 @@ class SubsetParameterization : public LocalParameterization { // with * being the quaternion multiplication operator. Here we assume // that the first element of the quaternion vector is the real (cos // theta) part. -class QuaternionParameterization : public LocalParameterization { +class CERES_EXPORT QuaternionParameterization : public LocalParameterization { public: virtual ~QuaternionParameterization() {} virtual bool Plus(const double* x, @@ -186,4 +189,6 @@ class QuaternionParameterization : public LocalParameterization { } // namespace ceres +#include "ceres/internal/reenable_warnings.h" + #endif // CERES_PUBLIC_LOCAL_PARAMETERIZATION_H_ |