3#include "software/ai/navigator/obstacle/geom_obstacle.hpp"
4#include "software/ai/navigator/trajectory/trajectory_path.h"
5#include "software/geom/algorithms/contains.h"
6#include "software/geom/algorithms/distance.h"
7#include "software/geom/algorithms/intersects.h"
9template <
typename GEOM_TYPE>
25 double max_time_horizon_sec);
27 bool contains(
const Point& p,
const double t_sec = 0)
const override;
28 double distance(
const Point& p,
const double t_sec = 0)
const override;
34 const double max_time_horizon_sec_;
38template <
typename GEOM_TYPE>
41 double max_time_horizon_sec)
43 velocity_(std::move(velocity)),
44 max_time_horizon_sec_(max_time_horizon_sec)
53template <
typename GEOM_TYPE>
56 return ::contains(this->geom_,
57 p - velocity_ * std::min(t_sec, max_time_horizon_sec_));
60template <
typename GEOM_TYPE>
62 const double t_sec)
const
64 return ::distance(this->geom_,
65 p - velocity_ * std::min(t_sec, max_time_horizon_sec_));
68template <
typename GEOM_TYPE>
70 const double t_sec)
const
72 return ::signedDistance(this->geom_,
73 p - velocity_ * std::min(t_sec, max_time_horizon_sec_));
76template <
typename GEOM_TYPE>
78 const double t_sec)
const
80 return ::intersects(this->geom_,
81 segment - velocity_ * std::min(t_sec, max_time_horizon_sec_));
Definition const_velocity_obstacle.hpp:11
bool contains(const Point &p, const double t_sec=0) const override
Definition const_velocity_obstacle.hpp:54
double signedDistance(const Point &p, const double t_sec=0) const override
Definition const_velocity_obstacle.hpp:69
bool intersects(const Segment &segment, const double t_sec=0) const override
Definition const_velocity_obstacle.hpp:77
double distance(const Point &p, const double t_sec=0) const override
Definition const_velocity_obstacle.hpp:61
Definition geom_obstacle.hpp:12