diff --git a/src/lib/FlightTasks/tasks/Utility/StraightLine.cpp b/src/lib/FlightTasks/tasks/Utility/StraightLine.cpp index 2147470c02..ab7f87fa63 100644 --- a/src/lib/FlightTasks/tasks/Utility/StraightLine.cpp +++ b/src/lib/FlightTasks/tasks/Utility/StraightLine.cpp @@ -176,23 +176,18 @@ void StraightLine::setAllDefaults() _desired_deceleration = DECELERATION_MAX; } -void StraightLine::setTarget(const matrix::Vector3f &target) +void StraightLine::setLineFromTo(const matrix::Vector3f &origin, const matrix::Vector3f &target) { - if (PX4_ISFINITE(target(0)) && PX4_ISFINITE(target(1)) && PX4_ISFINITE(target(2))) { + if (PX4_ISFINITE(target(0)) && PX4_ISFINITE(target(1)) && PX4_ISFINITE(target(2)) && + PX4_ISFINITE(origin(0)) && PX4_ISFINITE(origin(1)) && PX4_ISFINITE(origin(2))) { _target = target; + _origin = origin; // set all parameters to their default value (depends on the direction) setAllDefaults(); } } -void StraightLine::setOrigin(const matrix::Vector3f &origin) -{ - if (PX4_ISFINITE(origin(0)) && PX4_ISFINITE(origin(1)) && PX4_ISFINITE(origin(2))) { - _origin = origin; - } -} - void StraightLine::setSpeed(const float &speed) { float vel_max = getMaxVel(); diff --git a/src/lib/FlightTasks/tasks/Utility/StraightLine.hpp b/src/lib/FlightTasks/tasks/Utility/StraightLine.hpp index bd564943d3..1347b2d456 100644 --- a/src/lib/FlightTasks/tasks/Utility/StraightLine.hpp +++ b/src/lib/FlightTasks/tasks/Utility/StraightLine.hpp @@ -51,8 +51,7 @@ public: ~StraightLine() = default; // setter functions - void setTarget(const matrix::Vector3f &target); - void setOrigin(const matrix::Vector3f &origin); + void setLineFromTo(const matrix::Vector3f &origin, const matrix::Vector3f &target); void setSpeed(const float &speed); void setSpeedAtTarget(const float &speed_at_target); void setAcceleration(const float &acc);