Selection rework
@utkarsh.ayachit @cory-quammen
This is WIP for the selection refactor. So far this branch refactors vtkExtractSelectedFrustum
to separate the "what cells/points are selected" query from the "extract the selected cells/points" logic. The new version first finds the selected cells/points, inverts them if necessary, then calls the new ExtractSelectedCells
/ExtractSelectedPoints
functions on vtkExtractSelectionBase
.
Known issues(?):
This branch changes the interaction between inverting the selection and including the cells that contain the selected points. The old version (from my reading of it) did this: (((selection) with containing cells) inverted)
, but my new version does this: (((selection) inverted) with containing cells)
.
I had to convert some function calls to create local vtkPlanes and vtkGenericCells to avoid threading issues with GetPlane/GetCell (and some others that get points/vectors but those don't allocate). I think performance could probably be improved, especially if the plane created in the tight loop is refactored out.