VTK  9.3.1
vtkVoxelContoursToSurfaceFilter.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
34 #ifndef vtkVoxelContoursToSurfaceFilter_h
35 #define vtkVoxelContoursToSurfaceFilter_h
36 
37 #include "vtkFiltersGeneralModule.h" // For export macro
38 #include "vtkPolyDataAlgorithm.h"
39 
40 VTK_ABI_NAMESPACE_BEGIN
41 class VTKFILTERSGENERAL_EXPORT vtkVoxelContoursToSurfaceFilter : public vtkPolyDataAlgorithm
42 {
43 public:
46  void PrintSelf(ostream& os, vtkIndent indent) override;
47 
49 
55  vtkSetMacro(MemoryLimitInBytes, int);
56  vtkGetMacro(MemoryLimitInBytes, int);
58 
59  vtkSetVector3Macro(Spacing, double);
60  vtkGetVectorMacro(Spacing, double, 3);
61 
62 protected:
65 
67 
69 
70  double Spacing[3];
71 
72  double* LineList;
75 
76  double* SortedXList;
77  double* SortedYList;
79 
82 
85 
86  void AddLineToLineList(double x1, double y1, double x2, double y2);
87  void SortLineList();
88 
89  void CastLines(float* slice, double gridOrigin[3], int gridSize[3], int type);
90 
91  void PushDistances(float* ptr, int gridSize[3], int chunkSize);
92 
93 private:
95  void operator=(const vtkVoxelContoursToSurfaceFilter&) = delete;
96 };
97 
98 VTK_ABI_NAMESPACE_END
99 #endif
Store vtkAlgorithm input/output information.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:28
Store zero or more vtkInformation instances.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.