39 #ifndef __vtkvmtkPolyDataBranchSections_h 40 #define __vtkvmtkPolyDataBranchSections_h 42 #include "vtkPolyDataAlgorithm.h" 44 #include "vtkvmtkWin32Header.h" 45 #include "vtkPolyData.h" 51 void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
55 vtkSetStringMacro(GroupIdsArrayName);
56 vtkGetStringMacro(GroupIdsArrayName);
58 vtkSetObjectMacro(Centerlines,vtkPolyData);
59 vtkGetObjectMacro(Centerlines,vtkPolyData);
61 vtkSetStringMacro(CenterlineRadiusArrayName);
62 vtkGetStringMacro(CenterlineRadiusArrayName);
64 vtkSetStringMacro(CenterlineGroupIdsArrayName);
65 vtkGetStringMacro(CenterlineGroupIdsArrayName);
67 vtkSetStringMacro(CenterlineIdsArrayName);
68 vtkGetStringMacro(CenterlineIdsArrayName);
70 vtkSetStringMacro(CenterlineTractIdsArrayName);
71 vtkGetStringMacro(CenterlineTractIdsArrayName);
73 vtkSetStringMacro(BlankingArrayName);
74 vtkGetStringMacro(BlankingArrayName);
76 vtkSetStringMacro(BranchSectionAreaArrayName);
77 vtkGetStringMacro(BranchSectionAreaArrayName);
79 vtkSetStringMacro(BranchSectionMinSizeArrayName);
80 vtkGetStringMacro(BranchSectionMinSizeArrayName);
82 vtkSetStringMacro(BranchSectionMaxSizeArrayName);
83 vtkGetStringMacro(BranchSectionMaxSizeArrayName);
85 vtkSetStringMacro(BranchSectionShapeArrayName);
86 vtkGetStringMacro(BranchSectionShapeArrayName);
88 vtkSetStringMacro(BranchSectionGroupIdsArrayName);
89 vtkGetStringMacro(BranchSectionGroupIdsArrayName);
91 vtkSetStringMacro(BranchSectionClosedArrayName);
92 vtkGetStringMacro(BranchSectionClosedArrayName);
94 vtkSetStringMacro(BranchSectionDistanceSpheresArrayName);
95 vtkGetStringMacro(BranchSectionDistanceSpheresArrayName);
97 vtkSetMacro(NumberOfDistanceSpheres,
int);
98 vtkGetMacro(NumberOfDistanceSpheres,
int);
100 vtkSetMacro(ReverseDirection,
int);
101 vtkGetMacro(ReverseDirection,
int);
102 vtkBooleanMacro(ReverseDirection,
int);
104 static double ComputeBranchSectionArea(vtkPolyData* branchSection);
105 static double ComputeBranchSectionShape(vtkPolyData* branchSection,
double center[3],
double sizeRange[2]);
107 static void ExtractCylinderSection(vtkPolyData* cylinder,
double origin[3],
double normal[3], vtkPolyData* section,
bool & closed);
113 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
115 void ComputeBranchSections(vtkPolyData* input,
int groupId, vtkPolyData* output);
Extract a vessel (cross) section n-spheres distance from from the start point of a branch...
char * CenterlineIdsArrayName
char * BranchSectionMinSizeArrayName
char * BranchSectionGroupIdsArrayName
int NumberOfDistanceSpheres
char * BranchSectionAreaArrayName
char * BranchSectionDistanceSpheresArrayName
char * BranchSectionMaxSizeArrayName
char * CenterlineTractIdsArrayName
char * CenterlineRadiusArrayName
char * BranchSectionClosedArrayName
vtkPolyData * Centerlines
char * BranchSectionShapeArrayName
char * CenterlineGroupIdsArrayName