LCOV - code coverage report
Current view: top level - geom - CubitSimpleAttrib.cpp (source / functions) Hit Total Coverage
Test: coverage_sk.info Lines: 49 81 60.5 %
Date: 2020-06-30 00:58:45 Functions: 12 16 75.0 %
Branches: 43 146 29.5 %

           Branch data     Line data    Source code
       1                 :            : //- Filename:    CubitSimpleAttrib.cc
       2                 :            : //- Description: Implementation of class CubitSimpleAttrib
       3                 :            : //- Owner:       Greg Nielson
       4                 :            : //- Checked by:
       5                 :            : //- Version:
       6                 :            : 
       7                 :            : #include <string.h>
       8                 :            : #include "SettingHandler.hpp"
       9                 :            : 
      10                 :            : #include "CubitSimpleAttrib.hpp"
      11                 :            : #include "CubitString.hpp"
      12                 :            : #include "CubitMessage.hpp"
      13                 :            : #include "RefEntity.hpp"
      14                 :            : #include "RefEntityFactory.hpp"
      15                 :            : #include "CubitFileIOWrapper.hpp"
      16                 :            : 
      17                 :            : CubitBoolean CubitSimpleAttrib::pushAttribs = CUBIT_FALSE;
      18                 :            : 
      19                 :            : //SettingHolder SettingHandler::settingObject43 = SettingHolder("Push_Attribs", CubitSimpleAttrib::set_push_attribs, CubitSimpleAttrib::get_push_attribs, CUBIT_FALSE);
      20                 :            : 
      21 [ +  - ][ +  - ]:    1053990 : CubitSimpleAttrib::CubitSimpleAttrib()
      22                 :            : {
      23                 :     526995 : }
      24                 :            : 
      25 [ +  - ][ +  - ]:    1710716 : CubitSimpleAttrib::~CubitSimpleAttrib()
      26                 :            : {
      27                 :     855358 : }
      28                 :            : 
      29                 :      11662 : CubitSimpleAttrib::CubitSimpleAttrib(const CubitString new_character_type,
      30                 :            :                                      const CubitString new_string_data,
      31                 :            :                                      const CubitString new_more_string_data,
      32                 :            :                                      const int* new_integer_data,
      33 [ +  - ][ +  - ]:      11662 :                                      const double* new_double_data)
      34                 :            : {
      35 [ +  - ][ -  + ]:      11662 :   assert(new_character_type.length() > 0);
      36                 :            : 
      37         [ +  - ]:      11662 :   stringDataList.push_back(new_character_type);
      38                 :            : 
      39 [ +  - ][ -  + ]:      11662 :   if (new_string_data.length()) {
      40         [ #  # ]:          0 :     stringDataList.push_back(new_string_data);
      41                 :            :   }
      42                 :            :   
      43 [ +  - ][ -  + ]:      11662 :   if (new_more_string_data.length()) {
      44         [ #  # ]:          0 :     stringDataList.push_back(new_more_string_data);
      45                 :            :   }
      46                 :            :   
      47         [ -  + ]:      11662 :   if(new_double_data)
      48         [ #  # ]:          0 :     doubleDataList.push_back( *new_double_data );
      49         [ +  - ]:      11662 :   if(new_integer_data)
      50         [ +  - ]:      11662 :     intDataList.push_back( *new_integer_data );
      51                 :            : 
      52                 :      11662 :   return;
      53                 :            : }
      54                 :            : 
      55                 :     537530 : bool CubitSimpleAttrib::isEmpty() const
      56                 :            : {
      57         [ +  - ]:     812675 :   return stringDataList.empty() &&
      58 [ +  + ][ +  - ]:     812675 :       doubleDataList.empty() &&
      59                 :     812675 :       intDataList.empty();
      60                 :            : }
      61                 :            : 
      62 [ +  - ][ +  - ]:     149642 : CubitSimpleAttrib::CubitSimpleAttrib(const CubitSimpleAttrib& csa_ptr)
      63                 :            : {
      64         [ +  - ]:      74821 :   this->stringDataList = csa_ptr.stringDataList;
      65         [ +  - ]:      74821 :   this->doubleDataList = csa_ptr.doubleDataList;
      66         [ +  - ]:      74821 :   this->intDataList = csa_ptr.intDataList;
      67                 :      74821 : }
      68                 :            : 
      69                 :     241982 : CubitSimpleAttrib::CubitSimpleAttrib(const std::vector<CubitString> *string_list,
      70                 :            :                                      const std::vector<double> *double_list,
      71 [ +  - ][ +  - ]:     241982 :                                      const std::vector<int> *int_list)
      72                 :            : {
      73         [ +  - ]:     241982 :   if(string_list)
      74         [ +  - ]:     241982 :     this->stringDataList = *string_list;
      75         [ +  + ]:     241982 :   if(double_list)
      76         [ +  - ]:     119523 :     this->doubleDataList = *double_list;
      77         [ +  + ]:     241982 :   if(int_list)
      78         [ +  - ]:     172615 :     this->intDataList = *int_list;
      79                 :     241982 : }
      80                 :            : 
      81                 :            : 
      82                 :         55 : CubitSimpleAttrib &CubitSimpleAttrib::operator=(const CubitSimpleAttrib &other)
      83                 :            : {
      84                 :         55 :     this->stringDataList = other.stringDataList;
      85                 :         55 :     this->intDataList = other.intDataList;
      86                 :         55 :     this->doubleDataList = other.doubleDataList;
      87                 :         55 :     return *this;
      88                 :            : }
      89                 :            : 
      90                 :     200459 : CubitString CubitSimpleAttrib::character_type() const //- returns the type of attribute
      91                 :            : {
      92         [ +  + ]:     200459 :   if(stringDataList.size() >= 1 )
      93                 :            :   {
      94                 :     178824 :     return stringDataList[0];
      95                 :            :   }
      96                 :      21635 :   return CubitString();
      97                 :            : }
      98                 :            : 
      99                 :          0 : void CubitSimpleAttrib::string_data_list( const std::vector<CubitString>& new_list)
     100                 :            : {
     101                 :          0 :   this->stringDataList = new_list;
     102                 :          0 : } 
     103                 :            : 
     104                 :          0 : void CubitSimpleAttrib::double_data_list(const std::vector<double>& new_list)
     105                 :            : {
     106                 :          0 :   doubleDataList = new_list;
     107                 :          0 : }
     108                 :            : 
     109                 :          0 : void CubitSimpleAttrib::int_data_list(const std::vector<int>& new_list)
     110                 :            : {
     111                 :          0 :   intDataList = new_list;
     112                 :          0 : }
     113                 :            : 
     114                 :       2899 : bool CubitSimpleAttrib::operator==(const CubitSimpleAttrib& other) const
     115                 :            : {
     116         [ +  - ]:       3794 :   return this->stringDataList == other.stringDataList &&
     117 [ +  + ][ +  - ]:       3794 :          this->doubleDataList == other.doubleDataList &&
     118                 :       3794 :          this->intDataList == other.intDataList;
     119                 :            : }
     120                 :            : 
     121                 :            : 
     122                 :            : //Initialize all settings in this class
     123                 :        874 : void CubitSimpleAttrib::initialize_settings()
     124                 :            : {
     125                 :            : 
     126                 :            :   SettingHandler::instance()->add_setting("Push Attribs", 
     127                 :            :                                          CubitSimpleAttrib::set_push_attribs, 
     128                 :        874 :                                          CubitSimpleAttrib::get_push_attribs); 
     129                 :        874 : }
     130                 :            : 
     131                 :          0 : void CubitSimpleAttrib::print() const
     132                 :            : {
     133 [ #  # ][ #  # ]:          0 :   PRINT_INFO("CSA: type = %s\n", stringDataList[0].c_str());
     134                 :            : 
     135 [ #  # ][ #  # ]:          0 :   PRINT_INFO("String data: ");
     136         [ #  # ]:          0 :   for ( size_t i=1; i<stringDataList.size(); i++)
     137 [ #  # ][ #  # ]:          0 :     PRINT_INFO("%s;", stringDataList[i].c_str());
     138         [ #  # ]:          0 :   if (stringDataList.size() == 0)
     139 [ #  # ][ #  # ]:          0 :     PRINT_INFO("(none)");
     140 [ #  # ][ #  # ]:          0 :   PRINT_INFO("\n");
     141                 :            :   
     142 [ #  # ][ #  # ]:          0 :   PRINT_INFO("Int data: ");
     143         [ #  # ]:          0 :   for (size_t i=0; i<intDataList.size(); i++)
     144 [ #  # ][ #  # ]:          0 :     PRINT_INFO("%d;", intDataList[i]);
     145         [ #  # ]:          0 :   if (intDataList.size() == 0)
     146 [ #  # ][ #  # ]:          0 :     PRINT_INFO("(none)");
     147 [ #  # ][ #  # ]:          0 :   PRINT_INFO("\n");
     148                 :            :   
     149 [ #  # ][ #  # ]:          0 :   PRINT_INFO("Double data: ");
     150         [ #  # ]:          0 :   for (size_t i=0; i<doubleDataList.size(); i++)
     151 [ #  # ][ #  # ]:          0 :     PRINT_INFO("%f;", doubleDataList[i]);
     152         [ #  # ]:          0 :   if (doubleDataList.size() == 0)
     153 [ #  # ][ #  # ]:          0 :     PRINT_INFO("(none)");
     154 [ #  # ][ #  # ]:          0 :   PRINT_INFO("\n");
     155 [ +  - ][ +  - ]:       6540 : }
     156                 :            : 

Generated by: LCOV version 1.11