| 124 | } |
| 125 | |
| 126 | std::string vtkNetCDFCAMReader::Internal::GetNameDimension(int nc_file, int nc_var) const |
| 127 | { |
| 128 | int ndims; |
| 129 | if (nc_err(nc_inq_varndims(nc_file, nc_var, &ndims))) |
| 130 | { |
| 131 | return ""; |
| 132 | } |
| 133 | if (ndims < 2) |
| 134 | { |
| 135 | return ""; |
| 136 | } |
| 137 | |
| 138 | int dims[NC_MAX_VAR_DIMS]; |
| 139 | if (nc_err(nc_inq_vardimid(nc_file, nc_var, dims))) |
| 140 | { |
| 141 | return ""; |
| 142 | } |
| 143 | |
| 144 | std::ostringstream postfix; |
| 145 | |
| 146 | char ncname[NC_MAX_NAME + 1]; |
| 147 | if (nc_err(nc_inq_dimname(nc_file, dims[0], ncname))) |
| 148 | { |
| 149 | return ""; |
| 150 | } |
| 151 | postfix << "[" << ncname; |
| 152 | if (nc_err(nc_inq_dimname(nc_file, dims[1], ncname))) |
| 153 | { |
| 154 | return ""; |
| 155 | } |
| 156 | postfix << "," << ncname; |
| 157 | |
| 158 | if (ndims > 2) |
| 159 | { |
| 160 | if (nc_err(nc_inq_dimname(nc_file, dims[2], ncname))) |
| 161 | { |
| 162 | return ""; |
| 163 | } |
| 164 | postfix << ", " << ncname; |
| 165 | } |
| 166 | postfix << "]"; |
| 167 | |
| 168 | if (nc_err(nc_inq_varname(nc_file, nc_var, ncname))) |
| 169 | { |
| 170 | return ""; |
| 171 | } |
| 172 | std::ostringstream name; |
| 173 | name << ncname << " " << postfix.str(); |
| 174 | return name.str(); |
| 175 | } |
| 176 | |
| 177 | //------------------------------------------------------------------------------ |
| 178 | vtkStandardNewMacro(vtkNetCDFCAMReader); |
no test coverage detected