------------------------------------------------------------------------------
| 2447 | |
| 2448 | //------------------------------------------------------------------------------ |
| 2449 | void vtkXMLWriter::WritePointDataAppendedData( |
| 2450 | vtkPointData* pd, int timestep, OffsetsManagerGroup* pdManager) |
| 2451 | { |
| 2452 | float progressRange[2] = { 0.f, 0.f }; |
| 2453 | |
| 2454 | this->GetProgressRange(progressRange); |
| 2455 | for (int i = 0; i < pd->GetNumberOfArrays(); ++i) |
| 2456 | { |
| 2457 | this->SetProgressRange(progressRange, i, pd->GetNumberOfArrays()); |
| 2458 | vtkMTimeType mtime = pd->GetMTime(); |
| 2459 | // Only write pd if MTime has changed |
| 2460 | vtkMTimeType& pdMTime = pdManager->GetElement(i).GetLastMTime(); |
| 2461 | vtkAbstractArray* a = pd->GetAbstractArray(i); |
| 2462 | if (pdMTime != mtime || timestep == 0) |
| 2463 | { |
| 2464 | pdMTime = mtime; |
| 2465 | this->WriteArrayAppendedData(a, pdManager->GetElement(i).GetPosition(timestep), |
| 2466 | pdManager->GetElement(i).GetOffsetValue(timestep)); |
| 2467 | if (this->ErrorCode != vtkErrorCode::NoError) |
| 2468 | { |
| 2469 | return; |
| 2470 | } |
| 2471 | } |
| 2472 | else |
| 2473 | { |
| 2474 | assert(timestep > 0); |
| 2475 | pdManager->GetElement(i).GetOffsetValue(timestep) = |
| 2476 | pdManager->GetElement(i).GetOffsetValue(timestep - 1); |
| 2477 | this->ForwardAppendedDataOffset(pdManager->GetElement(i).GetPosition(timestep), |
| 2478 | pdManager->GetElement(i).GetOffsetValue(timestep), "offset"); |
| 2479 | } |
| 2480 | vtkDataArray* d = vtkArrayDownCast<vtkDataArray>(a); |
| 2481 | if (d) |
| 2482 | { |
| 2483 | // ranges are only written in case of Data Arrays. |
| 2484 | double range[2]; |
| 2485 | d->GetRange(range, -1); |
| 2486 | this->ForwardAppendedDataDouble( |
| 2487 | pdManager->GetElement(i).GetRangeMinPosition(timestep), range[0], "RangeMin"); |
| 2488 | this->ForwardAppendedDataDouble( |
| 2489 | pdManager->GetElement(i).GetRangeMaxPosition(timestep), range[1], "RangeMax"); |
| 2490 | } |
| 2491 | } |
| 2492 | } |
| 2493 | |
| 2494 | //------------------------------------------------------------------------------ |
| 2495 | void vtkXMLWriter::WriteCellDataAppended( |
no test coverage detected