VMTK
vtkvmtkCenterlineBifurcationReferenceSystems.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: VMTK
4 Module: $RCSfile: vtkvmtkCenterlineBifurcationReferenceSystems.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 __vtkvmtkCenterlineBifurcationReferenceSystems_h
29 #define __vtkvmtkCenterlineBifurcationReferenceSystems_h
30 
31 #include "vtkPolyDataAlgorithm.h"
32 //#include "vtkvmtkComputationalGeometryWin32Header.h"
33 #include "vtkvmtkWin32Header.h"
34 
35 class vtkPoints;
36 class vtkDoubleArray;
37 class vtkIntArray;
38 
39 class VTK_VMTK_COMPUTATIONAL_GEOMETRY_EXPORT vtkvmtkCenterlineBifurcationReferenceSystems : public vtkPolyDataAlgorithm
40 {
41  public:
42  vtkTypeMacro(vtkvmtkCenterlineBifurcationReferenceSystems,vtkPolyDataAlgorithm);
43  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
44 
46 
47  vtkSetStringMacro(RadiusArrayName);
48  vtkGetStringMacro(RadiusArrayName);
49 
50  vtkSetStringMacro(GroupIdsArrayName);
51  vtkGetStringMacro(GroupIdsArrayName);
52 
53  vtkSetStringMacro(BlankingArrayName);
54  vtkGetStringMacro(BlankingArrayName);
55 
56  vtkSetStringMacro(NormalArrayName);
57  vtkGetStringMacro(NormalArrayName);
58 
59  vtkSetStringMacro(UpNormalArrayName);
60  vtkGetStringMacro(UpNormalArrayName);
61 
62  protected:
65 
66  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
67 
68  void ComputeGroupReferenceSystem(vtkPolyData* input, int referenceGroupId, vtkPoints* outputPoints, vtkDoubleArray* normalArray, vtkDoubleArray* upNormalArray, vtkIntArray* referenceGroupIdsArray);
69 
73 
76 
77  private:
79  void operator=(const vtkvmtkCenterlineBifurcationReferenceSystems&); // Not implemented.
80 };
81 
82 #endif
Generates a normal and upnormal reference system for each bifurcation point of a split centerline...