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

Method ReadFieldData

IO/XML/vtkXMLReader.cxx:1116–1162  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1114}
1115
1116void vtkXMLReader::ReadFieldData()
1117{
1118 if (this->FieldDataElement) // read the field data information
1119 {
1120 vtkIdType numTuples;
1121 vtkFieldData* fieldData = this->GetCurrentOutput()->GetFieldData();
1122 std::vector<vtkXMLDataElement*> elementsToRemove;
1123 for (int i = 0; i < this->FieldDataElement->GetNumberOfNestedElements() && !this->AbortExecute;
1124 i++)
1125 {
1126 vtkXMLDataElement* eNested = this->FieldDataElement->GetNestedElement(i);
1127 const char* ename = eNested->GetAttribute("Name");
1128 if (!fieldData->HasArray(ename))
1129 {
1130 vtkAbstractArray* array = this->CreateArray(eNested);
1131 if (array)
1132 {
1133 if (eNested->GetScalarAttribute("NumberOfTuples", numTuples))
1134 {
1135 array->SetNumberOfTuples(numTuples);
1136 }
1137 else
1138 {
1139 numTuples = 0;
1140 }
1141 fieldData->AddArray(array);
1142 array->Delete();
1143 if (!this->ReadArrayValues(
1144 eNested, 0, array, 0, numTuples * array->GetNumberOfComponents()) &&
1145 numTuples)
1146 {
1147 this->DataError = 1;
1148 }
1149 }
1150 }
1151 else
1152 {
1153 vtkWarningMacro("Another cell data array named " << ename << " already exists. Ignoring.");
1154 elementsToRemove.push_back(eNested);
1155 }
1156 }
1157 for (const auto& elem : elementsToRemove)
1158 {
1159 this->FieldDataElement->RemoveNestedElement(elem);
1160 }
1161 }
1162}
1163
1164//------------------------------------------------------------------------------
1165// Methods used for deserializing vtkInformation. ----------------------------

Callers 5

ReadXMLDataMethod · 0.45
ReadXMLDataMethod · 0.45
ReadXMLDataMethod · 0.45
ReadXMLDataMethod · 0.45
ReadXMLDataMethod · 0.45

Calls 15

GetCurrentOutputMethod · 0.95
CreateArrayMethod · 0.95
ReadArrayValuesMethod · 0.95
GetNestedElementMethod · 0.80
GetScalarAttributeMethod · 0.80
RemoveNestedElementMethod · 0.80
DeleteMethod · 0.65
GetFieldDataMethod · 0.45
GetAttributeMethod · 0.45
HasArrayMethod · 0.45
SetNumberOfTuplesMethod · 0.45

Tested by

no test coverage detected