mirror of
https://github.com/ceres-solver/ceres-solver.git
synced 2026-08-29 16:40:38 +08:00
Fix MSVC compilation error
MSVC 2013 compiler crashed when not specifying the template parameter of CubicHermiteSpline explicitly. Change-Id: I6ab79aea47f55373df5cb7b89e38f8b326ff21c9
This commit is contained in:
@@ -177,7 +177,8 @@ class CERES_EXPORT CubicInterpolator {
|
||||
p3 = 2 * p2 - p1;
|
||||
}
|
||||
|
||||
CubicHermiteSpline(p0, p1, p2, p3, x - n, f, dfdx);
|
||||
CubicHermiteSpline<Array::DATA_DIMENSION>(p0, p1, p2, p3, x - n, f, dfdx);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -391,17 +392,23 @@ class CERES_EXPORT BiCubicInterpolator {
|
||||
// value and the horizontal derivative in each row.
|
||||
Eigen::Matrix<double, Array::DATA_DIMENSION, 1> f0, f1, f2, f3;
|
||||
Eigen::Matrix<double, Array::DATA_DIMENSION, 1> df0dc, df1dc, df2dc, df3dc;
|
||||
CubicHermiteSpline(p00, p01, p02, p03, c - col, f0.data(), df0dc.data());
|
||||
CubicHermiteSpline(p10, p11, p12, p13, c - col, f1.data(), df1dc.data());
|
||||
CubicHermiteSpline(p20, p21, p22, p23, c - col, f2.data(), df2dc.data());
|
||||
CubicHermiteSpline(p30, p31, p32, p33, c - col, f3.data(), df3dc.data());
|
||||
|
||||
CubicHermiteSpline<Array::DATA_DIMENSION>(p00, p01, p02, p03, c - col,
|
||||
f0.data(), df0dc.data());
|
||||
CubicHermiteSpline<Array::DATA_DIMENSION>(p10, p11, p12, p13, c - col,
|
||||
f1.data(), df1dc.data());
|
||||
CubicHermiteSpline<Array::DATA_DIMENSION>(p20, p21, p22, p23, c - col,
|
||||
f2.data(), df2dc.data());
|
||||
CubicHermiteSpline<Array::DATA_DIMENSION>(p30, p31, p32, p33, c - col,
|
||||
f3.data(), df3dc.data());
|
||||
|
||||
// Interpolate vertically the interpolated value from each row and
|
||||
// compute the derivative along the columns.
|
||||
CubicHermiteSpline(f0, f1, f2, f3, r - row, f, dfdr);
|
||||
CubicHermiteSpline<Array::DATA_DIMENSION>(f0, f1, f2, f3, r - row, f, dfdr);
|
||||
if (dfdc != NULL) {
|
||||
// Interpolate vertically the derivative along the columns.
|
||||
CubicHermiteSpline(df0dc, df1dc, df2dc, df3dc, r - row, dfdc, NULL);
|
||||
CubicHermiteSpline<Array::DATA_DIMENSION>(df0dc, df1dc, df2dc, df3dc,
|
||||
r - row, dfdc, NULL);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user