VTK
dox/Graphics/vtkContourGrid.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkContourGrid.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 __vtkContourGrid_h
00049 #define __vtkContourGrid_h
00050 
00051 #include "vtkPolyDataAlgorithm.h"
00052 
00053 #include "vtkContourValues.h" // Needed for inline methods
00054 
00055 class vtkEdgeTable;
00056 class vtkScalarTree;
00057 class vtkIncrementalPointLocator;
00058 
00059 class VTK_GRAPHICS_EXPORT vtkContourGrid : public vtkPolyDataAlgorithm
00060 {
00061 public:
00062   vtkTypeMacro(vtkContourGrid,vtkPolyDataAlgorithm);
00063   void PrintSelf(ostream& os, vtkIndent indent);
00064 
00067   static vtkContourGrid *New();
00068 
00070 
00071   void SetValue(int i, double value);
00072   double GetValue(int i);
00073   double *GetValues();
00074   void GetValues(double *contourValues);
00075   void SetNumberOfContours(int number);
00076   int GetNumberOfContours();
00077   void GenerateValues(int numContours, double range[2]);
00078   void GenerateValues(int numContours, double rangeStart, double rangeEnd);
00080 
00082   unsigned long GetMTime();
00083 
00085 
00089   vtkSetMacro(ComputeNormals,int);
00090   vtkGetMacro(ComputeNormals,int);
00091   vtkBooleanMacro(ComputeNormals,int);
00093 
00095 
00101   vtkSetMacro(ComputeGradients,int);
00102   vtkGetMacro(ComputeGradients,int);
00103   vtkBooleanMacro(ComputeGradients,int);
00105 
00107 
00108   vtkSetMacro(ComputeScalars,int);
00109   vtkGetMacro(ComputeScalars,int);
00110   vtkBooleanMacro(ComputeScalars,int);
00112 
00114 
00115   vtkSetMacro(UseScalarTree,int);
00116   vtkGetMacro(UseScalarTree,int);
00117   vtkBooleanMacro(UseScalarTree,int);
00119 
00121 
00123   void SetLocator(vtkIncrementalPointLocator *locator);
00124   vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
00126 
00129   void CreateDefaultLocator();
00130 
00131 protected:
00132   vtkContourGrid();
00133   ~vtkContourGrid();
00134 
00135   virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00136   virtual int FillInputPortInformation(int port, vtkInformation *info);
00137 
00138   vtkContourValues *ContourValues;
00139   int ComputeNormals;
00140   int ComputeGradients;
00141   int ComputeScalars;
00142   vtkIncrementalPointLocator *Locator;
00143   int UseScalarTree;
00144   vtkScalarTree *ScalarTree;
00145   vtkEdgeTable *EdgeTable;
00146   
00147 private:
00148   vtkContourGrid(const vtkContourGrid&);  // Not implemented.
00149   void operator=(const vtkContourGrid&);  // Not implemented.
00150 };
00151 
00153 
00155 inline void vtkContourGrid::SetValue(int i, double value)
00156 {this->ContourValues->SetValue(i,value);}
00158 
00160 
00161 inline double vtkContourGrid::GetValue(int i)
00162 {return this->ContourValues->GetValue(i);}
00164 
00166 
00168 inline double *vtkContourGrid::GetValues()
00169 {return this->ContourValues->GetValues();}
00171 
00173 
00176 inline void vtkContourGrid::GetValues(double *contourValues)
00177 {this->ContourValues->GetValues(contourValues);}
00179 
00181 
00184 inline void vtkContourGrid::SetNumberOfContours(int number)
00185 {this->ContourValues->SetNumberOfContours(number);}
00187 
00189 
00190 inline int vtkContourGrid::GetNumberOfContours()
00191 {return this->ContourValues->GetNumberOfContours();}
00193 
00195 
00197 inline void vtkContourGrid::GenerateValues(int numContours, double range[2])
00198 {this->ContourValues->GenerateValues(numContours, range);}
00200 
00202 
00204 inline void vtkContourGrid::GenerateValues(int numContours, double
00205                                              rangeStart, double rangeEnd)
00206 {this->ContourValues->GenerateValues(numContours, rangeStart, rangeEnd);}
00208 
00209 
00210 #endif
00211 
00212