VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Filters/Generic/vtkGenericCutter.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkGenericCutter.h
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 =========================================================================*/
00048 #ifndef vtkGenericCutter_h
00049 #define vtkGenericCutter_h
00050 
00051 #include "vtkFiltersGenericModule.h" // For export macro
00052 #include "vtkPolyDataAlgorithm.h"
00053 
00054 class vtkContourValues;
00055 
00056 class vtkImplicitFunction;
00057 class vtkIncrementalPointLocator;
00058 class vtkPointData;
00059 class vtkCellData;
00060 
00061 class VTKFILTERSGENERIC_EXPORT vtkGenericCutter : public vtkPolyDataAlgorithm
00062 {
00063 public:
00064   vtkTypeMacro(vtkGenericCutter,vtkPolyDataAlgorithm);
00065   void PrintSelf(ostream& os, vtkIndent indent);
00066 
00069   static vtkGenericCutter *New();
00070 
00073   void SetValue(int i, double value);
00074 
00076   double GetValue(int i);
00077 
00080   double *GetValues();
00081 
00085   void GetValues(double *contourValues);
00086 
00090   void SetNumberOfContours(int number);
00091 
00093   int GetNumberOfContours();
00094 
00097   void GenerateValues(int numContours, double range[2]);
00098 
00101   void GenerateValues(int numContours, double rangeStart, double rangeEnd);
00102 
00105   unsigned long GetMTime();
00106 
00108 
00109   virtual void SetCutFunction(vtkImplicitFunction*);
00110   vtkGetObjectMacro(CutFunction,vtkImplicitFunction);
00112 
00114 
00117   vtkSetMacro(GenerateCutScalars,int);
00118   vtkGetMacro(GenerateCutScalars,int);
00119   vtkBooleanMacro(GenerateCutScalars,int);
00121 
00123 
00125   void SetLocator(vtkIncrementalPointLocator *locator);
00126   vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
00128 
00131   void CreateDefaultLocator();
00132 
00133 protected:
00134   vtkGenericCutter(vtkImplicitFunction *cf=NULL);
00135   ~vtkGenericCutter();
00136 
00138 
00139   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00140   int FillInputPortInformation(int, vtkInformation*);
00142 
00143   vtkImplicitFunction *CutFunction;
00144   vtkIncrementalPointLocator *Locator;
00145   vtkContourValues    *ContourValues;
00146   int                 GenerateCutScalars;
00147 
00148   // Used internal by vtkGenericAdaptorCell::Contour()
00149   vtkPointData *InternalPD;
00150   vtkPointData *SecondaryPD;
00151   vtkCellData  *SecondaryCD;
00152 
00153 private:
00154   vtkGenericCutter(const vtkGenericCutter&);  // Not implemented.
00155   void operator=(const vtkGenericCutter&);  // Not implemented.
00156 };
00157 
00158 #endif
00159 
00160