VMTK
vtkvmtkCenterlineEndpointExtractor.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: VMTK
4 Module: $RCSfile: vtkvmtkCenterlineEndpointExtractor.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 __vtkvmtkCenterlineEndpointExtractor_h
29 #define __vtkvmtkCenterlineEndpointExtractor_h
30 
32 //#include "vtkvmtkComputationalGeometryWin32Header.h"
33 #include "vtkvmtkWin32Header.h"
34 
35 class VTK_VMTK_COMPUTATIONAL_GEOMETRY_EXPORT vtkvmtkCenterlineEndpointExtractor : public vtkvmtkCenterlineSplittingAndGroupingFilter
36 {
37  public:
39  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
40 
42 
43  vtkSetMacro(NumberOfEndpointSpheres,int);
44  vtkGetMacro(NumberOfEndpointSpheres,int);
45 
46  vtkSetMacro(NumberOfGapSpheres,int);
47  vtkGetMacro(NumberOfGapSpheres,int);
48 
49  vtkSetMacro(ExtractionMode,int);
50  vtkGetMacro(ExtractionMode,int);
52  { this->SetExtractionMode(VTK_VMTK_FIRST_ENDPOINT); }
54  { this->SetExtractionMode(VTK_VMTK_LAST_ENDPOINT); }
56  { this->SetExtractionMode(VTK_VMTK_BOTH_ENDPOINTS); }
57 
58  protected:
61 
62  virtual void ComputeCenterlineSplitting(vtkPolyData* input, vtkIdType cellId) VTK_OVERRIDE;
63 
67 
68  //BTX
69  enum
70  {
73  VTK_VMTK_BOTH_ENDPOINTS
74  };
75 
76  //ETX
77 
78  private:
80  void operator=(const vtkvmtkCenterlineEndpointExtractor&); // Not implemented.
81 };
82 
83 #endif
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
Split a centerline into tracts which can be used to mark endpoints of the centerline.
virtual void ComputeCenterlineSplitting(vtkPolyData *input, vtkIdType cellId)=0
Multipurpose filter used to bundle and blank split tracts in all "branch extractor" like methods...