LCOV - code coverage report
Current view: top level - geom - CAEntityColor.cpp (source / functions) Hit Total Coverage
Test: coverage_sk.info Lines: 19 45 42.2 %
Date: 2020-06-30 00:58:45 Functions: 7 10 70.0 %
Branches: 16 70 22.9 %

           Branch data     Line data    Source code
       1                 :            : //- File:           CAEntityColor.cpp
       2                 :            : //- Owner:          Joel Kopp
       3                 :            : //- Description:    Cubit Attribute for entity colors.
       4                 :            : //- Checked By:
       5                 :            : //- Version:
       6                 :            : 
       7                 :            : #include "CAEntityColor.hpp"
       8                 :            : #include "RefEntity.hpp"
       9                 :            : #include "RefVolume.hpp"
      10                 :            : #include "CastTo.hpp"
      11                 :            : #include "CubitMessage.hpp"
      12                 :            : 
      13                 :      10348 : CubitAttrib* CAEntityColor_creator(RefEntity* entity, const CubitSimpleAttrib &p_csa)
      14                 :            : {
      15         [ +  - ]:      10348 :   return new CAEntityColor(entity, p_csa);
      16                 :            : }
      17                 :            : 
      18                 :      10348 : CAEntityColor::CAEntityColor(RefEntity* new_attrib_owner,
      19                 :            :                        const CubitSimpleAttrib &csa_ptr)
      20                 :      10348 :         : CubitAttrib(new_attrib_owner)
      21                 :            : {
      22                 :      10348 :   entityColor = 0;
      23                 :            : 
      24 [ +  - ][ -  + ]:      10348 :   if(!csa_ptr.isEmpty())
      25                 :            :   {
      26         [ #  # ]:          0 :     const std::vector<int>& i_list = csa_ptr.int_data_list();
      27 [ #  # ][ #  # ]:          0 :     assert(i_list.size() > 0);
      28         [ #  # ]:          0 :     entityColor = i_list[0];
      29                 :            :   }
      30                 :      10348 : }
      31                 :            : 
      32                 :      31044 : CAEntityColor::~CAEntityColor()
      33                 :            : {
      34         [ -  + ]:      20696 : }
      35                 :            : 
      36                 :            : 
      37                 :          0 : CubitStatus CAEntityColor::actuate()
      38                 :            : {
      39         [ #  # ]:          0 :    if ( hasActuated)
      40                 :          0 :       return CUBIT_SUCCESS;
      41                 :            :    
      42         [ #  # ]:          0 :    if ( !attribOwnerEntity )
      43                 :          0 :       return CUBIT_FAILURE;
      44                 :            :    
      45                 :          0 :    deleteAttrib = CUBIT_FALSE;
      46                 :            :    
      47                 :            :    //- If actuating after import, change the color.  Else (auto actuated) color is already changed...
      48 [ #  # ][ #  # ]:          0 :    if( attribOwnerEntity->color() == CUBIT_DEFAULT_COLOR_INDEX || 
                 [ #  # ]
      49         [ #  # ]:          0 :            dynamic_cast<RefVolume*>(attribOwnerEntity) )
      50                 :            :    {
      51                 :          0 :       attribOwnerEntity->color(entityColor);
      52                 :            :    }
      53                 :            :    
      54                 :          0 :    hasActuated = CUBIT_TRUE;
      55                 :          0 :    return CUBIT_SUCCESS;
      56                 :            : }
      57                 :            : 
      58                 :      10348 : CubitStatus CAEntityColor::update()
      59                 :            : {
      60                 :      10348 :       delete_attrib(CUBIT_TRUE);
      61                 :      10348 :       return CUBIT_SUCCESS;
      62                 :            : 
      63                 :            : /*
      64                 :            :    if ( hasUpdated ) 
      65                 :            :       return CUBIT_SUCCESS;
      66                 :            :    
      67                 :            :    if ( !attribOwnerEntity)
      68                 :            :       return CUBIT_FAILURE;
      69                 :            :    
      70                 :            :    entityColor = attribOwnerEntity->color();
      71                 :            :    
      72                 :            :    // set the updated flag
      73                 :            :    hasUpdated = CUBIT_TRUE;
      74                 :            : 
      75                 :            :    if( entityColor == -1 )
      76                 :            :    {
      77                 :            :       delete_attrib(CUBIT_TRUE);
      78                 :            :       return CUBIT_SUCCESS;
      79                 :            :    }
      80                 :            :    
      81                 :            :    return CUBIT_SUCCESS;
      82                 :            :    */
      83                 :            : }
      84                 :            : 
      85                 :          0 : void CAEntityColor::merge_owner(CubitAttrib *deletable_attrib)
      86                 :            : {
      87                 :            :     // take the id with the lowest value
      88         [ #  # ]:          0 :   CAEntityColor *other_caecolor = CAST_TO(deletable_attrib, CAEntityColor);
      89                 :            :   
      90         [ #  # ]:          0 :   if (other_caecolor)
      91                 :          0 :     entityColor = other_caecolor->color();
      92                 :          0 : }
      93                 :            : 
      94                 :      10348 : CubitSimpleAttrib CAEntityColor::cubit_simple_attrib()
      95                 :            : {
      96         [ +  - ]:      10348 :   std::vector<CubitString> cs_list;
      97 [ +  - ][ +  - ]:      20696 :   std::vector<int> i_list;
      98                 :            : 
      99         [ +  - ]:      10348 :   i_list.push_back ( entityColor );
     100                 :            :     
     101 [ +  - ][ +  - ]:      10348 :   cs_list.push_back(att_internal_name());
         [ +  - ][ +  - ]
     102                 :            : 
     103 [ +  - ][ +  - ]:      20696 :   return CubitSimpleAttrib(&cs_list, NULL, &i_list);
     104                 :            : }
     105                 :            : 
     106                 :          0 : void CAEntityColor::print()
     107                 :            : {
     108                 :            :     // print info on this attribute
     109                 :            :   
     110         [ #  # ]:          0 :   PRINT_INFO("CAEntityColor: owner = %s %d:   color ",
     111         [ #  # ]:          0 :              attribOwnerEntity->class_name(), attribOwnerEntity->id());
     112         [ #  # ]:          0 :   if ( entityColor > -1 )
     113         [ #  # ]:          0 :      PRINT_INFO("                             %d\n",
     114         [ #  # ]:          0 :      entityColor);
     115                 :            :   else
     116 [ #  # ][ #  # ]:          0 :      PRINT_INFO("\n");
     117 [ +  - ][ +  - ]:       6540 : }

Generated by: LCOV version 1.11