mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-12 03:39:01 +08:00
IndexArray is now a typename.
Changed interpolate with derivatives test to use VERIFY_IS_APPROX.
This commit is contained in:
parent
f9496d341f
commit
08c615f1e4
@ -74,7 +74,7 @@ namespace Eigen
|
||||
* Curve interpolation with directional constraints for engineering design.
|
||||
* Engineering with Computers
|
||||
**/
|
||||
template <typename KnotVectorType, typename ParameterVectorType>
|
||||
template <typename KnotVectorType, typename ParameterVectorType, typename IndexArray>
|
||||
void KnotAveragingWithDerivatives(const ParameterVectorType& parameters,
|
||||
const unsigned int degree,
|
||||
const IndexArray& derivativeIndices,
|
||||
@ -255,7 +255,7 @@ namespace Eigen
|
||||
* Curve interpolation with directional constraints for engineering design.
|
||||
* Engineering with Computers
|
||||
**/
|
||||
template <typename PointArrayType>
|
||||
template <typename PointArrayType, typename IndexArray>
|
||||
static SplineType InterpolateWithDerivatives(const PointArrayType& points,
|
||||
const PointArrayType& derivatives,
|
||||
const IndexArray& derivativeIndices,
|
||||
@ -277,7 +277,7 @@ namespace Eigen
|
||||
* Curve interpolation with directional constraints for engineering design.
|
||||
* Engineering with Computers
|
||||
*/
|
||||
template <typename PointArrayType>
|
||||
template <typename PointArrayType, typename IndexArray>
|
||||
static SplineType InterpolateWithDerivatives(const PointArrayType& points,
|
||||
const PointArrayType& derivatives,
|
||||
const IndexArray& derivativeIndices,
|
||||
@ -327,7 +327,7 @@ namespace Eigen
|
||||
}
|
||||
|
||||
template <typename SplineType>
|
||||
template <typename PointArrayType>
|
||||
template <typename PointArrayType, typename IndexArray>
|
||||
SplineType
|
||||
SplineFitting<SplineType>::InterpolateWithDerivatives(const PointArrayType& points,
|
||||
const PointArrayType& derivatives,
|
||||
@ -414,7 +414,7 @@ namespace Eigen
|
||||
}
|
||||
|
||||
template <typename SplineType>
|
||||
template <typename PointArrayType>
|
||||
template <typename PointArrayType, typename IndexArray>
|
||||
SplineType
|
||||
SplineFitting<SplineType>::InterpolateWithDerivatives(const PointArrayType& points,
|
||||
const PointArrayType& derivatives,
|
||||
|
@ -88,8 +88,6 @@ namespace Eigen
|
||||
|
||||
/** \brief 3D double B-spline with dynamic degree. */
|
||||
typedef Spline<double,3> Spline3d;
|
||||
|
||||
typedef Array<DenseIndex, 1, Dynamic> IndexArray;
|
||||
}
|
||||
|
||||
#endif // EIGEN_SPLINES_FWD_H
|
||||
|
@ -249,7 +249,7 @@ void check_global_interpolation_with_derivatives2d()
|
||||
Eigen::ChordLengths(points, knots);
|
||||
|
||||
ArrayXXd derivatives = ArrayXXd::Random(dimension, numPoints);
|
||||
Eigen::IndexArray derivativeIndices(numPoints);
|
||||
VectorXd derivativeIndices(numPoints);
|
||||
|
||||
for (Eigen::DenseIndex i = 0; i < numPoints; ++i)
|
||||
derivativeIndices(i) = i;
|
||||
@ -261,18 +261,21 @@ void check_global_interpolation_with_derivatives2d()
|
||||
{
|
||||
PointType point = spline(knots(i));
|
||||
PointType referencePoint = points.col(i);
|
||||
VERIFY((point - referencePoint).matrix().norm() < 1e-10);
|
||||
VERIFY_IS_APPROX(point, referencePoint);
|
||||
PointType derivative = spline.derivatives(knots(i), 1).col(1);
|
||||
PointType referenceDerivative = derivatives.col(i);
|
||||
VERIFY((derivative - referenceDerivative).matrix().norm() < 1e-10);
|
||||
VERIFY_IS_APPROX(derivative, referenceDerivative);
|
||||
}
|
||||
}
|
||||
|
||||
void test_splines()
|
||||
{
|
||||
CALL_SUBTEST( eval_spline3d() );
|
||||
CALL_SUBTEST( eval_spline3d_onbrks() );
|
||||
CALL_SUBTEST( eval_closed_spline2d() );
|
||||
CALL_SUBTEST( check_global_interpolation2d() );
|
||||
CALL_SUBTEST( check_global_interpolation_with_derivatives2d() );
|
||||
for (int i = 0; i < g_repeat; ++i)
|
||||
{
|
||||
CALL_SUBTEST( eval_spline3d() );
|
||||
CALL_SUBTEST( eval_spline3d_onbrks() );
|
||||
CALL_SUBTEST( eval_closed_spline2d() );
|
||||
CALL_SUBTEST( check_global_interpolation2d() );
|
||||
CALL_SUBTEST( check_global_interpolation_with_derivatives2d() );
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user