------------------------------------------------------------------------------
| 317 | |
| 318 | //------------------------------------------------------------------------------ |
| 319 | void vtkFieldDataSerializer::Deserialize(vtkMultiProcessStream& bytestream, vtkFieldData* fieldData) |
| 320 | { |
| 321 | if (fieldData == nullptr) |
| 322 | { |
| 323 | vtkGenericWarningMacro("FieldData is nullptr!"); |
| 324 | return; |
| 325 | } |
| 326 | |
| 327 | if (bytestream.Empty()) |
| 328 | { |
| 329 | vtkGenericWarningMacro("Bytestream is empty!"); |
| 330 | return; |
| 331 | } |
| 332 | |
| 333 | // STEP 0: Get the number of arrays |
| 334 | int numberOfArrays = 0; |
| 335 | bytestream >> numberOfArrays; |
| 336 | |
| 337 | if (numberOfArrays == 0) |
| 338 | { |
| 339 | return; |
| 340 | } |
| 341 | |
| 342 | // STEP 1: Loop and deserialize each array |
| 343 | for (int array = 0; array < numberOfArrays; ++array) |
| 344 | { |
| 345 | vtkDataArray* dataArray = nullptr; |
| 346 | bytestream.Pop(dataArray); |
| 347 | assert("post: deserialized data array should not be nullptr!" && (dataArray != nullptr)); |
| 348 | fieldData->AddArray(dataArray); |
| 349 | dataArray->Delete(); |
| 350 | } // END for all arrays |
| 351 | } |
| 352 | |
| 353 | //------------------------------------------------------------------------------ |
| 354 | void vtkFieldDataSerializer::DeserializeDataArray( |