VMTK
vtkvmtkSurfaceDistance.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: VMTK
4 Module: $RCSfile: vtkvmtkSurfaceDistance.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 __vtkvmtkSurfaceDistance_h
29 #define __vtkvmtkSurfaceDistance_h
30 
31 #include "vtkPolyDataAlgorithm.h"
32 #include "vtkPolyData.h"
33 #include "vtkvmtkWin32Header.h"
34 
35 class vtkPolyData;
36 
37 class VTK_VMTK_MISC_EXPORT vtkvmtkSurfaceDistance : public vtkPolyDataAlgorithm
38 {
39  public:
40  vtkTypeMacro(vtkvmtkSurfaceDistance,vtkPolyDataAlgorithm);
41  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
42 
43  static vtkvmtkSurfaceDistance *New();
44 
46 
48  vtkSetStringMacro(DistanceArrayName);
49  vtkGetStringMacro(DistanceArrayName);
51 
53 
55  vtkSetStringMacro(SignedDistanceArrayName);
56  vtkGetStringMacro(SignedDistanceArrayName);
58 
60 
62  vtkSetStringMacro(DistanceVectorsArrayName);
63  vtkGetStringMacro(DistanceVectorsArrayName);
65 
67 
68  vtkSetObjectMacro(ReferenceSurface,vtkPolyData);
69  vtkGetObjectMacro(ReferenceSurface,vtkPolyData);
71 
72  protected:
75 
76  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
77 
81  vtkPolyData *ReferenceSurface;
82 
83  private:
84  vtkvmtkSurfaceDistance(const vtkvmtkSurfaceDistance&); // Not implemented.
85  void operator=(const vtkvmtkSurfaceDistance&); // Not implemented.
86 };
87 
88 #endif
calculate the euclidian distance of one surface from another