VMTK
vtkvmtkPolyDataGradientStencil.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: VMTK
4  Module: $RCSfile: vtkvmtkPolyDataGradientStencil.h,v $
5  Language: C++
6 
7  Copyright (c) Luca Antiga, David Steinman. All rights reserved.
8  See LICENSE file for details.
9 
10  Portions of this code are covered under the VTK copyright.
11  See VTKCopyright.txt or http://www.kitware.com/VTKCopyright.htm
12  for details.
13 
14  This software is distributed WITHOUT ANY WARRANTY; without even
15  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
16  PURPOSE. See the above copyright notices for more information.
17 
18 =========================================================================*/
28 #ifndef __vtkvmtkPolyDataGradientStencil_h
29 #define __vtkvmtkPolyDataGradientStencil_h
30 
31 #include "vtkObject.h"
32 #include "vtkvmtkConstants.h"
34 #include "vtkvmtkWin32Header.h"
35 
36 class VTK_VMTK_DIFFERENTIAL_GEOMETRY_EXPORT vtkvmtkPolyDataGradientStencil : public vtkvmtkPolyDataManifoldStencil
37 {
38 public:
39 
40  static vtkvmtkPolyDataGradientStencil *New();
42 
43  virtual vtkIdType GetItemType() VTK_OVERRIDE {return VTK_VMTK_GRADIENT_STENCIL;};
44 
45  void Build() VTK_OVERRIDE;
46 
47 protected:
50 
51  void ScaleWithArea() VTK_OVERRIDE;
52 
53  void Gamma(double p0[3], double p1[3], double p2[3], double gamma[3]);
54 
55 private:
57  void operator=(const vtkvmtkPolyDataGradientStencil&); // Not implemented.
58 };
59 
60 #endif
61 
virtual void Build() VTK_OVERRIDE
Base class for stencils applied to a manifold surface.
virtual vtkIdType GetItemType() VTK_OVERRIDE
Apply gradient weighting to the neighborhood connections of a surface.
virtual void ScaleWithArea()=0