------------------------------------------------------------------------------
| 2537 | |
| 2538 | //------------------------------------------------------------------------------ |
| 2539 | void vtkXMLWriter::WriteCellDataAppendedData( |
| 2540 | vtkCellData* cd, int timestep, OffsetsManagerGroup* cdManager) |
| 2541 | { |
| 2542 | float progressRange[2] = { 0.f, 0.f }; |
| 2543 | this->GetProgressRange(progressRange); |
| 2544 | |
| 2545 | for (int i = 0; i < cd->GetNumberOfArrays(); ++i) |
| 2546 | { |
| 2547 | this->SetProgressRange(progressRange, i, cd->GetNumberOfArrays()); |
| 2548 | vtkMTimeType mtime = cd->GetMTime(); |
| 2549 | // Only write pd if MTime has changed |
| 2550 | vtkMTimeType& cdMTime = cdManager->GetElement(i).GetLastMTime(); |
| 2551 | vtkAbstractArray* a = cd->GetAbstractArray(i); |
| 2552 | if (cdMTime != mtime) |
| 2553 | { |
| 2554 | cdMTime = mtime; |
| 2555 | this->WriteArrayAppendedData(a, cdManager->GetElement(i).GetPosition(timestep), |
| 2556 | cdManager->GetElement(i).GetOffsetValue(timestep)); |
| 2557 | if (this->ErrorCode != vtkErrorCode::NoError) |
| 2558 | { |
| 2559 | return; |
| 2560 | } |
| 2561 | } |
| 2562 | else |
| 2563 | { |
| 2564 | assert(timestep > 0); |
| 2565 | cdManager->GetElement(i).GetOffsetValue(timestep) = |
| 2566 | cdManager->GetElement(i).GetOffsetValue(timestep - 1); |
| 2567 | this->ForwardAppendedDataOffset(cdManager->GetElement(i).GetPosition(timestep), |
| 2568 | cdManager->GetElement(i).GetOffsetValue(timestep), "offset"); |
| 2569 | } |
| 2570 | vtkDataArray* d = vtkArrayDownCast<vtkDataArray>(a); |
| 2571 | if (d) |
| 2572 | { |
| 2573 | double range[2]; |
| 2574 | d->GetRange(range, -1); |
| 2575 | this->ForwardAppendedDataDouble( |
| 2576 | cdManager->GetElement(i).GetRangeMinPosition(timestep), range[0], "RangeMin"); |
| 2577 | this->ForwardAppendedDataDouble( |
| 2578 | cdManager->GetElement(i).GetRangeMaxPosition(timestep), range[1], "RangeMax"); |
| 2579 | } |
| 2580 | } |
| 2581 | } |
| 2582 | |
| 2583 | //------------------------------------------------------------------------------ |
| 2584 | void vtkXMLWriter::WriteAttributeIndices(vtkDataSetAttributes* dsa, char** names) |
no test coverage detected