VTK
vtkHyperTreeGridContour.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkHyperTreeGridContour.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 =========================================================================*/
35 #ifndef vtkHyperTreeGridContour_h
36 #define vtkHyperTreeGridContour_h
37 
38 #include "vtkFiltersHyperTreeModule.h" // For export macro
40 #include "vtkContourValues.h" // Needed for inline methods
41 
42 #include <vector> // For STL
43 
44 class vtkBitArray;
45 class vtkContourHelper;
46 class vtkDataArray;
47 class vtkHyperTreeCursor;
48 class vtkHyperTreeGrid;
50 class vtkIdList;
52 class vtkLine;
53 class vtkPixel;
54 class vtkPointData;
56 class vtkVoxel;
57 
58 class VTKFILTERSHYPERTREE_EXPORT vtkHyperTreeGridContour : public vtkHyperTreeGridAlgorithm
59 {
60 public:
61  static vtkHyperTreeGridContour* New();
63  void PrintSelf( ostream&, vtkIndent ) override;
64 
66 
70  void SetLocator(vtkIncrementalPointLocator* );
71  vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
73 
78  void CreateDefaultLocator();
79 
83  vtkMTimeType GetMTime() override;
84 
86 
89  void SetValue( int, double );
90  double GetValue( int );
91  double *GetValues();
92  void GetValues( double* );
93  void SetNumberOfContours( int) ;
94  int GetNumberOfContours();
95  void GenerateValues( int, double[2] );
96  void GenerateValues( int, double, double);
98 
99 protected:
101  ~vtkHyperTreeGridContour() override;
102 
106  int FillOutputPortInformation( int, vtkInformation* ) override;
107 
111  int ProcessTrees( vtkHyperTreeGrid*, vtkDataObject* ) override;
112 
116  bool RecursivelyPreProcessTree( vtkHyperTreeGridCursor* );
117 
121  void RecursivelyProcessTree( vtkHyperTreeGridCursor*, vtkBitArray* );
122 
127 
132 
137 
142 
144 
154 
158  std::vector<bool> Signs;
159 
164 
169 
170 private:
172  void operator=(const vtkHyperTreeGridContour&) = delete;
173 };
174 
179 inline void vtkHyperTreeGridContour::SetValue( int i, double value )
180  { this->ContourValues->SetValue( i, value ); }
181 
185 inline double vtkHyperTreeGridContour::GetValue( int i )
186  { return this->ContourValues->GetValue( i );}
187 
193  { return this->ContourValues->GetValues(); }
194 
200 inline void vtkHyperTreeGridContour::GetValues( double* contourValues )
201  { this->ContourValues->GetValues( contourValues ); }
202 
209  { this->ContourValues->SetNumberOfContours( number ); }
210 
215  { return this->ContourValues->GetNumberOfContours(); }
216 
221 inline void vtkHyperTreeGridContour::GenerateValues( int numContours,
222  double range[2] )
223  { this->ContourValues->GenerateValues( numContours, range ); }
224 
229 inline void vtkHyperTreeGridContour::GenerateValues( int numContours,
230  double rangeStart,
231  double rangeEnd )
232  { this->ContourValues->GenerateValues( numContours, rangeStart, rangeEnd ); }
233 
234 #endif /* vtkHyperTreeGridContour_h */
vtkBitArray * SelectedCells
Storage for pre-selected cells to be processed.
helper object to manage setting and generating contour values
represent and manipulate point attribute data
Definition: vtkPointData.h:31
double * GetValues()
Get a pointer to an array of contour values.
vtkBitArray ** CellSigns
Sign of isovalue if cell not treated.
int FillOutputPortInformation(int, vtkInformation *) override
Define default input and output port types.
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:300
void SetNumberOfContours(const int number)
Set the number of contours to place into the list.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
a cell that represents an orthogonal quadrilateral
Definition: vtkPixel.h:34
Abstract class in support of both point location and point insertion.
vtkDataArray * InScalars
Keep track of selected input scalars.
std::vector< bool > Signs
Storage for signs relative to current contour value.
vtkContourHelper * Helper
Pointers needed to perform isocontouring.
void GenerateValues(int numContours, double range[2])
Generate numContours equally spaced contour values between specified range.
int vtkIdType
Definition: vtkType.h:345
double GetValue(int i)
Get the ith contour value.
void SetNumberOfContours(int)
Set the number of contours to place into the list.
void GenerateValues(int, double[2])
Generate numContours equally spaced contour values between specified range.
vtkIdList * Leaves
Pointers needed to perform isocontouring.
Objects for depth-first traversal HyperTrees.
vtkContourValues * ContourValues
Storage for contour values.
cell represents a 1D line
Definition: vtkLine.h:29
double * GetValues()
Return a pointer to a list of contour values.
Objects for depth-first traversal HyperTreeGrids.
a cell that represents a 3D orthogonal parallelepiped
Definition: vtkVoxel.h:38
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkPixel * Pixel
Pointers needed to perform isocontouring.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
list of point or cell ids
Definition: vtkIdList.h:30
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:48
virtual vtkMTimeType GetMTime()
Return this object's modified time.
void SetValue(int, double)
Methods (inlined) to set / get contour values.
dynamic, self-adjusting array of unsigned char
dynamic, self-adjusting array of bits
Definition: vtkBitArray.h:33
Extract cells from a hyper tree grid where selected scalar value is within given range.
int GetNumberOfContours()
Get the number of contours in the list of contour values.
vtkIdType CurrentId
Keep track of current index in output polydata.
Superclass for algorithms that produce a hyper tree grid as output.
static vtkAlgorithm * New()
int GetNumberOfContours()
Return the number of contours in the.
double GetValue(int)
Get the ith contour value.
vtkIncrementalPointLocator * Locator
Spatial locator to merge points.
vtkLine * Line
Pointers needed to perform isocontouring.
general representation of visualization data
Definition: vtkDataObject.h:58
vtkDataArray * CellScalars
Pointers needed to perform isocontouring.
A utility class used by various contour filters.
void SetValue(int i, double value)
Set the ith contour value.
vtkVoxel * Voxel
Pointers needed to perform isocontouring.
virtual int ProcessTrees(vtkHyperTreeGrid *, vtkDataObject *)=0
Main routine to process individual trees in the grid This is pure virtual method to be implemented by...