From f894f8deb819d3816064cb4a79009fdbd759e461 Mon Sep 17 00:00:00 2001 From: Pierre Fernbach <pierre.fernbach@laas.fr> Date: Fri, 22 Nov 2019 15:40:33 +0100 Subject: [PATCH] SO3_linear : correctly check time interval in derivate() --- include/curves/so3_linear.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/curves/so3_linear.h b/include/curves/so3_linear.h index f88072b..17f6b3c 100644 --- a/include/curves/so3_linear.h +++ b/include/curves/so3_linear.h @@ -99,6 +99,10 @@ struct SO3Linear : public curve_abc<Time, Numeric, Safe, Eigen::Matrix<Numeric, /// \param order : order of derivative. /// \return \f$\frac{d^Nx(t)}{dt^N}\f$ point corresponding on derivative spline at time t. virtual point3_t derivate(const time_t t, const std::size_t order) const { + if ((t < T_min_ || t > T_max_) && Safe) { + throw std::invalid_argument( + "error in SO3_linear : time t to evaluate derivative should be in range [Tmin, Tmax] of the curve"); + } if (order > 1 || t > T_max_ || t < T_min_) { return point3_t::Zero(3); } else if (order == 1) { -- GitLab