VMTK
vtkvmtkPolyDataDistanceToCenterlines.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: VMTK
4  Module: $RCSfile: vtkvmtkPolyDataDistanceToCenterlines.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 =========================================================================*/
32 #ifndef __vtkvmtkPolyDataDistanceToCenterlines_h
33 #define __vtkvmtkPolyDataDistanceToCenterlines_h
34 
35 #include "vtkPolyDataAlgorithm.h"
36 //#include "vtkvmtkComputationalGeometryWin32Header.h"
37 #include "vtkvmtkWin32Header.h"
38 
39 #include "vtkPolyData.h"
40 
41 class VTK_VMTK_COMPUTATIONAL_GEOMETRY_EXPORT vtkvmtkPolyDataDistanceToCenterlines : public vtkPolyDataAlgorithm
42 {
43 public:
45  vtkTypeMacro(vtkvmtkPolyDataDistanceToCenterlines,vtkPolyDataAlgorithm);
46 
47  vtkSetObjectMacro(Centerlines,vtkPolyData);
48  vtkGetObjectMacro(Centerlines,vtkPolyData);
49 
50  vtkSetMacro(UseRadiusInformation,int);
51  vtkGetMacro(UseRadiusInformation,int);
52  vtkBooleanMacro(UseRadiusInformation,int);
53 
54  vtkSetMacro(EvaluateTubeFunction,int);
55  vtkGetMacro(EvaluateTubeFunction,int);
56  vtkBooleanMacro(EvaluateTubeFunction,int);
57 
58  vtkSetMacro(EvaluateCenterlineRadius,int);
59  vtkGetMacro(EvaluateCenterlineRadius,int);
60  vtkBooleanMacro(EvaluateCenterlineRadius,int);
61 
62  vtkSetStringMacro(DistanceToCenterlinesArrayName);
63  vtkGetStringMacro(DistanceToCenterlinesArrayName);
64 
65  vtkSetStringMacro(CenterlineRadiusArrayName);
66  vtkGetStringMacro(CenterlineRadiusArrayName);
67 
68  vtkSetMacro(ProjectPointArrays,int);
69  vtkGetMacro(ProjectPointArrays,int);
70  vtkBooleanMacro(ProjectPointArrays,int);
71 
72 protected:
75 
76  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
77 
80 
81  vtkPolyData* Centerlines;
82 
87 
88 private:
90  void operator=(const vtkvmtkPolyDataDistanceToCenterlines&); // Not implemented.
91 };
92 
93 #endif
94 
calculate the minimum euclidian from surface points to a centerline.