Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkGenericCutter.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkGenericCutter.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00058 #ifndef __vtkGenericCutter_h
00059 #define __vtkGenericCutter_h
00060 
00061 #include "vtkGenericDataSetToPolyDataFilter.h"
00062 
00063 class vtkContourValues;
00064 
00065 class vtkImplicitFunction;
00066 class vtkPointLocator;
00067 
00068 class VTK_GENERIC_FILTERING_EXPORT vtkGenericCutter : public vtkGenericDataSetToPolyDataFilter
00069 {
00070 public:
00071   vtkTypeRevisionMacro(vtkGenericCutter,vtkGenericDataSetToPolyDataFilter);
00072   void PrintSelf(ostream& os, vtkIndent indent);
00073 
00076   static vtkGenericCutter *New();
00077 
00080   void SetValue(int i, double value);
00081  
00083   double GetValue(int i);
00084 
00087   double *GetValues();
00088 
00092   void GetValues(double *contourValues);
00093  
00097   void SetNumberOfContours(int number);
00098 
00100   int GetNumberOfContours();
00101 
00104   void GenerateValues(int numContours, double range[2]);
00105 
00108   void GenerateValues(int numContours, double rangeStart, double rangeEnd);
00109 
00112   unsigned long GetMTime();
00113 
00115 
00116   virtual void SetCutFunction(vtkImplicitFunction*);
00117   vtkGetObjectMacro(CutFunction,vtkImplicitFunction);
00119 
00121 
00124   vtkSetMacro(GenerateCutScalars,int);
00125   vtkGetMacro(GenerateCutScalars,int);
00126   vtkBooleanMacro(GenerateCutScalars,int);
00128 
00130 
00132   void SetLocator(vtkPointLocator *locator);
00133   vtkGetObjectMacro(Locator,vtkPointLocator);
00135 
00138   void CreateDefaultLocator();
00139 
00140 protected:
00141   vtkGenericCutter(vtkImplicitFunction *cf=NULL);
00142   ~vtkGenericCutter();
00143 
00144   void Execute();
00145 
00147   void UnstructuredGridCutter();
00148   
00149   vtkImplicitFunction *CutFunction;
00150   vtkPointLocator     *Locator;
00151   vtkContourValues    *ContourValues;
00152   int                 GenerateCutScalars;
00153 
00154 private:
00155   vtkGenericCutter(const vtkGenericCutter&);  // Not implemented.
00156   void operator=(const vtkGenericCutter&);  // Not implemented.
00157 };
00158 
00159 #endif
00160 
00161