OGS
FaceRule.h
Go to the documentation of this file.
1 
11 #pragma once
12 
13 #include "Element.h"
14 
15 namespace MeshLib
16 {
17 
18 class FaceRule
19 {
20 public:
22  static const unsigned dimension = 2u;
23 
25  static const Element* getFace(const Element* e, unsigned i) { return e->getEdge(i); }
26 
28  static const unsigned n_faces = 0;
29 
34  static bool testElementNodeOrder(Element const& e);
35 
37  static Eigen::Vector3d getFirstSurfaceVector(Element const& e);
38 
40  static Eigen::Vector3d getSecondSurfaceVector(Element const& e);
41 
43  static Eigen::Vector3d getSurfaceNormal(Element const& e);
44 
45 }; /* class */
46 
47 } // namespace MeshLib
Definition of the Element class.
virtual const Element * getEdge(unsigned i) const =0
Returns the i-th edge of the element.
static const unsigned dimension
Constant: Dimension of this mesh element.
Definition: FaceRule.h:22
static bool testElementNodeOrder(Element const &e)
Definition: FaceRule.cpp:19
static Eigen::Vector3d getSecondSurfaceVector(Element const &e)
Definition: FaceRule.cpp:32
static const unsigned n_faces
Constant: The number of faces.
Definition: FaceRule.h:28
static Eigen::Vector3d getFirstSurfaceVector(Element const &e)
Definition: FaceRule.cpp:24
static const Element * getFace(const Element *e, unsigned i)
Returns the face i of the element.
Definition: FaceRule.h:25
static Eigen::Vector3d getSurfaceNormal(Element const &e)
Returns the surface normal of a 2D element.
Definition: FaceRule.cpp:40