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

Method LoadPointVarData

IO/NetCDF/vtkMPASReader.cxx:2482–2525  ·  view source on GitHub ↗

------------------------------------------------------------------------------ Load the data for a point variable ------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

2480// Load the data for a point variable
2481//------------------------------------------------------------------------------
2482vtkDataArray* vtkMPASReader::LoadPointVarData(int variableIndex)
2483{
2484 int varid = this->Internals->pointVars[variableIndex];
2485 char varname[NC_MAX_NAME + 1];
2486 if (this->Internals->nc_err(nc_inq_varname(this->Internals->ncFile, varid, varname)))
2487 {
2488 vtkErrorMacro(<< "No NetCDF data for pointVar @ index " << variableIndex);
2489 return nullptr;
2490 }
2491
2492 vtkDebugMacro(<< "Loading point data array named: " << varname);
2493
2494 // Get data type:
2495 nc_type typeNc;
2496 if (this->Internals->nc_err(nc_inq_vartype(this->Internals->ncFile, varid, &typeNc)))
2497 {
2498 return nullptr;
2499 }
2500 int typeVtk = NcTypeToVtkType(typeNc);
2501
2502 // Allocate data array pointer for this variable:
2503 vtkSmartPointer<vtkDataArray> array = this->LookupPointDataArray(variableIndex);
2504 if (array == nullptr)
2505 {
2506 vtkDebugMacro(<< "Allocating data array.");
2507 array = vtkSmartPointer<vtkDataArray>::Take(vtkDataArray::CreateDataArray(typeVtk));
2508 }
2509 array->SetName(varname);
2510 array->SetNumberOfComponents(1);
2511 array->SetNumberOfTuples(this->MaximumPoints);
2512
2513 if (!MPASDispatcher::Execute(array, *this->Internals, varid, vtkMPASReader::Internal::Point{}))
2514 {
2515 vtkErrorMacro(<< "Unsupported data type for variable: " << varname);
2516 return nullptr;
2517 }
2518
2519 if (this->Internals->PointResult)
2520 {
2521 this->Internals->pointArrays[variableIndex] = array;
2522 return array;
2523 }
2524 return nullptr;
2525}
2526
2527//------------------------------------------------------------------------------
2528// Load the data for a cell variable

Callers 1

RequestDataMethod · 0.95

Calls 11

LookupPointDataArrayMethod · 0.95
nc_inq_varnameFunction · 0.85
nc_inq_vartypeFunction · 0.85
NcTypeToVtkTypeFunction · 0.85
TakeFunction · 0.85
CreateDataArrayFunction · 0.50
ExecuteFunction · 0.50
nc_errMethod · 0.45
SetNameMethod · 0.45
SetNumberOfComponentsMethod · 0.45
SetNumberOfTuplesMethod · 0.45

Tested by

no test coverage detected