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

Graphics/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 =========================================================================*/
00057 #ifndef __vtkContourFilter_h
00058 #define __vtkContourFilter_h
00059 
00060 #include "vtkDataSetToPolyDataFilter.h"
00061 
00062 #include "vtkContourValues.h" // Needed for inline methods
00063 
00064 class vtkPointLocator;
00065 class vtkScalarTree;
00066 
00067 class VTK_GRAPHICS_EXPORT vtkContourFilter : public vtkDataSetToPolyDataFilter
00068 {
00069 public:
00070   vtkTypeRevisionMacro(vtkContourFilter,vtkDataSetToPolyDataFilter);
00071   void PrintSelf(ostream& os, vtkIndent indent);
00072 
00075   static vtkContourFilter *New();
00076 
00078 
00079   void SetValue(int i, double value);
00080   double GetValue(int i);
00081   double *GetValues();
00082   void GetValues(double *contourValues);
00083   void SetNumberOfContours(int number);
00084   int GetNumberOfContours();
00085   void GenerateValues(int numContours, double range[2]);
00086   void GenerateValues(int numContours, double rangeStart, double rangeEnd);
00088 
00090   unsigned long GetMTime();
00091 
00093 
00097   vtkSetMacro(ComputeNormals,int);
00098   vtkGetMacro(ComputeNormals,int);
00099   vtkBooleanMacro(ComputeNormals,int);
00101 
00103 
00109   vtkSetMacro(ComputeGradients,int);
00110   vtkGetMacro(ComputeGradients,int);
00111   vtkBooleanMacro(ComputeGradients,int);
00113 
00115 
00116   vtkSetMacro(ComputeScalars,int);
00117   vtkGetMacro(ComputeScalars,int);
00118   vtkBooleanMacro(ComputeScalars,int);
00120 
00122 
00123   vtkSetMacro(UseScalarTree,int);
00124   vtkGetMacro(UseScalarTree,int);
00125   vtkBooleanMacro(UseScalarTree,int);
00127 
00129 
00130   virtual void SetScalarTree(vtkScalarTree*);
00131   vtkGetObjectMacro(ScalarTree,vtkScalarTree);
00133 
00135 
00137   void SetLocator(vtkPointLocator *locator);
00138   vtkGetObjectMacro(Locator,vtkPointLocator);
00140 
00143   void CreateDefaultLocator();
00144 
00146 
00149   vtkGetStringMacro(InputScalarsSelection);
00150   virtual void SelectInputScalars(const char *fieldName) 
00151     {this->SetInputScalarsSelection(fieldName);}
00153 
00154 protected:
00155   vtkContourFilter();
00156   ~vtkContourFilter();
00157 
00158   void Execute();
00159 
00160   vtkContourValues *ContourValues;
00161   int ComputeNormals;
00162   int ComputeGradients;
00163   int ComputeScalars;
00164   vtkPointLocator *Locator;
00165   int UseScalarTree;
00166   vtkScalarTree *ScalarTree;
00167   
00168   char *InputScalarsSelection;
00169   vtkSetStringMacro(InputScalarsSelection);
00170 
00171 private:
00172   vtkContourFilter(const vtkContourFilter&);  // Not implemented.
00173   void operator=(const vtkContourFilter&);  // Not implemented.
00174 };
00175 
00178 inline void vtkContourFilter::SetValue(int i, double value)
00179 {this->ContourValues->SetValue(i,value);}
00180 
00182 
00183 inline double vtkContourFilter::GetValue(int i)
00184 {return this->ContourValues->GetValue(i);}
00186 
00188 
00190 inline double *vtkContourFilter::GetValues()
00191 {return this->ContourValues->GetValues();}
00193 
00197 inline void vtkContourFilter::GetValues(double *contourValues)
00198 {this->ContourValues->GetValues(contourValues);}
00199 
00203 inline void vtkContourFilter::SetNumberOfContours(int number)
00204 {this->ContourValues->SetNumberOfContours(number);}
00205 
00207 
00208 inline int vtkContourFilter::GetNumberOfContours()
00209 {return this->ContourValues->GetNumberOfContours();}
00211 
00213 
00215 inline void vtkContourFilter::GenerateValues(int numContours, double range[2])
00216 {this->ContourValues->GenerateValues(numContours, range);}
00218 
00220 
00222 inline void vtkContourFilter::GenerateValues(int numContours, double
00223                                              rangeStart, double rangeEnd)
00224 {this->ContourValues->GenerateValues(numContours, rangeStart, rangeEnd);}
00226 
00227 
00228 #endif
00229 
00230