Face.hpp
Go to the documentation of this file.
1 
6 #ifndef FACE_HPP
7 #define FACE_HPP 1
8 
9 #include <vector>
10 #include "Vector3D.hpp"
11 
12 using std::size_t;
13 
15 class Face
16 {
17 public:
18 
20  std::vector<Vector3D> vertices;
21 
23  std::pair<size_t,size_t> neighbors;
24 
30  Face(vector<Vector3D> const& vert,size_t neighbor1,size_t neighbor2);
31 
32  Face(void);
33 
34  ~Face(void);
35 
39  Face(Face const& other);
40 
45  Face& operator=(const Face& other);
46 
50  double GetArea(void) const;
51 };
52 
57 Vector3D calc_centroid(const Face& face);
58 
59 #endif // FACE_HPP
std::pair< size_t, size_t > neighbors
Neighboring cells.
Definition: Face.hpp:23
3D Geometrical calculations
std::vector< Vector3D > vertices
Points at the ends of the edge.
Definition: Face.hpp:20
3D Mathematical vector
Definition: Vector3D.hpp:15
Vector3D calc_centroid(const Face &face)
Calculates the centroid of aa face.
Definition: Face.cpp:32
double GetArea(void) const
Returns the area of the face.
Definition: Face.cpp:24
Face & operator=(const Face &other)
Copy operator.
Definition: Face.cpp:10
Interface between two cells.
Definition: Face.hpp:15