MantisBT - VTK
View Issue Details
0013004VTK(No Category)public2012-03-15 15:412013-04-05 20:32
Leo Liu 
George Zagaris 
normalminorhave not tried
closedfixed 
 
 
TBD
incorrect functionality
0013004: composite data set iterator seems buggy with vtkOverlappingAMR
If you run the following code snippet,

  vtkNew<vtkAMRGaussianPulseSource> imageSource;
  imageSource->Update();

  vtkOverlappingAMR* amr = vtkOverlappingAMR::SafeDownCast(imageSource->GetOutputDataObject(0));
  vtkCompositeDataIterator * iter = amr->NewIterator();
  iter->InitTraversal();
  while ( !iter->IsDoneWithTraversal() )
    {
    vtkAMRBox box =amr->GetAMRBox(iter);
    vtkUniformGrid* grid = vtkUniformGrid::SafeDownCast(iter->GetCurrentDataObject());
    assert(grid);
    int numCells = grid->GetNumberOfCells();
    cout<<"AMR box info: "<<"level "<<box.GetLevel()<<", Block: "<<box.GetBlockId()<<endl;
    iter->GoToNextItem();
    }

You get the output:

AMR box info: level 0, Block: 0
AMR box info: level 0, Block: 0
AMR box info: level 0, Block: 1

Notice that the first and the second block has identical (level, block) pair. This is not right.
No tags attached.
Issue History
2012-03-15 15:41Leo LiuNew Issue
2012-03-15 15:41Leo LiuStatusbacklog => tabled
2012-03-15 15:41Leo LiuAssigned To => George Zagaris
2012-03-15 17:18George ZagarisNote Added: 0028364
2012-03-15 17:18George ZagarisStatustabled => customer review
2012-03-15 17:18George ZagarisResolutionopen => fixed
2013-04-05 20:32Berk GeveciStatuscustomer review => closed

Notes
(0028364)
George Zagaris   
2012-03-15 17:18   
This is fixed and a topic is pushed to gerrit for review. See T260amr-i: amr-iterator-fixvtkOverlappingAMR::GetAMRBox internally downcasts to vtkUniformGridAMRDataIterator which has access methods to the CurrentLevel and correctly sets the Level of the AMRBox. The AMR box is now correctly constructed.