VTK
vtkTableBasedClipDataSet.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkTableBasedClipDataSet.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
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.
13 
14 =========================================================================*/
15 
16 
17 /*****************************************************************************
18 *
19 * Copyright (c) 2000 - 2009, Lawrence Livermore National Security, LLC
20 * Produced at the Lawrence Livermore National Laboratory
21 * LLNL-CODE-400124
22 * All rights reserved.
23 *
24 * This file was adapted from the VisIt clipper (vtkVisItClipper). For details,
25 * see https://visit.llnl.gov/. The full copyright notice is contained in the
26 * file COPYRIGHT located at the root of the VisIt distribution or at
27 * http://www.llnl.gov/visit/copyright.html.
28 *
29 *****************************************************************************/
30 
31 
92 #ifndef __vtkTableBasedClipDataSet_h
93 #define __vtkTableBasedClipDataSet_h
94 
96 
97 class vtkCallbackCommand;
100 
102 {
103 public:
105  void PrintSelf( ostream & os, vtkIndent indent );
106 
110  static vtkTableBasedClipDataSet * New();
111 
114  unsigned long GetMTime();
115 
117 
123  vtkSetMacro( InsideOut, int );
124  vtkGetMacro( InsideOut, int );
125  vtkBooleanMacro( InsideOut, int );
127 
129 
133  vtkSetMacro( Value, double );
134  vtkGetMacro( Value, double );
136 
138 
142  vtkSetMacro( UseValueAsOffset, bool );
143  vtkGetMacro( UseValueAsOffset, bool );
144  vtkBooleanMacro( UseValueAsOffset, bool );
146 
148 
151  virtual void SetClipFunction( vtkImplicitFunction * );
152  vtkGetObjectMacro( ClipFunction, vtkImplicitFunction );
154 
156 
160  vtkSetMacro( GenerateClipScalars, int );
161  vtkGetMacro( GenerateClipScalars, int );
162  vtkBooleanMacro( GenerateClipScalars, int );
164 
166 
173  void SetLocator( vtkIncrementalPointLocator * locator );
174  vtkGetObjectMacro( Locator, vtkIncrementalPointLocator );
176 
178 
182  vtkSetClampMacro( MergeTolerance, double, 0.0001, 0.25 );
183  vtkGetMacro( MergeTolerance, double );
185 
188  void CreateDefaultLocator();
189 
191 
193  vtkSetMacro( GenerateClippedOutput, int );
194  vtkGetMacro( GenerateClippedOutput, int );
195  vtkBooleanMacro( GenerateClippedOutput, int );
197 
199  vtkUnstructuredGrid * GetClippedOutput();
200 
202 
203  virtual int ProcessRequest( vtkInformation *,
206 protected:
210 
211  virtual int RequestData( vtkInformation *,
213  virtual int FillInputPortInformation( int port, vtkInformation * info );
214 
216 
219  void ClipDataSet( vtkDataSet * pDataSet,
220  vtkDataArray * clipAray, vtkUnstructuredGrid * unstruct );
222 
224 
226  void ClipImageData( vtkDataSet * inputGrd, vtkDataArray * clipAray,
227  double isoValue, vtkUnstructuredGrid * outputUG );
229 
231 
236  void ClipPolyData( vtkDataSet * inputGrd, vtkDataArray * clipAray,
237  double isoValue, vtkUnstructuredGrid * outputUG );
239 
241 
246  void ClipRectilinearGridData( vtkDataSet * inputGrd, vtkDataArray * clipAray,
247  double isoValue, vtkUnstructuredGrid * outputUG );
249 
251 
256  void ClipStructuredGridData( vtkDataSet * inputGrd, vtkDataArray * clipAray,
257  double isoValue, vtkUnstructuredGrid * outputUG );
259 
261 
266  void ClipUnstructuredGridData( vtkDataSet * inputGrd, vtkDataArray * clipAray,
267  double isoValue, vtkUnstructuredGrid * outputUG );
269 
270 
272 
273  static void InternalProgressCallbackFunction( vtkObject *, unsigned long,
274  void * clientdata, void * );
276 
278  void InternalProgressCallback( vtkAlgorithm * algorithm );
279 
280 
285  double Value;
290 
291 private:
292  vtkTableBasedClipDataSet( const vtkTableBasedClipDataSet &); // Not implemented.
293  void operator= ( const vtkTableBasedClipDataSet & ); // Not implemented.
294 };
295 
296 #endif
abstract interface for implicit functions
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
#define VTK_GRAPHICS_EXPORT
abstract base class for most VTK objects
Definition: vtkObject.h:60
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:58
vtkCallbackCommand * InternalProgressObserver
static vtkUnstructuredGridAlgorithm * New()
Abstract class in support of both point location and point insertion.
vtkImplicitFunction * ClipFunction
virtual int FillInputPortInformation(int port, vtkInformation *info)
supports function callbacks
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:59
virtual unsigned long GetMTime()
a simple class to control print indentation
Definition: vtkIndent.h:37
dataset represents arbitrary combinations of all possible cell types
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:53
void PrintSelf(ostream &os, vtkIndent indent)
Clip any dataset with a user-specified implicit function or an input scalar point data array...
Superclass for algorithms that produce only unstructured grid as output.
vtkIncrementalPointLocator * Locator
Store zero or more vtkInformation instances.
virtual int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *)