LCOV - code coverage report
Current view: top level - geom - CAMergeStatus.cpp (source / functions) Hit Total Coverage
Test: coverage_sk.info Lines: 23 52 44.2 %
Date: 2020-06-30 00:58:45 Functions: 8 10 80.0 %
Branches: 11 80 13.8 %

           Branch data     Line data    Source code
       1                 :            : //-------------------------------------------------------------------------
       2                 :            : // Filename      : CAMergeStatus.cpp
       3                 :            : //
       4                 :            : // Purpose       : Save RefEntity::autoMergeStatus
       5                 :            : //
       6                 :            : // Special Notes : 
       7                 :            : //
       8                 :            : // Creator       : Jason Kraftcheck
       9                 :            : //
      10                 :            : // Creation Date : 06/06/02
      11                 :            : //-------------------------------------------------------------------------
      12                 :            : 
      13                 :            : #include "RefEntity.hpp"
      14                 :            : #include "CAMergeStatus.hpp"
      15                 :            : #include "CADefines.hpp"
      16                 :            : 
      17                 :      10348 : CubitAttrib* CAMergeStatus_creator(RefEntity* entity, const CubitSimpleAttrib &p_csa)
      18                 :            : {
      19         [ +  - ]:      10348 :   return new CAMergeStatus(entity, p_csa);
      20                 :            : }
      21                 :            : 
      22                 :      10348 : CAMergeStatus::CAMergeStatus( RefEntity* owner, const CubitSimpleAttrib& csa )
      23                 :      10348 :   : CubitAttrib( owner )
      24                 :            : { 
      25                 :      10348 :   status = AUTO_MERGE_AUTO;
      26 [ +  - ][ -  + ]:      10348 :   if(!csa.isEmpty())
      27                 :            :   {
      28 [ #  # ][ #  # ]:          0 :     assert( csa.int_data_list().size() == 1 );
                 [ #  # ]
      29 [ #  # ][ #  # ]:          0 :     int i = csa.int_data_list()[0];
      30 [ #  # ][ #  # ]:          0 :     assert( i == 0 || i == 1 || i == 2 );
                 [ #  # ]
      31                 :          0 :     status = (AutoMergeStatus)i;
      32                 :            :   }
      33                 :      10348 : }
      34                 :            : 
      35                 :      31044 : CAMergeStatus::~CAMergeStatus() 
      36         [ -  + ]:      20696 : { }
      37                 :            : 
      38                 :          0 : CubitStatus CAMergeStatus::actuate() 
      39                 :            : {
      40         [ #  # ]:          0 :   if( hasActuated )
      41                 :          0 :     return CUBIT_SUCCESS;
      42                 :            :   
      43         [ #  # ]:          0 :   if( !attribOwnerEntity )
      44                 :          0 :     return CUBIT_FAILURE;
      45                 :            :     
      46         [ #  # ]:          0 :   DLIList<CubitAttrib*> att_list;
      47         [ #  # ]:          0 :   attribOwnerEntity->find_cubit_attrib_type(CA_MERGE_PARTNER, att_list);
      48 [ #  # ][ #  # ]:          0 :   if( att_list.size() )
      49                 :          0 :     return CUBIT_FAILURE;
      50                 :            :   
      51 [ #  # ][ #  # ]:          0 :   assert( status == AUTO_MERGE_ON || status == AUTO_MERGE_OFF );  
      52         [ #  # ]:          0 :   attribOwnerEntity->is_mergeable(status);
      53                 :            :   
      54                 :          0 :   deleteAttrib = CUBIT_FALSE;
      55                 :          0 :   hasActuated = CUBIT_TRUE;
      56                 :            : 
      57         [ #  # ]:          0 :   return CUBIT_SUCCESS;
      58                 :            : }
      59                 :            : 
      60                 :      10348 : CubitStatus CAMergeStatus::update()
      61                 :            : {
      62         [ -  + ]:      10348 :   if( hasUpdated )
      63                 :          0 :     return CUBIT_SUCCESS;
      64                 :            :     
      65         [ -  + ]:      10348 :   if( !attribOwnerEntity )
      66                 :          0 :     return CUBIT_FAILURE;
      67                 :            :   
      68                 :      10348 :   status = attribOwnerEntity->merge_status();
      69         [ +  - ]:      10348 :   if( status == AUTO_MERGE_AUTO )
      70                 :      10348 :     delete_attrib(CUBIT_TRUE);
      71                 :            :   else
      72                 :          0 :     hasUpdated = CUBIT_TRUE;
      73                 :            :   
      74                 :      10348 :   return CUBIT_SUCCESS;
      75                 :            : }
      76                 :            : 
      77                 :          0 : CubitStatus CAMergeStatus::reset()
      78                 :            : {
      79                 :          0 :   return CUBIT_SUCCESS;
      80                 :            : }
      81                 :            : 
      82                 :      10348 : CubitSimpleAttrib CAMergeStatus::cubit_simple_attrib()
      83                 :            : {
      84         [ +  - ]:      10348 :   if( deleteAttrib )
      85         [ +  - ]:      10348 :     return CubitSimpleAttrib();
      86                 :            :   
      87         [ #  # ]:          0 :   assert( status != AUTO_MERGE_AUTO );
      88                 :            : 
      89         [ #  # ]:          0 :   std::vector<CubitString> string_list;
      90 [ #  # ][ #  # ]:          0 :   string_list.push_back(att_internal_name());
         [ #  # ][ #  # ]
      91                 :            :   
      92                 :          0 :   int int_data = (int)status;
      93 [ #  # ][ #  # ]:          0 :   std::vector<int> int_list;
      94         [ #  # ]:          0 :   int_list.push_back( int_data );
      95                 :            :   
      96 [ #  # ][ #  # ]:      10348 :   return CubitSimpleAttrib( &string_list, 0, &int_list );
      97                 :            : }
      98                 :            : 
      99                 :      79894 : int CAMergeStatus::int_attrib_type()
     100                 :            : {
     101                 :      79894 :   return CA_MERGE_STATUS;
     102 [ +  - ][ +  - ]:       6540 : }
     103                 :            : 

Generated by: LCOV version 1.11