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

Method WritePointDataAppendedData

IO/XML/vtkXMLWriter.cxx:2449–2492  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

2447
2448//------------------------------------------------------------------------------
2449void 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//------------------------------------------------------------------------------
2495void vtkXMLWriter::WriteCellDataAppended(

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