/*========================================================================= Program: Visualization Toolkit Module: $RCSfile: vtkGenericCutter.h,v $ Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen All rights reserved. See Copyright.txt or http://www.kitware.com/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notice for more information. =========================================================================*/ // .NAME vtkGenericCutter - cut a vtkGenericDataSet with an implicit function or scalar data // .SECTION Description // vtkGenericCutter is a filter to cut through data using any subclass of // vtkImplicitFunction. That is, a polygonal surface is created // corresponding to the implicit function F(x,y,z) = value(s), where // you can specify one or more values used to cut with. // // In VTK, cutting means reducing a cell of dimension N to a cut surface // of dimension N-1. For example, a tetrahedron when cut by a plane (i.e., // vtkPlane implicit function) will generate triangles. (In comparison, // clipping takes a N dimensional cell and creates N dimension primitives.) // // vtkGenericCutter is generally used to "slice-through" a dataset, generating // a surface that can be visualized. It is also possible to use // vtkGenericCutter to do a form of volume rendering. vtkGenericCutter does // this by generating multiple cut surfaces (usually planes) which are ordered // (and rendered) from back-to-front. The surfaces are set translucent to give // a volumetric rendering effect. // // This filter has been implemented to operate on generic datasets, rather // than the typical vtkDataSet (and subclasses). vtkGenericDataSet is a more // complex cousin of vtkDataSet, typically consisting of nonlinear, // higher-order cells. To process this type of data, generic cells are // automatically tessellated into linear cells prior to isocontouring. // .SECTION See Also // vtkCutter vtkImplicitFunction vtkClipPolyData vtkGenericDataSet #ifndef __vtkGenericCutter_h #define __vtkGenericCutter_h #include "vtkPolyDataAlgorithm.h" class vtkContourValues; class vtkImplicitFunction; class vtkIncrementalPointLocator; class vtkPointData; class vtkCellData; class VTK_GENERIC_FILTERING_EXPORT vtkGenericCutter : public vtkPolyDataAlgorithm { public: vtkTypeRevisionMacro(vtkGenericCutter,vtkPolyDataAlgorithm); void PrintSelf(ostream& os, vtkIndent indent); // Description: // Construct with user-specified implicit function; initial value of 0.0; and // generating cut scalars turned off. static vtkGenericCutter *New(); // Description: // Set a particular contour value at contour number i. The index i ranges // between 0<=i