VTK  9.7.1
vtkHilbertCurveSorter.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
3 
22 #ifndef vtkHilbertCurveSorter_h
23 #define vtkHilbertCurveSorter_h
24 
25 #include "vtkFiltersCoreModule.h" // For export macro
27 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
28 
29 VTK_ABI_NAMESPACE_BEGIN
30 
32 {
33 public:
35 
39  static vtkHilbertCurveSorter* New();
41  void PrintSelf(ostream& os, vtkIndent indent) override;
43 
47  vtkGetObjectMacro(Permutation, vtkIdList);
48 
50 
56  vtkSetMacro(ComputePermutationOnly, bool);
57  vtkBooleanMacro(ComputePermutationOnly, bool);
58  vtkGetMacro(ComputePermutationOnly, bool);
60 
61 protected:
62  vtkHilbertCurveSorter() = default;
63  ~vtkHilbertCurveSorter() override = default;
64 
66 
67  int FillInputPortInformation(int vtkNotUsed(port), vtkInformation* info) override;
68 
69 private:
71  void operator=(const vtkHilbertCurveSorter&) = delete;
72 
73  vtkNew<vtkIdList> Permutation;
74  bool ComputePermutationOnly = false;
75 };
76 
77 VTK_ABI_NAMESPACE_END
78 #endif
Superclass for algorithms that produce output of the same type as input.
Store vtkAlgorithm input/output information.
a simple class to control print indentation
Definition: vtkIndent.h:28
list of point or cell ids
Definition: vtkIdList.h:25
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Sort point coordinates using Hilbert-curve.
Store zero or more vtkInformation instances.
#define VTK_MARSHALAUTO
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when a request asks the algorithm to do its work.
static vtkPassInputTypeAlgorithm * New()