17 : tracking_locked_(false), max_tracking_retries_(max_tracking_retries),
18 tracking_retries_(0) {}
26 initialize(
const std::unordered_map<uint32_t, Position> &tracking_vectors);
34 const std::unordered_map<uint32_t, Position> &tracking_vectors,
35 std::tuple<uint32_t, Position> &tracking_vector);
45 getClosest(
const std::unordered_map<uint32_t, Position> &tracking_vectors,
46 std::tuple<uint32_t, Position> &tracking_vector);
55 bool tracking_locked_;
59 const uint32_t max_tracking_retries_;
63 uint32_t tracking_retries_;
67 std::tuple<uint32_t, Position> last_tracking_vector_;
A tracking strategy that locks on to the closest target when initialized.
Definition: closest_tracking_strategy.h:9
virtual bool initialize(const std::unordered_map< uint32_t, Position > &tracking_vectors)
Initialize the strategy from a group of targets. Locks on to closest target.
Definition: closest_tracking_strategy.cpp:5
Defines a strategy for choosing a target to track among a group of tracked targets.
Definition: tracking_strategy.h:12
ClosestTrackingStrategy(uint32_t max_tracking_retries=20)
Constructor.
Definition: closest_tracking_strategy.h:16
virtual bool getTrackingVector(const std::unordered_map< uint32_t, Position > &tracking_vectors, std::tuple< uint32_t, Position > &tracking_vector)
Get the tracking vector for the tracked target.
Definition: closest_tracking_strategy.cpp:19