1 /*=========================================================================
3 Program: Visualization Toolkit
4 Module: vtkStaticDataSetSurfaceFilter.h
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
14 =========================================================================*/
16 * @class vtkStaticDataSetSurfaceFilter
17 * @brief Extract the surface of a dataset, optimized for static unstructured grid
19 * vtkStaticDataSetSurfaceFilter is a specialization of vtkDataSetSurfaceFilter
20 * that uses a cache to store the surface output and reuses it when associated data
21 * changes over the time, but the geometry of a unstructured grid is static.
22 * It is to be noted that, since ParaView use the same surface filter
23 * for each block of a MultiBlock, this filter is not effective with multiblock
27 * vtkStaticMeshObjectFactory
30 #ifndef vtkStaticDataSetSurfaceFilter_h
31 #define vtkStaticDataSetSurfaceFilter_h
33 #include "vtkDataSetSurfaceFilter.h"
38 class vtkStaticDataSetSurfaceFilter : public vtkDataSetSurfaceFilter
41 static vtkStaticDataSetSurfaceFilter* New();
42 typedef vtkDataSetSurfaceFilter
43 Superclass; // vtkTypeMacro can't be used with a factory built object
44 void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
46 int UnstructuredGridExecute(vtkDataSet* input, vtkPolyData* output) VTK_OVERRIDE;
49 vtkStaticDataSetSurfaceFilter();
50 ~vtkStaticDataSetSurfaceFilter() VTK_OVERRIDE;
52 vtkNew<vtkPolyData> Cache;
53 vtkMTimeType InputMeshTime;
54 vtkMTimeType FilterMTime;
57 // Hide these from the user and the compiler.
58 vtkStaticDataSetSurfaceFilter(const vtkStaticDataSetSurfaceFilter&) VTK_DELETE_FUNCTION;
59 void operator=(const vtkStaticDataSetSurfaceFilter&) VTK_DELETE_FUNCTION;