GCC Code Coverage Report


Directory: ./
File: Geometry/neighVolumesOfEdges.hpp
Date: 2024-04-14 07:32:34
Exec Total Coverage
Lines: 6 6 100.0%
Branches: 0 0 -%

Line Branch Exec Source
1 // ______ ______ _ _ _____ ______
2 // | ____| ____| | (_)/ ____| | ____|
3 // | |__ | |__ | | _| (___ ___| |__
4 // | __| | __| | | | |\___ \ / __| __|
5 // | | | |____| |____| |____) | (__| |____
6 // |_| |______|______|_|_____/ \___|______|
7 // Finite Elements for Life Sciences and Engineering
8 //
9 // License: LGL2.1 License
10 // FELiScE default license: LICENSE in root folder
11 //
12 // Main authors: J. Foulon & V. Martin
13 //
14
15 #ifndef GEOMETRICNEIGHVOLUMESOFEDGES_HPP
16 #define GEOMETRICNEIGHVOLUMESOFEDGES_HPP
17
18 // System includes
19 #include <ostream>
20
21 // External includes
22
23 // Project includes
24 #include "Core/shared_pointers.hpp"
25 #include "Geometry/geometricMeshRegion.hpp"
26
27 namespace felisce
28 {
29 ///////////////////////////////////////
30 // NEIGHBOUR VOLUMES OF EDGES CLASS //
31 ///////////////////////////////////////
32 /*!
33 \class NeighVolumesOfEdges
34 \authors J.Castelneau & J.Foulon
35
36 \brief Class implementing the volumes neighbours
37
38 A neighbour is defined by
39 - his global number
40 - his felisce name
41 - the local number of the edge
42
43 */
44
45 class NeighVolumesOfEdges {
46 public:
47
48 /// Pointer definition of NeighVolumesOfEdges
49 FELISCE_CLASS_POINTER_DEFINITION(NeighVolumesOfEdges);
50
51 typedef GeometricMeshRegion::ElementType ElementType;
52 // Constructor / Destructor
53 // ========================
54 NeighVolumesOfEdges() = default;
55 ~NeighVolumesOfEdges() = default;
56
57 // getter
58 // ======
59 inline const felInt& idVolume() const {
60 return m_idVolume;
61 }
62 inline const ElementType& typeVolume() const {
63 return m_typeVolume;
64 }
65 inline const int& idLocalEdge() const {
66 return m_idLocalEdge;
67 }
68
69 // setter
70 // ======
71 273600 inline felInt& idVolume() {
72 273600 return m_idVolume;
73 }
74 273600 inline ElementType& typeVolume() {
75 273600 return m_typeVolume;
76 }
77 279144 inline int& idLocalEdge() {
78 279144 return m_idLocalEdge;
79 }
80
81 // print a volume neighbour
82 // ========================
83 void print( std::ostream& outstr = std::cout, int verbose = 0 ) const;
84
85 private:
86 felInt m_idVolume; //!volume's ID per eltType
87 ElementType m_typeVolume; //!eltType of the volume
88 int m_idLocalEdge; //!local number of the edge in the volume
89
90 };
91 }
92
93 #endif
94