VTK  9.0.1
vtkImageDataToHyperTreeGrid.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageDataToHyperTreeGrid.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
29 #ifndef vtkImageDataToHyperTreeGrid_h
30 #define vtkImageDataToHyperTreeGrid_h
31 
32 #include "vtkFiltersHyperTreeModule.h" // For export macro
34 
35 class vtkBitArray;
36 class vtkIntArray;
38 class vtkDoubleArray;
39 class vtkHyperTreeGrid;
41 
42 class VTKFILTERSHYPERTREE_EXPORT vtkImageDataToHyperTreeGrid : public vtkHyperTreeGridAlgorithm
43 {
44 public:
47  void PrintSelf(ostream&, vtkIndent) override;
48 
49  vtkSetMacro(DepthMax, int);
50  vtkGetMacro(DepthMax, int);
51 
52  vtkSetMacro(NbColors, int);
53  vtkGetMacro(NbColors, int);
54 
55 protected:
57  ~vtkImageDataToHyperTreeGrid() override;
58 
60 
61  virtual int ProcessTrees(vtkHyperTreeGrid*, vtkDataObject*) override;
62 
63  void ProcessPixels(vtkIntArray*, vtkHyperTreeGridNonOrientedCursor*);
64 
65  int FillInputPortInformation(int, vtkInformation*) override;
66  int FillOutputPortInformation(int, vtkInformation*) override;
67 
68 private:
70  void operator=(const vtkImageDataToHyperTreeGrid&) = delete;
71 
72  int DepthMax;
73  int NbColors;
74 
75  vtkDataArray* InScalars;
76 
78  vtkDoubleArray* Depth;
79  vtkBitArray* Mask;
80  int GlobalId;
81 };
82 
83 #endif // vtkImageDataToHyperTreeGrid_h
int FillOutputPortInformation(int, vtkInformation *) override
Define default input and output port types.
Store vtkAlgorithm input/output information.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
Objects for traversal a HyperTreeGrid.
dynamic, self-adjusting array of double
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:39
a simple class to control print indentation
Definition: vtkIndent.h:33
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:49
dynamic, self-adjusting array of unsigned char
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
dynamic, self-adjusting array of bits
Definition: vtkBitArray.h:33
Superclass for algorithms that produce a hyper tree grid as output.
int FillInputPortInformation(int, vtkInformation *) override
Define default input and output port types.
Store zero or more vtkInformation instances.
static vtkAlgorithm * New()
general representation of visualization data
Definition: vtkDataObject.h:59
virtual int ProcessTrees(vtkHyperTreeGrid *, vtkDataObject *)=0
Main routine to process individual trees in the grid This is pure virtual method to be implemented by...