LCOV - code coverage report
Current view: top level - src - ElementSequence.hpp (source / functions) Hit Total Coverage
Test: coverage_sk.info Lines: 15 15 100.0 %
Date: 2020-12-16 07:07:30 Functions: 7 7 100.0 %
Branches: 1 2 50.0 %

           Branch data     Line data    Source code
       1                 :            : #ifndef ELEMENT_SEQUENCE_HPP
       2                 :            : #define ELEMENT_SEQUENCE_HPP
       3                 :            : 
       4                 :            : #include "EntitySequence.hpp"
       5                 :            : #include "SequenceData.hpp"
       6                 :            : #include "moab/CN.hpp"
       7                 :            : 
       8                 :            : namespace moab
       9                 :            : {
      10                 :            : 
      11                 :            : class ElementSequence : public EntitySequence
      12                 :            : {
      13                 :            :   public:
      14                 :        749 :     ElementSequence( EntityHandle start, EntityID count, unsigned int nodes_per_elem, SequenceData* dat )
      15                 :        749 :         : EntitySequence( start, count, dat ), nodesPerElement( nodes_per_elem )
      16                 :            :     {
      17                 :        749 :     }
      18                 :            : 
      19         [ -  + ]:      25916 :     virtual ~ElementSequence() {}
      20                 :            : 
      21                 :   62105513 :     inline unsigned int nodes_per_element() const
      22                 :            :     {
      23                 :   62105513 :         return nodesPerElement;
      24                 :            :     }
      25                 :            : 
      26                 :            :     virtual ErrorCode get_connectivity( EntityHandle handle, std::vector< EntityHandle >& connect,
      27                 :            :                                         bool topological = false ) const = 0;
      28                 :            : 
      29                 :            :     virtual ErrorCode get_connectivity( EntityHandle handle, EntityHandle const*& connect, int& connect_length,
      30                 :            :                                         bool topological = false, std::vector< EntityHandle >* storage = 0 ) const = 0;
      31                 :            : 
      32                 :            :     virtual ErrorCode set_connectivity( EntityHandle handle, EntityHandle const* connect, int connect_length ) = 0;
      33                 :            : 
      34                 :            :     inline EntityHandle const* get_connectivity_array() const;
      35                 :            : 
      36                 :            :     virtual EntityHandle* get_connectivity_array() = 0;
      37                 :            : 
      38                 :            :     inline bool has_mid_edge_nodes() const;
      39                 :            :     inline bool has_mid_face_nodes() const;
      40                 :            :     inline bool has_mid_volume_nodes() const;
      41                 :            : 
      42                 :            :   protected:
      43                 :      12211 :     ElementSequence( ElementSequence& split_from, EntityHandle here )
      44                 :      12211 :         : EntitySequence( split_from, here ), nodesPerElement( split_from.nodesPerElement )
      45                 :            :     {
      46                 :      12211 :     }
      47                 :            : 
      48                 :            :   private:
      49                 :            :     unsigned nodesPerElement;
      50                 :            : };
      51                 :            : 
      52                 :            : inline EntityHandle const* ElementSequence::get_connectivity_array() const
      53                 :            : {
      54                 :            :     return const_cast< ElementSequence* >( this )->get_connectivity_array();
      55                 :            : }
      56                 :            : 
      57                 :         78 : inline bool ElementSequence::has_mid_edge_nodes() const
      58                 :            : {
      59                 :         78 :     return CN::HasMidEdgeNodes( type(), nodes_per_element() );
      60                 :            : }
      61                 :            : 
      62                 :         66 : inline bool ElementSequence::has_mid_face_nodes() const
      63                 :            : {
      64                 :         66 :     return CN::HasMidFaceNodes( type(), nodes_per_element() );
      65                 :            : }
      66                 :            : 
      67                 :         56 : inline bool ElementSequence::has_mid_volume_nodes() const
      68                 :            : {
      69                 :         56 :     return CN::HasMidRegionNodes( type(), nodes_per_element() );
      70                 :            : }
      71                 :            : 
      72                 :            : }  // namespace moab
      73                 :            : 
      74                 :            : #endif

Generated by: LCOV version 1.11