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

vtkContourFilter.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkContourFilter.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 =========================================================================*/
00071 #ifndef __vtkContourFilter_h
00072 #define __vtkContourFilter_h
00073 
00074 #include "vtkDataSetToPolyDataFilter.h"
00075 
00076 #include "vtkContourValues.h" // Needed for inline methods
00077 
00078 class vtkPointLocator;
00079 class vtkScalarTree;
00080 
00081 class VTK_GRAPHICS_EXPORT vtkContourFilter : public vtkDataSetToPolyDataFilter
00082 {
00083 public:
00084   vtkTypeRevisionMacro(vtkContourFilter,vtkDataSetToPolyDataFilter);
00085   void PrintSelf(ostream& os, vtkIndent indent);
00086 
00089   static vtkContourFilter *New();
00090 
00092 
00093   void SetValue(int i, double value);
00094   double GetValue(int i);
00095   double *GetValues();
00096   void GetValues(double *contourValues);
00097   void SetNumberOfContours(int number);
00098   int GetNumberOfContours();
00099   void GenerateValues(int numContours, double range[2]);
00100   void GenerateValues(int numContours, double rangeStart, double rangeEnd);
00102 
00104   unsigned long GetMTime();
00105 
00107 
00111   vtkSetMacro(ComputeNormals,int);
00112   vtkGetMacro(ComputeNormals,int);
00113   vtkBooleanMacro(ComputeNormals,int);
00115 
00117 
00123   vtkSetMacro(ComputeGradients,int);
00124   vtkGetMacro(ComputeGradients,int);
00125   vtkBooleanMacro(ComputeGradients,int);
00127 
00129 
00130   vtkSetMacro(ComputeScalars,int);
00131   vtkGetMacro(ComputeScalars,int);
00132   vtkBooleanMacro(ComputeScalars,int);
00134 
00136 
00137   vtkSetMacro(UseScalarTree,int);
00138   vtkGetMacro(UseScalarTree,int);
00139   vtkBooleanMacro(UseScalarTree,int);
00141 
00143 
00144   virtual void SetScalarTree(vtkScalarTree*);
00145   vtkGetObjectMacro(ScalarTree,vtkScalarTree);
00147 
00149 
00151   void SetLocator(vtkPointLocator *locator);
00152   vtkGetObjectMacro(Locator,vtkPointLocator);
00154 
00157   void CreateDefaultLocator();
00158 
00160 
00163   vtkGetStringMacro(InputScalarsSelection);
00164   virtual void SelectInputScalars(const char *fieldName) 
00165     {this->SetInputScalarsSelection(fieldName);}
00167 
00168 protected:
00169   vtkContourFilter();
00170   ~vtkContourFilter();
00171 
00172   virtual void ReportReferences(vtkGarbageCollector*);
00173   virtual void RemoveReferences();
00174 
00175   void Execute();
00176 
00177   vtkContourValues *ContourValues;
00178   int ComputeNormals;
00179   int ComputeGradients;
00180   int ComputeScalars;
00181   vtkPointLocator *Locator;
00182   int UseScalarTree;
00183   vtkScalarTree *ScalarTree;
00184   
00185   char *InputScalarsSelection;
00186   vtkSetStringMacro(InputScalarsSelection);
00187 
00188 private:
00189   vtkContourFilter(const vtkContourFilter&);  // Not implemented.
00190   void operator=(const vtkContourFilter&);  // Not implemented.
00191 };
00192 
00195 inline void vtkContourFilter::SetValue(int i, double value)
00196 {this->ContourValues->SetValue(i,value);}
00197 
00199 
00200 inline double vtkContourFilter::GetValue(int i)
00201 {return this->ContourValues->GetValue(i);}
00203 
00205 
00207 inline double *vtkContourFilter::GetValues()
00208 {return this->ContourValues->GetValues();}
00210 
00214 inline void vtkContourFilter::GetValues(double *contourValues)
00215 {this->ContourValues->GetValues(contourValues);}
00216 
00220 inline void vtkContourFilter::SetNumberOfContours(int number)
00221 {this->ContourValues->SetNumberOfContours(number);}
00222 
00224 
00225 inline int vtkContourFilter::GetNumberOfContours()
00226 {return this->ContourValues->GetNumberOfContours();}
00228 
00230 
00232 inline void vtkContourFilter::GenerateValues(int numContours, double range[2])
00233 {this->ContourValues->GenerateValues(numContours, range);}
00235 
00237 
00239 inline void vtkContourFilter::GenerateValues(int numContours, double
00240                                              rangeStart, double rangeEnd)
00241 {this->ContourValues->GenerateValues(numContours, rangeStart, rangeEnd);}
00243 
00244 
00245 #endif
00246 
00247