VMTK
vtkvmtkPolyDataManifoldStencil.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: VMTK
4  Module: $RCSfile: vtkvmtkPolyDataManifoldStencil.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 __vtkvmtkPolyDataManifoldStencil_h
29 #define __vtkvmtkPolyDataManifoldStencil_h
30 
31 #include "vtkObject.h"
32 #include "vtkvmtkStencil.h"
33 #include "vtkPolyData.h"
34 #include "vtkvmtkWin32Header.h"
35 
36 class VTK_VMTK_DIFFERENTIAL_GEOMETRY_EXPORT vtkvmtkPolyDataManifoldStencil : public vtkvmtkStencil
37 {
38 public:
39 
41 
42  vtkGetMacro(Area,double);
43 
45  virtual void Build() VTK_OVERRIDE;
46 
47  virtual void ComputeArea();
48  virtual void ScaleWithArea() = 0;
49 
50  void DeepCopy(vtkvmtkPolyDataManifoldStencil *src);
51 
52  vtkGetMacro(UseExtendedNeighborhood,int);
53  vtkSetMacro(UseExtendedNeighborhood,int);
54  vtkBooleanMacro(UseExtendedNeighborhood,int);
55 
56 protected:
59 
60  void ScaleWithAreaFactor(double factor);
61 
62  double Area;
63 
65 
66 private:
68  void operator=(const vtkvmtkPolyDataManifoldStencil&); // Not implemented.
69 };
70 
71 #endif
72 
Base class for stencils applied to a manifold surface.
Apply a weighting matrix to a single neighborhood of a data set.
virtual void Build() VTK_OVERRIDE=0