find_affected_cells.hpp
Go to the documentation of this file.
1 
6 #ifndef FIND_AFFECTED_CELLS_HPP
7 #define FIND_AFFECTED_CELLS_HPP
8 
9 #include <vector>
10 #include "tessellation.hpp"
11 #include "shape_2d.hpp"
12 
13 using std::vector;
14 
21 (const Edge& edge,
22  const Circle& circle);
23 
35  int index,
36  const Circle& circle,
37  vector<int> & res, std::vector<Vector2D> &added, bool periodic, Vector2D const& ll, Vector2D const& ur);
38 
48 vector<int> find_affected_cells
49 (const Tessellation& tess,
50  int index,
51  Circle& circle, vector<int> &vtemp,bool periodic,std::vector<Vector2D> &periodic_add);
52 
53 #endif // FIND_AFFECTED_CELLS
Abstract class for tessellation.
Abstract class for the tessellation.
Interface between two cells.
Definition: Edge.hpp:13
Two dimensional shapes.
A circle.
Definition: shape_2d.hpp:27
vector< int > find_affected_cells(const Tessellation &tess, int index, Circle &circle, vector< int > &vtemp, bool periodic, std::vector< Vector2D > &periodic_add)
Non recursive version of find affected cells. Only searches one degree of separation.
void find_affected_cells_recursive(const Tessellation &tess, int index, const Circle &circle, vector< int > &res, std::vector< Vector2D > &added, bool periodic, Vector2D const &ll, Vector2D const &ur)
Recursively finds all cells that intersect a circle.
bool edge_circle_intersect(const Edge &edge, const Circle &circle)
Determines if an edge and a circle intersect.
2D Mathematical vector
Definition: geometry.hpp:15