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

Method ReadGrid

IO/XML/vtkXMLHyperTreeGridReader.cxx:420–479  ·  view source on GitHub ↗

------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

418
419//------------------------------------------------------------------------------
420void vtkXMLHyperTreeGridReader::ReadGrid(vtkXMLDataElement* elem)
421{
422 vtkHyperTreeGrid* output = vtkHyperTreeGrid::SafeDownCast(this->GetCurrentOutput());
423
424 // Read the coordinates arrays
425 vtkXMLDataElement* xc =
426 elem->FindNestedElementWithNameAndAttribute("DataArray", "Name", "XCoordinates");
427 vtkXMLDataElement* yc =
428 elem->FindNestedElementWithNameAndAttribute("DataArray", "Name", "YCoordinates");
429 vtkXMLDataElement* zc =
430 elem->FindNestedElementWithNameAndAttribute("DataArray", "Name", "ZCoordinates");
431
432 vtkAbstractArray* xa = this->CreateArray(xc);
433 vtkAbstractArray* ya = this->CreateArray(yc);
434 vtkAbstractArray* za = this->CreateArray(zc);
435
436 auto x = vtkArrayDownCast<vtkDataArray>(xa);
437 auto y = vtkArrayDownCast<vtkDataArray>(ya);
438 auto z = vtkArrayDownCast<vtkDataArray>(za);
439
440 vtkIdType numX, numY, numZ;
441 xc->GetScalarAttribute("NumberOfTuples", numX);
442 yc->GetScalarAttribute("NumberOfTuples", numY);
443 zc->GetScalarAttribute("NumberOfTuples", numZ);
444
445 if (x && y && z)
446 {
447 x->SetNumberOfTuples(numX);
448 y->SetNumberOfTuples(numY);
449 z->SetNumberOfTuples(numZ);
450
451 this->ReadArrayValues(xc, 0, x, 0, numX);
452 this->ReadArrayValues(yc, 0, y, 0, numY);
453 this->ReadArrayValues(zc, 0, z, 0, numZ);
454
455 output->SetXCoordinates(x);
456 output->SetYCoordinates(y);
457 output->SetZCoordinates(z);
458
459 x->Delete();
460 y->Delete();
461 z->Delete();
462 }
463 else
464 {
465 if (xa)
466 {
467 xa->Delete();
468 }
469 if (ya)
470 {
471 ya->Delete();
472 }
473 if (za)
474 {
475 za->Delete();
476 }
477 this->DataError = 1;

Callers 1

ReadXMLDataMethod · 0.95

Calls 10

GetCurrentOutputMethod · 0.80
GetScalarAttributeMethod · 0.80
ReadArrayValuesMethod · 0.80
DeleteMethod · 0.65
CreateArrayMethod · 0.45
SetNumberOfTuplesMethod · 0.45
SetXCoordinatesMethod · 0.45
SetYCoordinatesMethod · 0.45
SetZCoordinatesMethod · 0.45

Tested by

no test coverage detected