OuterBoundary.hpp
Go to the documentation of this file.
1 
6 #ifndef OUTERBOUNDARY_HPP
7 #define OUTERBOUNDARY_HPP 1
8 
9 #include "../../tessellation/tessellation.hpp"
10 #include <cmath>
11 
13 enum Directions {Left, Right, Up, Down};
14 
16 enum BoundaryType{Rectengular, Periodic,HalfPeriodic};
17 
20 {
21 public:
26  virtual BoundaryType GetBoundaryType(void) const = 0;
32  virtual double GetGridBoundary(Directions dir) const = 0;
33 
39  virtual bool AreWeReflective(Edge const& edge)const=0;
40 
46  virtual bool PointIsReflective(Vector2D const& point)const=0;
47 
48  virtual ~OuterBoundary(void);
53  vector<Edge> GetBoxEdges(void) const;
54 };
55 
56 #endif // OUTERBOUNDARY_HPP
virtual bool PointIsReflective(Vector2D const &point) const =0
Checks if the point is a reflected point outside the domain.
Directions
Directions of boundaries of the computational domain.
virtual bool AreWeReflective(Edge const &edge) const =0
Return wheter an edge is reflective or not.
Interface between two cells.
Definition: Edge.hpp:13
BoundaryType
Type of boundary.
virtual BoundaryType GetBoundaryType(void) const =0
Returns the boundary type.
vector< Edge > GetBoxEdges(void) const
Returns the outer box as a set of edges in the order: Right, Up, Left and Down. All neighbors are set...
Abstract class for geometric boundary conditions for the tessellation.
2D Mathematical vector
Definition: geometry.hpp:15
virtual double GetGridBoundary(Directions dir) const =0
Returns the boundary coordinate.