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

Method ReadVersion0

IO/XML/vtkXMLMultiBlockDataReader.cxx:49–82  ·  view source on GitHub ↗

------------------------------------------------------------------------------ This version does not support multiblock of multiblocks, so our work is simple.

Source from the content-addressed store, hash-verified

47// This version does not support multiblock of multiblocks, so our work is
48// simple.
49void vtkXMLMultiBlockDataReader::ReadVersion0(vtkXMLDataElement* element,
50 vtkCompositeDataSet* composite, const char* filePath, unsigned int& dataSetIndex)
51{
52 vtkMultiBlockDataSet* mblock = vtkMultiBlockDataSet::SafeDownCast(composite);
53 unsigned int numElems = element->GetNumberOfNestedElements();
54 for (unsigned int cc = 0; cc < numElems; ++cc)
55 {
56 vtkXMLDataElement* childXML = element->GetNestedElement(cc);
57 if (!childXML || !childXML->GetName() || strcmp(childXML->GetName(), "DataSet") != 0)
58 {
59 continue;
60 }
61 int group = 0;
62 int index = 0;
63 if (childXML->GetScalarAttribute("group", group) &&
64 childXML->GetScalarAttribute("dataset", index))
65 {
66 vtkSmartPointer<vtkDataSet> dataset;
67 if (this->ShouldReadDataSet(dataSetIndex))
68 {
69 dataset.TakeReference(this->ReadDataset(childXML, filePath));
70 }
71 vtkMultiBlockDataSet* block = vtkMultiBlockDataSet::SafeDownCast(mblock->GetBlock(group));
72 if (!block)
73 {
74 block = vtkMultiBlockDataSet::New();
75 mblock->SetBlock(group, block);
76 block->Delete();
77 }
78 block->SetBlock(index, dataset);
79 }
80 dataSetIndex++;
81 }
82}
83
84//------------------------------------------------------------------------------
85void vtkXMLMultiBlockDataReader::ReadComposite(vtkXMLDataElement* element,

Callers 1

ReadCompositeMethod · 0.95

Calls 11

GetNestedElementMethod · 0.80
GetScalarAttributeMethod · 0.80
ShouldReadDataSetMethod · 0.80
GetBlockMethod · 0.80
SetBlockMethod · 0.80
DeleteMethod · 0.65
NewFunction · 0.50
GetNameMethod · 0.45
TakeReferenceMethod · 0.45
ReadDatasetMethod · 0.45

Tested by

no test coverage detected