VMTK
vtkvmtkCenterlineAttributesFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: VMTK
4 Module: $RCSfile: vtkvmtkCenterlineAttributesFilter.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 =========================================================================*/
30 #ifndef __vtkvmtkCenterlineAttributesFilter_h
31 #define __vtkvmtkCenterlineAttributesFilter_h
32 
33 #include "vtkPolyDataAlgorithm.h"
34 //#include "vtkvmtkComputationalGeometryWin32Header.h"
35 #include "vtkvmtkWin32Header.h"
36 
37 class vtkDoubleArray;
38 
39 class VTK_VMTK_COMPUTATIONAL_GEOMETRY_EXPORT vtkvmtkCenterlineAttributesFilter : public vtkPolyDataAlgorithm
40 {
41  public:
42  vtkTypeMacro(vtkvmtkCenterlineAttributesFilter,vtkPolyDataAlgorithm);
43  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
44 
46 
47  vtkSetStringMacro(AbscissasArrayName);
48  vtkGetStringMacro(AbscissasArrayName);
49 
50  vtkSetStringMacro(ParallelTransportNormalsArrayName);
51  vtkGetStringMacro(ParallelTransportNormalsArrayName);
52 
53  protected:
56 
57  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
58 
59  void ComputeAbscissas(vtkPolyData* input, vtkDoubleArray* abscissasArray);
60  void ComputeParallelTransportNormals(vtkPolyData* input, vtkDoubleArray* parallelTransportNormalsArray);
61 
64 
65  private:
67  void operator=(const vtkvmtkCenterlineAttributesFilter&); // Not implemented.
68 };
69 
70 #endif
Computes the abscissa and parallel transport normal along a centerline.