PeriDyno 1.0.0
Loading...
Searching...
No Matches
PIntegerViewerWidget.cpp
Go to the documentation of this file.
2#include <QHeaderView>
3
4
5namespace dyno
6{
7
9 PDataViewerWidget(field, pParent)
10 {
11 mfield = field;
12
13 rowsHeight = 30;
14
16 }
17
18
23
25 {
26
27 // *************************** int ************************
28 {
29 CArray<int>* dataPtr = NULL;
30 CArray<int> cData;
31
32 // ************************ GPU **************************
34 if (int_GPU != nullptr)
35 {
36 std::shared_ptr<Array<int, DeviceType::GPU>>& data = int_GPU->getDataPtr();
37
38 cData.assign(*data);
39 dataPtr = &cData;
40 }
41
42 // ************************ CPU **************************
44 if (int_CPU != nullptr)
45 {
46 dataPtr = int_CPU->getDataPtr().get();
47 }
48
49 if (dataPtr != NULL)
50 {
51 uint rowId = first;
52 uint rowTarget = 0;
53 for (size_t i = first; i <= last; i++)
54 {
55 QString value = "";
56 value = (QString::number((*dataPtr)[i]));
57
58 addItemToPosition(value, rowTarget,0, QString::number(rowId), QString("int"));
59
60 QTableWidgetItem* header = new QTableWidgetItem;
61 header->setText(QString::number(i));
62 this->setVerticalHeaderItem(i, header);
63 rowId++;
64 rowTarget++;
65 }
66
67 }
68 }
69
70 // *************************** uint ************************
71 {
72 CArray<uint>* dataPtr = NULL;
73 CArray<uint> cData;
74
75 // ************************ GPU **************************
77 if (uint_GPU != nullptr)
78 {
79 std::shared_ptr<Array<uint, DeviceType::GPU>>& data = uint_GPU->getDataPtr();
80
81 cData.assign(*data);
82 dataPtr = &cData;
83 }
84
85 // ************************ CPU **************************
87 if (uint_CPU != nullptr)
88 {
89 dataPtr = uint_CPU->getDataPtr().get();
90 }
91
92 if (dataPtr != NULL)
93 {
94 uint rowId = first;
95 uint rowTarget = 0;
96 for (size_t i = first; i <= last; i++)
97 {
98
99 QString value = "";
100 value = (QString::number((*dataPtr)[i]));
101
102 addItemToPosition(value, rowTarget, 0, QString::number(rowId), QString("uint"));
103
104 QTableWidgetItem* header = new QTableWidgetItem;
105 header->setText(QString::number(i));
106 this->setVerticalHeaderItem(i, header);
107
108 rowId++;
109 rowTarget++;
110 }
111
112 }
113 }
114
115
116 }
117
119 {
120
121 // ************************ FVar<Vec3f> **************************
122 {
124 if (f != nullptr)
125 {
126 const auto& data = f->getValue();
127
128 QString value = "";
129 value = (QString::number(data));
130
131 addItemToPosition(value, 0, 0, QString::number(0), QString("int"));
132
133 QTableWidgetItem* header = new QTableWidgetItem;
134 header->setText(QString::number(0));
135 this->setVerticalHeaderItem(0, header);
136
137 }
138 }
139
140 // ************************ FVar<Vec3d> **************************
141 {
143 if (f != nullptr)
144 {
145 const auto& data = f->getValue();
146
147
148 QString value = "";
149 value = (QString::number(data));
150
151 addItemToPosition(value, 0, 0, QString::number(0), QString("uint"));
152
153
154 QTableWidgetItem* header = new QTableWidgetItem;
155 header->setText(QString::number(0));
156 this->setVerticalHeaderItem(0, header);
157
158 }
159 }
160
161
162
163 }
164
166 {
167 {
168 // *************************** int ************************
169 CArrayList<int>* dataPtr = NULL;
170 CArrayList<int> cData;
171
172 // ************************ GPU **************************
173 FArrayList<int, DeviceType::GPU>* f_GPU = TypeInfo::cast<FArrayList<int, DeviceType::GPU>>(mfield);
174 if (f_GPU != nullptr)
175 {
176 std::shared_ptr<ArrayList<int, DeviceType::GPU>>& data = f_GPU->getDataPtr();
177
178 cData.assign(*data);
179 dataPtr = &cData;
180 }
181
182 // ************************ CPU **************************
183 FArrayList<int, DeviceType::CPU>* f_CPU = TypeInfo::cast<FArrayList<int, DeviceType::CPU>>(mfield);
184 if (f_CPU != nullptr)
185 {
186 dataPtr = f_CPU->getDataPtr().get();
187 }
188
189
190 if (dataPtr == NULL)
191 return;
192
193 //BuildDataTable
194 uint rowId = first;
195 uint rowTarget = 0;
196 for (size_t i = first; i <= last; i++)
197 {
198 auto it = (*dataPtr)[i];
199
200 for (size_t j = 0; j < it.size(); j++)
201 {
202 auto trans = it[j];
203
204 QString value;
205
206 value.append(QString::number(trans));
207
208 addItemToPosition(value, rowTarget, j, QString::number(rowId), QString("[") + QString::number(j) + QString("]") , true, rowsHeight);
209
210 value.clear();
211 }
212 rowId++;
213 rowTarget++;
214 }
215
216 }
217
218
219
220 {
221
222 // *************************** uint ************************
223 CArrayList<uint>* dataPtr = NULL;
224 CArrayList<uint> cData;
225
226 // ************************ GPU **************************
227 FArrayList<uint, DeviceType::GPU>* f_GPU = TypeInfo::cast<FArrayList<uint, DeviceType::GPU>>(mfield);
228 if (f_GPU != nullptr)
229 {
230 std::shared_ptr<ArrayList<uint, DeviceType::GPU>>& data = f_GPU->getDataPtr();
231
232 cData.assign(*data);
233 dataPtr = &cData;
234 }
235
236 // ************************ CPU **************************
237 FArrayList<uint, DeviceType::CPU>* f_CPU = TypeInfo::cast<FArrayList<uint, DeviceType::CPU>>(mfield);
238 if (f_CPU != nullptr)
239 {
240 dataPtr = f_CPU->getDataPtr().get();
241 }
242
243
244 if (dataPtr == NULL)
245 return;
246
247 //BuildDataTable
248 uint rowId = first;
249 uint rowTarget = 0;
250 for (size_t i = first; i <= last; i++)
251 {
252 auto it = (*dataPtr)[i];
253
254 for (size_t j = 0; j < it.size(); j++)
255 {
256 auto trans = it[j];
257
258 QString value;
259
260 value.append(QString::number(trans));
261
262 addItemToPosition(value, rowTarget, j, QString::number(rowId), QString("[") + QString::number(j) + QString("]"), true, rowsHeight);
263
264 value.clear();
265 }
266 rowId++;
267 rowTarget++;
268 }
269
270 }
271
272 }
273
274
275}
T getValue()
Definition Field.h:130
PDataViewerWidget(FBase *field, QWidget *pParent=NULL)
void addItemToPosition(const QString &qstr, int row, int column, const QString &rowName, const QString &columnName, const bool resizeRow=false, const int height=30)
void buildArrayListDataTable(int first, int last) override
void buildArrayDataTable(int first, int last) override
PIntegerViewerWidget(FBase *field, QWidget *pParent=NULL)
TA * cast(TB *b)
Definition Typedef.inl:286
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25
ArrayList< T, DeviceType::CPU > CArrayList
Definition ArrayList.h:207
Array< T, DeviceType::CPU > CArray
Definition Array.h:151
unsigned int uint
Definition VkProgram.h:14