------------------------------------------------------------------------------ Load the data for a point variable ------------------------------------------------------------------------------
| 2480 | // Load the data for a point variable |
| 2481 | //------------------------------------------------------------------------------ |
| 2482 | vtkDataArray* 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 |
no test coverage detected