7#include "proto/primitive.pb.h"
8#include "proto/visualization.pb.h"
9#include "software/ai/navigator/obstacle/obstacle_visitor.h"
10#include "software/geom/algorithms/axis_aligned_bounding_box.h"
11#include "software/geom/algorithms/signed_distance.h"
12#include "software/geom/point.h"
13#include "software/geom/segment.h"
32 virtual bool contains(
const Point& p,
const double t_sec = 0)
const = 0;
42 virtual double distance(
const Point& p,
const double t_sec = 0)
const = 0;
83 virtual std::vector<Point>
rasterize(
const double resolution_size)
const = 0;
123TbotsProto::Obstacle createObstacleProto(
const Polygon& polygon);
124TbotsProto::Obstacle createObstacleProto(
const Rectangle& rectangle);
125TbotsProto::Obstacle createObstacleProto(
const Circle& circle);
126TbotsProto::Obstacle createObstacleProto(
const Stadium& stadium);
132using ObstaclePtr = std::shared_ptr<Obstacle>;
142inline std::ostream& operator<<(std::ostream& os,
const ObstaclePtr& obstacle_ptr)
144 os << obstacle_ptr->toString();
Definition obstacle_visitor.h:23
Definition obstacle.hpp:19
virtual std::vector< Point > rasterize(const double resolution_size) const =0
virtual TbotsProto::Obstacle createObstacleProto() const =0
virtual void accept(ObstacleVisitor &visitor) const =0
virtual Rectangle axisAlignedBoundingBox(const double inflation_radius) const =0
virtual bool intersects(const Segment &segment, const double t_sec=0) const =0
virtual double signedDistance(const Point &point, const double t_sec=0) const =0
virtual Point closestPoint(const Point &p) const =0
virtual double distance(const Point &p, const double t_sec=0) const =0
virtual bool contains(const Point &p, const double t_sec=0) const =0
virtual std::string toString(void) const =0
Definition rectangle.h:10