------------------------------------------------------------------------------
| 12093 | |
| 12094 | //------------------------------------------------------------------------------ |
| 12095 | double vtkOpenFOAMReader::ComputeProgress() |
| 12096 | { |
| 12097 | // get valid readers |
| 12098 | std::vector<vtkOpenFOAMReaderPrivate*> readers; |
| 12099 | for (auto& readerObj : this->Readers) |
| 12100 | { |
| 12101 | if (auto reader = vtkOpenFOAMReaderPrivate::SafeDownCast(readerObj)) |
| 12102 | { |
| 12103 | readers.push_back(reader); |
| 12104 | } |
| 12105 | } |
| 12106 | // compute the current progress |
| 12107 | if (!readers.empty()) |
| 12108 | { |
| 12109 | // compute the current progress |
| 12110 | const double sum = std::accumulate(readers.begin(), readers.end(), 0.0, |
| 12111 | [](double acc, const auto& reader) { return acc + reader->GetProgress(); }); |
| 12112 | return sum / readers.size(); |
| 12113 | } |
| 12114 | return 1.0; |
| 12115 | } |
| 12116 | |
| 12117 | //------------------------------------------------------------------------------ |
| 12118 | void vtkOpenFOAMReader::UpdateProgress(vtkOpenFOAMReaderPrivate* reader, double amount) |