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 : :
|