-
Jaswant Panchumarti authored
- vtkClipDataSet already has an InsideOut option. Although it is unable to make precision cuts in the 2D plane, probably because it is scalar-based. - This commit adds capability to invert output of vtkCookieCutter for all 2D, primary(including vtkPolygon), linear cells. - A new class `vtkCellClassification` helps in the cutting procedure. It is provided externally to the CookieCut methods. - Implements `vtkCell::CookieCut(..)` with similar signature as `vtkCell::Clip(..)` and `vtkCell::Contour(..)` - The implementation is present in vtkVertex.cxx, vtkLine.cxx and vtkPolygon.cxx - Composite cells are split up into constituent primary cells and each gets cut by clipper. (Just like contour) - Implementation for vtkVertex is straightforward. - For vtkLine, compute exterior strands just like the interior strands. - For vtkPolygon, a vtkMutableUndirectedGraph instance is used to weed out exterior edges from a set of interior edges. - Finally, resolve topo of each undirected graph, connect contiguous edges and output necessary polygons. - In case the output looks like a non-manifold graph, the procedure is aborted. - vtkQuad, vtkTriangle and vtkPixel shallow copy themselves into an instance of vtkPolygon which is then cut. - Add tests for vtkCookieCutter::InsideOutOff()
15a83a5e