| 162 | */ |
| 163 | template<typename T> |
| 164 | void setField(Dimension::Id dim, T val) |
| 165 | { |
| 166 | Dimension::Type type = m_table->layout()->dimDetail(dim)->type(); |
| 167 | Everything e; |
| 168 | bool success = false; |
| 169 | |
| 170 | switch (type) |
| 171 | { |
| 172 | case Dimension::Type::Unsigned8: |
| 173 | success = Utils::numericCast(val, e.u8); |
| 174 | break; |
| 175 | case Dimension::Type::Unsigned16: |
| 176 | success = Utils::numericCast(val, e.u16); |
| 177 | break; |
| 178 | case Dimension::Type::Unsigned32: |
| 179 | success = Utils::numericCast(val, e.u32); |
| 180 | break; |
| 181 | case Dimension::Type::Unsigned64: |
| 182 | success = Utils::numericCast(val, e.u64); |
| 183 | break; |
| 184 | case Dimension::Type::Signed8: |
| 185 | success = Utils::numericCast(val, e.s8); |
| 186 | break; |
| 187 | case Dimension::Type::Signed16: |
| 188 | success = Utils::numericCast(val, e.s16); |
| 189 | break; |
| 190 | case Dimension::Type::Signed32: |
| 191 | success = Utils::numericCast(val, e.s32); |
| 192 | break; |
| 193 | case Dimension::Type::Signed64: |
| 194 | success = Utils::numericCast(val, e.s64); |
| 195 | break; |
| 196 | case Dimension::Type::Float: |
| 197 | success = Utils::numericCast(val, e.f); |
| 198 | break; |
| 199 | case Dimension::Type::Double: |
| 200 | success = Utils::numericCast(val, e.d); |
| 201 | break; |
| 202 | case Dimension::Type::None: |
| 203 | break; |
| 204 | } |
| 205 | |
| 206 | if (success) |
| 207 | setFieldInternal(dim, &e); |
| 208 | } |
| 209 | |
| 210 | /** |
| 211 | Set the ID of a PointRef. |
no test coverage detected