numeric
Circle.hpp
Go to the documentation of this file.
1 #pragma once
2 #include <base/Eigen.hpp>
3 #include <Eigen/Geometry>
4 #include <vector>
5 
6 namespace numeric
7 {
8  class Circle
9  {
10  public:
11  Circle(const base::Vector2d& center, double radius);
12 
13  Circle(double centerX, double centerY, double radius);
14 
16  static Circle Unit();
17 
21  std::vector<base::Vector2d> intersect(const Circle& other) const;
22 
27  std::vector<base::Vector2d> intersect(const Eigen::ParametrizedLine<double, 2>& line) const;
28 
29 
38  std::vector<base::Vector2d> samplePoints(double start, double end, size_t num) const;
39 
40  double getRadius() const;
41  void setRadius(double radius);
42 
43  base::Vector2d getCenter() const;
44  void setCenter(const base::Vector2d& c);
45 
46 
47  base::Vector2d center;
48  double r;
49  };
50 };
static Circle Unit()
Definition: Circle.cpp:12
std::vector< base::Vector2d > samplePoints(double start, double end, size_t num) const
void setRadius(double radius)
Definition: Circle.cpp:157
Definition: Circle.hpp:6
base::Vector2d center
Definition: Circle.hpp:47
base::Vector2d getCenter() const
Definition: Circle.cpp:142
Circle(const base::Vector2d &center, double radius)
Definition: Circle.cpp:6
void setCenter(const base::Vector2d &c)
Definition: Circle.cpp:152
double getRadius() const
Definition: Circle.cpp:147
double r
Definition: Circle.hpp:48
std::vector< base::Vector2d > intersect(const Circle &other) const
Definition: Circle.cpp:65
Definition: Circle.hpp:8