1 #ifndef BLOBS_CREATURE_STEERING_HPP_
2 #define BLOBS_CREATURE_STEERING_HPP_
4 #include "Situation.hpp"
5 #include "../math/glm.hpp"
18 void MaxAcceleration(double a) noexcept { max_accel = a; }
19 double MaxAcceleration() const noexcept { return max_accel; }
21 void MaxSpeed(double s) noexcept { max_speed = s; }
22 double MaxSpeed() const noexcept { return max_speed; }
26 void Pass(const glm::dvec3 &) noexcept;
27 void GoTo(const glm::dvec3 &) noexcept;
29 glm::dvec3 Acceleration(const Situation::State &) const noexcept;
32 bool SumForce(glm::dvec3 &out, const glm::dvec3 &in) const noexcept;
33 glm::dvec3 TargetVelocity(const Situation::State &, const glm::dvec3 &) const noexcept;
38 double max_accel = 1.0;
39 double max_speed = 1.0;