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

Method LoadCellVarData

IO/NetCDF/vtkMPASReader.cxx:2531–2573  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2529//------------------------------------------------------------------------------
2530
2531vtkDataArray* vtkMPASReader::LoadCellVarData(int variableIndex)
2532{
2533 int varid = this->Internals->cellVars[variableIndex];
2534 char varname[NC_MAX_NAME + 1];
2535 if (this->Internals->nc_err(nc_inq_varname(this->Internals->ncFile, varid, varname)))
2536 {
2537 vtkErrorMacro(<< "No NetCDF data for cellVar @ index " << variableIndex);
2538 return nullptr;
2539 }
2540
2541 vtkDebugMacro(<< "Loading cell data array named: " << varname);
2542
2543 // Get data type:
2544 nc_type typeNc;
2545 if (this->Internals->nc_err(nc_inq_vartype(this->Internals->ncFile, varid, &typeNc)))
2546 {
2547 return nullptr;
2548 }
2549 int typeVtk = NcTypeToVtkType(typeNc);
2550
2551 // Allocate data array pointer for this variable:
2552 vtkSmartPointer<vtkDataArray> array = this->LookupCellDataArray(variableIndex);
2553 if (array == nullptr)
2554 {
2555 vtkDebugMacro(<< "Allocating data array.");
2556 array = vtkSmartPointer<vtkDataArray>::Take(vtkDataArray::CreateDataArray(typeVtk));
2557 }
2558 array->SetName(varname);
2559 array->SetNumberOfComponents(1);
2560 array->SetNumberOfTuples(this->MaximumCells);
2561
2562 if (!MPASDispatcher::Execute(array, *this->Internals, varid, vtkMPASReader::Internal::Cell{}))
2563 {
2564 vtkErrorMacro(<< "Unsupported data type for variable: " << varname);
2565 return nullptr;
2566 }
2567 if (this->Internals->CellResult)
2568 {
2569 this->Internals->cellArrays[variableIndex] = array;
2570 return array;
2571 }
2572 return nullptr;
2573}
2574
2575//------------------------------------------------------------------------------
2576vtkDataArray* vtkMPASReader::LookupPointDataArray(int varIdx)

Callers 1

RequestDataMethod · 0.95

Calls 11

LookupCellDataArrayMethod · 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