32 #ifndef __vtkvmtkCenterlineGeometry_h 33 #define __vtkvmtkCenterlineGeometry_h 35 #include "vtkPolyDataAlgorithm.h" 37 #include "vtkvmtkWin32Header.h" 45 void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
49 vtkSetStringMacro(LengthArrayName);
50 vtkGetStringMacro(LengthArrayName);
52 vtkSetStringMacro(CurvatureArrayName);
53 vtkGetStringMacro(CurvatureArrayName);
55 vtkSetStringMacro(TorsionArrayName);
56 vtkGetStringMacro(TorsionArrayName);
58 vtkSetStringMacro(TortuosityArrayName);
59 vtkGetStringMacro(TortuosityArrayName);
61 vtkSetStringMacro(FrenetTangentArrayName);
62 vtkGetStringMacro(FrenetTangentArrayName);
64 vtkSetStringMacro(FrenetNormalArrayName);
65 vtkGetStringMacro(FrenetNormalArrayName);
67 vtkSetStringMacro(FrenetBinormalArrayName);
68 vtkGetStringMacro(FrenetBinormalArrayName);
70 vtkSetMacro(SmoothingFactor,
double);
71 vtkGetMacro(SmoothingFactor,
double);
73 vtkSetMacro(NumberOfSmoothingIterations,
int);
74 vtkGetMacro(NumberOfSmoothingIterations,
int);
76 vtkSetMacro(LineSmoothing,
int);
77 vtkGetMacro(LineSmoothing,
int);
78 vtkBooleanMacro(LineSmoothing,
int);
80 vtkSetMacro(OutputSmoothedLines,
int);
81 vtkGetMacro(OutputSmoothedLines,
int);
82 vtkBooleanMacro(OutputSmoothedLines,
int);
84 static double ComputeLineCurvature(vtkPoints* linePoints, vtkDoubleArray* curvatureArray);
85 static double ComputeLineTorsion(vtkPoints* linePoints, vtkDoubleArray* torsionArray);
86 static void ComputeLineFrenetReferenceSystem(vtkPoints* linePoints, vtkDoubleArray* lineTangentArray, vtkDoubleArray* lineNormalArray, vtkDoubleArray* lineBinormalArray);
92 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
char * TortuosityArrayName
char * FrenetBinormalArrayName
char * CurvatureArrayName
char * FrenetNormalArrayName
int NumberOfSmoothingIterations
char * FrenetTangentArrayName
Compute length, curvature, torsion, tortuosity, and frenet frames for individual centerlines.