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

Method ReadFieldData

IO/Legacy/vtkDataReader.cxx:3350–3415  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

3348
3349//------------------------------------------------------------------------------
3350vtkFieldData* vtkDataReader::ReadFieldData(FieldType fieldType)
3351{
3352 int i, numArrays = 0, skipField = 0;
3353 vtkFieldData* f;
3354 char name[256], type[256];
3355 vtkIdType numComp, numTuples;
3356 vtkAbstractArray* data;
3357
3358 if (!(this->ReadString(name) && this->Read(&numArrays)))
3359 {
3360 const char* fname = this->CurrentFileName.c_str();
3361 vtkErrorMacro(<< "Cannot read field header!"
3362 << " for file: " << (fname ? fname : "(Null FileName)"));
3363 return nullptr;
3364 }
3365
3366 // See whether field data name (if specified)
3367 if ((this->FieldDataName && strcmp(name, this->FieldDataName) != 0))
3368 {
3369 skipField = 1;
3370 }
3371
3372 f = vtkFieldData::New();
3373 f->AllocateArrays(numArrays);
3374
3375 // Read the number of arrays specified
3376 for (i = 0; i < numArrays; i++)
3377 {
3378 char buffer[256];
3379 this->ReadString(buffer);
3380 if (strcmp(buffer, "NULL_ARRAY") == 0)
3381 {
3382 continue;
3383 }
3384 this->DecodeString(name, buffer);
3385 this->Read(&numComp);
3386 this->Read(&numTuples);
3387 this->ReadString(type);
3388 data = this->ReadArray(type, numTuples, numComp);
3389 if (data != nullptr)
3390 {
3391 if (!skipField || this->ReadAllFields)
3392 {
3393 data->SetName(name);
3394 this->ConvertGhostLevelsToGhostType(fieldType, data);
3395 f->AddArray(data);
3396 }
3397 data->Delete();
3398 }
3399 else
3400 {
3401 f->Delete();
3402 return nullptr;
3403 }
3404 }
3405
3406 if (skipField && !this->ReadAllFields)
3407 {

Callers 15

ReadCellDataMethod · 0.95
ReadPointDataMethod · 0.95
ReadVertexDataMethod · 0.95
ReadEdgeDataMethod · 0.95
ReadRowDataMethod · 0.95
ReadMeshSimpleMethod · 0.45
ReadMeshSimpleMethod · 0.45
ReadMeshSimpleMethod · 0.45
ReadMeshSimpleMethod · 0.45
ReadMeshSimpleMethod · 0.45
ReadMetaDataSimpleMethod · 0.45
ReadMeshSimpleMethod · 0.45

Calls 11

ReadStringMethod · 0.95
ReadMethod · 0.95
DecodeStringMethod · 0.95
ReadArrayMethod · 0.95
DeleteMethod · 0.65
NewFunction · 0.50
c_strMethod · 0.45
AllocateArraysMethod · 0.45
SetNameMethod · 0.45
AddArrayMethod · 0.45

Tested by

no test coverage detected