VMTK
vtkvmtkPolyDataBifurcationProfiles.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: VMTK
4 Module: $RCSfile: vtkvmtkPolyDataBifurcationProfiles.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 __vtkvmtkPolyDataBifurcationProfiles_h
29 #define __vtkvmtkPolyDataBifurcationProfiles_h
30 
31 #include "vtkPolyDataAlgorithm.h"
32 //#include "vtkvmtkComputationalGeometryWin32Header.h"
33 #include "vtkvmtkWin32Header.h"
34 #include "vtkPolyData.h"
35 
36 class VTK_VMTK_COMPUTATIONAL_GEOMETRY_EXPORT vtkvmtkPolyDataBifurcationProfiles : public vtkPolyDataAlgorithm
37 {
38  public:
39  vtkTypeMacro(vtkvmtkPolyDataBifurcationProfiles,vtkPolyDataAlgorithm);
40  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
41 
43 
44  vtkSetStringMacro(GroupIdsArrayName);
45  vtkGetStringMacro(GroupIdsArrayName);
46 
47  vtkSetObjectMacro(Centerlines,vtkPolyData);
48  vtkGetObjectMacro(Centerlines,vtkPolyData);
49 
50  vtkSetStringMacro(CenterlineRadiusArrayName);
51  vtkGetStringMacro(CenterlineRadiusArrayName);
52 
53  vtkSetStringMacro(CenterlineGroupIdsArrayName);
54  vtkGetStringMacro(CenterlineGroupIdsArrayName);
55 
56  vtkSetStringMacro(CenterlineIdsArrayName);
57  vtkGetStringMacro(CenterlineIdsArrayName);
58 
59  vtkSetStringMacro(CenterlineTractIdsArrayName);
60  vtkGetStringMacro(CenterlineTractIdsArrayName);
61 
62  vtkSetStringMacro(BlankingArrayName);
63  vtkGetStringMacro(BlankingArrayName);
64 
65  vtkSetStringMacro(BifurcationProfileGroupIdsArrayName);
66  vtkGetStringMacro(BifurcationProfileGroupIdsArrayName);
67 
68  vtkSetStringMacro(BifurcationProfileBifurcationGroupIdsArrayName);
69  vtkGetStringMacro(BifurcationProfileBifurcationGroupIdsArrayName);
70 
71  vtkSetStringMacro(BifurcationProfileOrientationArrayName);
72  vtkGetStringMacro(BifurcationProfileOrientationArrayName);
73 
74  protected:
77 
78  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
79 
80  void ComputeBifurcationProfiles(vtkPolyData* input, int bifurcationGroupId, vtkIdList* upStreamGroupIds, vtkIdList* downStreamGroupIds, vtkPolyData* output);
81 
82  vtkPolyData* Centerlines;
83 
90 
94 
95  private:
97  void operator=(const vtkvmtkPolyDataBifurcationProfiles&); // Not implemented.
98 };
99 
100 #endif
compute bifurcation profiles (the bifurcation splitting lines) from an input surface & grouped and sp...