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

# Graphics/vtkCurvatures.h

Go to the documentation of this file.

    00001 /*=========================================================================
    00002
    00003   Program:   Visualization Toolkit
    00004   Module:    $RCSfile: vtkCurvatures.h,v $
    00005   Language:  C++
    00006
    00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
    00008   All rights reserved.
    00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
    00010
    00011      This software is distributed WITHOUT ANY WARRANTY; without even
    00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
    00013      PURPOSE.  See the above copyright notice for more information.
    00014
    00015 =========================================================================*/
    00069 #ifndef __vtkCurvatures_h
    00070 #define __vtkCurvatures_h
    00071
    00072 #include "vtkPolyDataToPolyDataFilter.h"
    00073
    00074 #define VTK_CURVATURE_GAUSS 0
    00075 #define VTK_CURVATURE_MEAN  1
    00076
    00077 class VTK_GRAPHICS_EXPORT vtkCurvatures : public vtkPolyDataToPolyDataFilter
    00078 {
    00079 public:
    00080   vtkTypeRevisionMacro(vtkCurvatures,vtkPolyDataToPolyDataFilter);
    00081   void PrintSelf(ostream& os, vtkIndent indent);
    00082
    00084   static vtkCurvatures *New();
    00085
    00087
    00090   vtkSetMacro(CurvatureType,int);
    00091   vtkGetMacro(CurvatureType,int);
    00092   void SetCurvatureTypeToGaussian()
    00093   { this->SetCurvatureType(VTK_CURVATURE_GAUSS); }
    00094   void SetCurvatureTypeToMean()
    00095   { this->SetCurvatureType(VTK_CURVATURE_MEAN); }
    00097
    00099
    00101   vtkSetMacro(InvertMeanCurvature,int);
    00102   vtkGetMacro(InvertMeanCurvature,int);
    00103   vtkBooleanMacro(InvertMeanCurvature,int);
    00105 protected:
    00106   vtkCurvatures();
    00107
    00108   // Usual data generation method
    00109   void Execute();
    00110
    00113   void GetGaussCurvature();
    00114
    00115   // discrete Mean curvature (H) computation,
    00116   // cf http://www-ipg.umds.ac.uk/p.batchelor/curvatures/curvatures.html
    00117   void GetMeanCurvature();
    00118
    00119   // Vars
    00120   int CurvatureType;
    00121   int InvertMeanCurvature;
    00122
    00123 private:
    00124   vtkCurvatures(const vtkCurvatures&);  // Not implemented.
    00125   void operator=(const vtkCurvatures&);  // Not implemented.
    00126
    00127 };
    00128
    00129 #endif
    00130
    00131