Skip to content
  • Will Schroeder's avatar
    A new, faster method for vtkPolyData::ComputeBounds() · 933371b3
    Will Schroeder authored
    Added new threaded methods in vtkPolyData and vtkBoundingBox
    for computing GetBounds(). Added a comparison test for the
    methods vtkPolyData::GetBounds(), vtkPoints::GetBounds(),
    and vtkBoundingBox::ComputeBounds(). The speed improvements on
    large meshes is approximately 10x.
    
    Also, the new vtkCellArray API, and the vtkArrayDispatch
    framework is used. Note, as before, this new vtkPolyData::GetBounds()
    only considers points used by cells to determine the bounding box.
    
    Performance considerations required tuning the vtkCellArray and
    vtkCellArrayIterator to share memory when possible (i.e., avoid
    copying). Also cleaned up documentation and API for these classes.
    A test was added to ensure that iterator is functioning properly
    (e.g., is faster, sharing storage buffer as appropriate).
    
    Finally discovered an error in vtkParametricKuen which was
    generating NaN on some systems, which messed up the GetBounds()
    computation.
    933371b3