MCPcopy Create free account
hub / github.com/Kitware/VTK / WriteCellDataAppendedData

Method WriteCellDataAppendedData

IO/XML/vtkXMLWriter.cxx:2539–2581  ·  view source on GitHub ↗

------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

2537
2538//------------------------------------------------------------------------------
2539void 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//------------------------------------------------------------------------------
2584void vtkXMLWriter::WriteAttributeIndices(vtkDataSetAttributes* dsa, char** names)

Callers 2

Calls 11

GetProgressRangeMethod · 0.95
SetProgressRangeMethod · 0.95
GetAbstractArrayMethod · 0.80
assertFunction · 0.50
GetNumberOfArraysMethod · 0.45
GetMTimeMethod · 0.45
GetPositionMethod · 0.45
GetRangeMethod · 0.45

Tested by

no test coverage detected