LCOV - code coverage report
Current view: top level - itaps/irel - AssocPair.hpp (source / functions) Hit Total Coverage
Test: coverage_sk.info Lines: 10 10 100.0 %
Date: 2020-12-16 07:07:30 Functions: 5 5 100.0 %
Branches: 0 0 -

           Branch data     Line data    Source code
       1                 :            : #ifndef ASSOCPAIR_HPP
       2                 :            : #define ASSOCPAIR_HPP
       3                 :            : 
       4                 :            : #include "iRel_Lasso.hpp"
       5                 :            : #include "AssocPairSide.hpp"
       6                 :            : 
       7                 :            : #include <sstream>
       8                 :            : 
       9                 :            : class Lasso;
      10                 :            : 
      11                 :            : class AssocPair
      12                 :            : {
      13                 :            :   public:
      14                 :            :     friend class Lasso;
      15                 :            : 
      16                 :            :     AssocPair( iRel_Instance instance, iBase_Instance iface0, iRel_RelationType ent_or_set0, iRel_IfaceType type0,
      17                 :            :                iRel_RelationStatus status0, iBase_Instance iface1, iRel_RelationType ent_or_set1, iRel_IfaceType type1,
      18                 :            :                iRel_RelationStatus status1 );
      19                 :            : 
      20                 :            :     ~AssocPair();
      21                 :            : 
      22                 :            :     iBase_Instance iface_instance( int iface_no ) const;
      23                 :            :     iRel_IfaceType iface_type( int iface_no ) const;
      24                 :            :     iRel_RelationType relation_type( int iface_no ) const;
      25                 :            :     iRel_RelationStatus relation_status( int iface_no ) const;
      26                 :            : 
      27                 :            :     int change_type( int iface_no, iRel_RelationType type );
      28                 :            :     int change_status( int iface_no, iRel_RelationStatus status );
      29                 :            : 
      30                 :            :     bool equivalent( iBase_Instance iface1, iBase_Instance iface2, bool* order_switched = NULL );
      31                 :            :     bool equivalent( iRel_IfaceType type1, iRel_IfaceType type2, bool* order_switched = NULL );
      32                 :            : 
      33                 :            :     bool contains( iBase_Instance iface );
      34                 :            : 
      35                 :            :     int get_all_entities( int iface_no, int dimension, iBase_EntityHandle** entities, int* entities_alloc,
      36                 :            :                           int* entities_size );
      37                 :            : 
      38                 :            :     int get_all_sets( int iface_no, iBase_EntitySetHandle** sets, int* sets_alloc, int* sets_size );
      39                 :            : 
      40                 :            :     int get_entities( int iface_no, int dimension, iBase_EntitySetHandle set_handle, iBase_EntityHandle** entities,
      41                 :            :                       int* entities_alloc, int* entities_size );
      42                 :            : 
      43                 :            :     int get_ents_dims( int iface_no, iBase_EntityHandle* entities, int entities_size, int** ent_types,
      44                 :            :                        int* ent_types_alloc, int* ent_types_size );
      45                 :            : 
      46                 :            :     int set_relation( iBase_EntityHandle ent1, iBase_EntityHandle ent2 );
      47                 :            :     int set_relation( iBase_EntitySetHandle set1, iBase_EntityHandle ent2 );
      48                 :            :     int set_relation( iBase_EntityHandle ent1, iBase_EntitySetHandle set2 );
      49                 :            :     int set_relation( iBase_EntitySetHandle set1, iBase_EntitySetHandle set2 );
      50                 :            : 
      51                 :            :     int get_relation( int iface_no, iBase_EntityHandle* entities, int num_entities, iBase_EntityHandle* tag_values );
      52                 :            :     int get_relation( int iface_no, iBase_EntitySetHandle* sets, int num_sets, iBase_EntityHandle* tag_values );
      53                 :            :     int get_relation( int iface_no, iBase_EntityHandle* entities, int num_entities, iBase_EntitySetHandle* tag_values );
      54                 :            :     int get_relation( int iface_no, iBase_EntitySetHandle* sets, int num_sets, iBase_EntitySetHandle* tag_values );
      55                 :            :     int get_relation( int iface_no, iBase_EntityHandle* entities, int num_entities, iBase_EntityIterator* tag_values );
      56                 :            :     int get_relation( int iface_no, iBase_EntitySetHandle* sets, int num_sets, iBase_EntityIterator* tag_values );
      57                 :            : 
      58                 :            :     int rmv_relation( int iface_no, iBase_EntityHandle* entities, int num_entities );
      59                 :            :     int rmv_relation( int iface_no, iBase_EntitySetHandle* sets, int num_sets );
      60                 :            : 
      61                 :            :     int get_gids( int iface_no, iBase_EntityHandle* entities, int num_entities, int* tag_values );
      62                 :            :     int get_gids( int iface_no, iBase_EntitySetHandle* sets, int num_sets, int* tag_values );
      63                 :            : 
      64                 :            :     int get_dims( int iface_no, iBase_EntityHandle* entities, int num_entities, int* tag_values );
      65                 :            :     int get_dims( int iface_no, iBase_EntitySetHandle* sets, int num_sets, int* tag_values );
      66                 :            : 
      67                 :            :   private:
      68                 :            :     AssocPair();
      69                 :            : 
      70                 :            :     int populate_recursive( int iface_no, iBase_EntitySetHandle set, iBase_EntityHandle related_ent );
      71                 :            :     int populate_recursive( int iface_no, iBase_EntitySetHandle set, iBase_EntitySetHandle related_set );
      72                 :            : 
      73                 :            :     int unpopulate_recursive( int iface_no, iBase_EntitySetHandle set );
      74                 :            : 
      75                 :            :     iRel_Instance instance;
      76                 :            :     AssocPairSide* relSides[2];
      77                 :            :     iRel_RelationType entOrSet[2];
      78                 :            :     iRel_RelationStatus relStatus[2];
      79                 :            :     int pairId;
      80                 :            : 
      81                 :            :     static int currId;
      82                 :            : };
      83                 :            : 
      84                 :          6 : inline iBase_Instance AssocPair::iface_instance( int iface_no ) const
      85                 :            : {
      86                 :          6 :     return relSides[iface_no]->instance();
      87                 :            : }
      88                 :            : 
      89                 :          6 : inline iRel_IfaceType AssocPair::iface_type( int iface_no ) const
      90                 :            : {
      91                 :          6 :     return relSides[iface_no]->type();
      92                 :            : }
      93                 :            : 
      94                 :         42 : inline iRel_RelationType AssocPair::relation_type( int iface_no ) const
      95                 :            : {
      96                 :         42 :     return entOrSet[iface_no];
      97                 :            : }
      98                 :            : 
      99                 :          6 : inline iRel_RelationStatus AssocPair::relation_status( int iface_no ) const
     100                 :            : {
     101                 :          6 :     return relStatus[iface_no];
     102                 :            : }
     103                 :            : 
     104                 :        266 : static inline AssocPair* assocpair_handle( iRel_PairHandle pair )
     105                 :            : {
     106                 :        266 :     return reinterpret_cast< AssocPair* >( pair );
     107                 :            : }
     108                 :            : #define ASSOCPAIRI assocpair_handle( pair )
     109                 :            : 
     110                 :            : #endif

Generated by: LCOV version 1.11