VMTK
vtkvmtkVoronoiDiagram3D.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: VMTK
4 Module: $RCSfile: vtkvmtkVoronoiDiagram3D.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 __vtkvmtkVoronoiDiagram3D_h
29 #define __vtkvmtkVoronoiDiagram3D_h
30 
31 #include "vtkPolyDataAlgorithm.h"
32 #include "vtkIdList.h"
33 #include "vtkCellArray.h"
34 //#include "vtkvmtkComputationalGeometryWin32Header.h"
35 #include "vtkvmtkWin32Header.h"
36 
37 class vtkUnstructuredGrid;
38 
39 class VTK_VMTK_COMPUTATIONAL_GEOMETRY_EXPORT vtkvmtkVoronoiDiagram3D : public vtkPolyDataAlgorithm
40 {
41  public:
42  vtkTypeMacro(vtkvmtkVoronoiDiagram3D,vtkPolyDataAlgorithm);
43  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
44 
45  static vtkvmtkVoronoiDiagram3D *New();
46 
47  // vtkSetMacro(BuildLines,int);
48  // vtkGetMacro(BuildLines,int);
49  // vtkBooleanMacro(BuildLines,int);
50 
52 
54  vtkSetStringMacro(RadiusArrayName);
55  vtkGetStringMacro(RadiusArrayName);
57 
59 
62  vtkGetObjectMacro(PoleIds,vtkIdList);
64 
65  protected:
68 
69  int FillInputPortInformation(int, vtkInformation *info) VTK_OVERRIDE;
70 
71  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
72 
73  void ExtractUniqueEdges(vtkUnstructuredGrid* input, vtkCellArray* edgeArray);
74  void BuildVoronoiPolys(vtkUnstructuredGrid* input, vtkCellArray* voronoiPolys);
75  void BuildVoronoiLines() {}; // not yet implemented
76 
77  int BuildLines;
78  vtkIdList* PoleIds;
80 
81  private:
82  vtkvmtkVoronoiDiagram3D(const vtkvmtkVoronoiDiagram3D&); // Not implemented.
83  void operator=(const vtkvmtkVoronoiDiagram3D&); // Not implemented.
84 };
85 
86 #endif
Compute the Voronoi diagram from a Delaunay tessellation or an internal Delaunay tessellation.