------------------------------------------------------------------------------
| 605 | |
| 606 | //------------------------------------------------------------------------------ |
| 607 | vtkIdType vtkSLACReader::GetNumTuplesInVariable(int ncFD, int varId, int expectedNumComponents) |
| 608 | { |
| 609 | int numDims; |
| 610 | CALL_NETCDF_INT(nc_inq_varndims(ncFD, varId, &numDims)); |
| 611 | if (numDims != 2) |
| 612 | { |
| 613 | char name[NC_MAX_NAME + 1]; |
| 614 | CALL_NETCDF_INT(nc_inq_varname(ncFD, varId, name)); |
| 615 | vtkErrorMacro(<< "Wrong dimensions on " << name); |
| 616 | return 0; |
| 617 | } |
| 618 | |
| 619 | int dimIds[2]; |
| 620 | CALL_NETCDF_INT(nc_inq_vardimid(ncFD, varId, dimIds)); |
| 621 | |
| 622 | size_t dimLength; |
| 623 | CALL_NETCDF_INT(nc_inq_dimlen(ncFD, dimIds[1], &dimLength)); |
| 624 | if (static_cast<int>(dimLength) != expectedNumComponents) |
| 625 | { |
| 626 | char name[NC_MAX_NAME + 1]; |
| 627 | CALL_NETCDF_INT(nc_inq_varname(ncFD, varId, name)); |
| 628 | vtkErrorMacro(<< "Unexpected tuple size on " << name); |
| 629 | return 0; |
| 630 | } |
| 631 | |
| 632 | CALL_NETCDF_INT(nc_inq_dimlen(ncFD, dimIds[0], &dimLength)); |
| 633 | return static_cast<vtkIdType>(dimLength); |
| 634 | } |
| 635 | |
| 636 | //------------------------------------------------------------------------------ |
| 637 | int vtkSLACReader::RequestInformation(vtkInformation* vtkNotUsed(request), |
no test coverage detected