1#ifndef FANG_ROBOTICS_MCB_TRAP_ALGORITHMS_RAMP_2D_HPP
2#define FANG_ROBOTICS_MCB_TRAP_ALGORITHMS_RAMP_2D_HPP
8 template<
typename ValueUnit,
typename TimeUnit>
18 : m_xRamp{initialValue.x, rampSpeed},
19 m_yRamp{initialValue.y, rampSpeed},
26 m_xRamp.setTarget(target.
x);
27 m_yRamp.setTarget(target.
y);
39 return Vector2D{m_xRamp.getTarget(), m_yRamp.getTarget()};
53 return Vector2D{m_xRamp.getValue(), m_yRamp.getValue()};
58 return m_xRamp.isTargetReached() && m_yRamp.isTargetReached();
79 m_xRamp.setSpeed(speeds.x);
80 m_yRamp.setSpeed(speeds.y);
82 Ramp<ValueUnit, TimeUnit> m_xRamp;
83 Ramp<ValueUnit, TimeUnit> m_yRamp;
Definition ramp_2d.hpp:10
Vector2D getValue() const
Definition ramp_2d.hpp:51
Ramp2D(const Vector2D &initialValue, double rampSpeed)
Definition ramp_2d.hpp:17
void update()
Definition ramp_2d.hpp:61
void setTarget(const Vector2D &target)
Definition ramp_2d.hpp:24
bool isTargetReached() const
Definition ramp_2d.hpp:56
void setSpeed(double speed)
Definition ramp_2d.hpp:46
fang::math::Vector2D< ValueUnit > Vector2D
Definition ramp_2d.hpp:12
Vector2D getTarget() const
Definition ramp_2d.hpp:37
Definition dimensional_smooth_pid.hpp:10
Definition vector_2d.hpp:8
Vector2D< double > getUnitVector() const
Definition vector_2d.hpp:47
Unit x
Definition vector_2d.hpp:11
Unit y
Definition vector_2d.hpp:12