VMTK
vtkvmtkPolyDataHarmonicMappingFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: VMTK
4  Module: $RCSfile: vtkvmtkPolyDataHarmonicMappingFilter.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 __vtkvmtkPolyDataHarmonicMappingFilter_h
29 #define __vtkvmtkPolyDataHarmonicMappingFilter_h
30 
31 #include "vtkvmtkWin32Header.h"
32 #include "vtkPolyDataAlgorithm.h"
33 
34 #include "vtkIdList.h"
35 #include "vtkDoubleArray.h"
36 
37 class VTK_VMTK_DIFFERENTIAL_GEOMETRY_EXPORT vtkvmtkPolyDataHarmonicMappingFilter : public vtkPolyDataAlgorithm
38 {
39 public:
41  vtkTypeMacro(vtkvmtkPolyDataHarmonicMappingFilter,vtkPolyDataAlgorithm);
42 
43  vtkSetObjectMacro(BoundaryPointIds,vtkIdList);
44  vtkGetObjectMacro(BoundaryPointIds,vtkIdList);
45 
46  vtkSetObjectMacro(BoundaryValues,vtkDoubleArray);
47  vtkGetObjectMacro(BoundaryValues,vtkDoubleArray);
48 
49  vtkSetStringMacro(HarmonicMappingArrayName);
50  vtkGetStringMacro(HarmonicMappingArrayName);
51 
52  vtkSetMacro(ConvergenceTolerance,double);
53  vtkGetMacro(ConvergenceTolerance,double);
54 
55  vtkSetMacro(AssemblyMode,int);
56  vtkGetMacro(AssemblyMode,int);
58  { this->SetAssemblyMode(VTK_VMTK_ASSEMBLY_STENCILS); }
60  { this->SetAssemblyMode(VTK_VMTK_ASSEMBLY_FINITEELEMENTS); }
61 
62  vtkSetMacro(QuadratureOrder,int);
63  vtkGetMacro(QuadratureOrder,int);
64 
65 
66 //BTX
67  enum
68  {
70  VTK_VMTK_ASSEMBLY_FINITEELEMENTS
71  };
72 //ETX
73 
74 protected:
77 
78  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
79 
80  vtkIdList* BoundaryPointIds;
81  vtkDoubleArray* BoundaryValues;
82 
87 
88 private:
90  void operator=(const vtkvmtkPolyDataHarmonicMappingFilter&); // Not implemented.
91 };
92 
93 #endif
94 
Construct a harmonic function over each vascular surface segment used during mapping order to stretch...