MCPcopy Create free account
hub / github.com/Kitware/VTK / CreateDataSet

Function CreateDataSet

Common/DataModel/Testing/Cxx/TestDataObjectTreeRange.cxx:239–298  ·  view source on GitHub ↗

Construct the following hierarchy for testing: M = MBDS; P = PolyData; 0 = null dataset ------------------------M------------------------ // depth 0 | | | | P 0 -------------------M-- M // depth 1 | | | | | -----M----- 0 P ------M ------------M // depth 2 | | | | |

Source from the content-addressed store, hash-verified

237// P // depth 5
238//
239vtkSmartPointer<vtkDataObjectTree> CreateDataSet()
240{
241 auto addPolyData = [](unsigned int blockNum,
242 vtkMultiBlockDataSet* mbds) -> vtkSmartPointer<vtkPolyData>
243 {
244 vtkNew<vtkPolyData> pd;
245 mbds->SetBlock(blockNum, pd);
246 return { pd };
247 };
248
249 auto addMultiBlock = [](unsigned int blockNum,
250 vtkMultiBlockDataSet* mbds) -> vtkSmartPointer<vtkMultiBlockDataSet>
251 {
252 auto newMbds = vtkSmartPointer<vtkMultiBlockDataSet>::New();
253 mbds->SetBlock(blockNum, newMbds);
254 return newMbds;
255 };
256
257 auto addNullDataSet = [](unsigned int blockNum, vtkMultiBlockDataSet* mbds) -> void
258 { mbds->SetBlock(blockNum, nullptr); };
259
260 auto cds00 = vtkSmartPointer<vtkMultiBlockDataSet>::New();
261 cds00->SetNumberOfBlocks(4);
262 addPolyData(0, cds00);
263 addNullDataSet(1, cds00);
264 auto cds10 = addMultiBlock(2, cds00);
265 auto cds11 = addMultiBlock(3, cds00);
266
267 cds10->SetNumberOfBlocks(4);
268 auto cds20 = addMultiBlock(0, cds10);
269 addNullDataSet(1, cds10);
270 addPolyData(2, cds10);
271 auto cds21 = addMultiBlock(3, cds10);
272
273 cds11->SetNumberOfBlocks(1);
274 auto cds22 = addMultiBlock(0, cds11);
275
276 cds20->SetNumberOfBlocks(3);
277 addNullDataSet(0, cds20);
278 addNullDataSet(1, cds20);
279 addNullDataSet(2, cds20);
280
281 cds21->SetNumberOfBlocks(2);
282 addPolyData(0, cds21);
283 addNullDataSet(1, cds21);
284
285 cds22->SetNumberOfBlocks(2);
286 auto cds30 = addMultiBlock(0, cds22);
287 addNullDataSet(1, cds22);
288
289 cds30->SetNumberOfBlocks(3);
290 auto cds40 = addMultiBlock(0, cds30);
291 addNullDataSet(1, cds30);
292 addPolyData(2, cds30);
293
294 cds40->SetNumberOfBlocks(1);
295 addPolyData(0, cds40);
296

Callers 1

TestDataObjectTreeRangeFunction · 0.70

Calls 3

SetBlockMethod · 0.80
SetNumberOfBlocksMethod · 0.80
NewFunction · 0.50

Tested by

no test coverage detected