------------------------------------------------------------------------------
| 854 | |
| 855 | //------------------------------------------------------------------------------ |
| 856 | void vtkAMRResampleFilter::ComputeAMRBlocksToLoad(vtkOverlappingAMR* metadata) |
| 857 | { |
| 858 | assert("pre: metadata is nullptr" && (metadata != nullptr)); |
| 859 | |
| 860 | this->BlocksToLoad.clear(); |
| 861 | |
| 862 | unsigned int maxLevelToLoad = 0; |
| 863 | if (this->LevelOfResolution < static_cast<int>(metadata->GetNumberOfLevels())) |
| 864 | { |
| 865 | maxLevelToLoad = this->LevelOfResolution + 1; |
| 866 | } |
| 867 | else |
| 868 | { |
| 869 | maxLevelToLoad = metadata->GetNumberOfLevels(); |
| 870 | } |
| 871 | |
| 872 | unsigned int level = 0; |
| 873 | for (; level < maxLevelToLoad; ++level) |
| 874 | { |
| 875 | unsigned int dataIdx = 0; |
| 876 | for (; dataIdx < metadata->GetNumberOfBlocks(level); ++dataIdx) |
| 877 | { |
| 878 | double grd[6]; |
| 879 | metadata->GetBounds(level, dataIdx, grd); |
| 880 | if (this->IsBlockWithinBounds(grd)) |
| 881 | { |
| 882 | this->BlocksToLoad.push_back(metadata->GetAbsoluteBlockIndex(level, dataIdx)); |
| 883 | } // END check if the block is within the bounds of the ROI |
| 884 | } // END for all data |
| 885 | } // END for all levels |
| 886 | |
| 887 | std::sort(this->BlocksToLoad.begin(), this->BlocksToLoad.end()); |
| 888 | std::cerr << "Number Levels Loaded = " << maxLevelToLoad |
| 889 | << " Number of Blocks = " << BlocksToLoad.size() << "\n"; |
| 890 | } |
| 891 | |
| 892 | //------------------------------------------------------------------------------ |
| 893 | void vtkAMRResampleFilter::GetDomainParameters(vtkOverlappingAMR* amr, double domainMin[3], |
no test coverage detected