VTK  9.2.6
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=========================================================================*/
40#ifndef vtkHyperTreeGridContour_h
41#define vtkHyperTreeGridContour_h
42
43#include "vtkContourValues.h" // Needed for inline methods
44#include "vtkFiltersHyperTreeModule.h" // For export macro
46
47#include <vector> // For STL
48
49class vtkBitArray;
50class vtkCellData;
52class vtkDataArray;
54class vtkIdList;
56class vtkLine;
57class vtkPixel;
59class vtkVoxel;
62
63class VTKFILTERSHYPERTREE_EXPORT vtkHyperTreeGridContour : public vtkHyperTreeGridAlgorithm
64{
65public:
68 void PrintSelf(ostream& os, vtkIndent indent) override;
69
71
76 vtkGetObjectMacro(Locator, vtkIncrementalPointLocator);
78
84
89
91
94 void SetValue(int, double);
95 double GetValue(int);
96 double* GetValues();
97 void GetValues(double*);
98 void SetNumberOfContours(int);
99 vtkIdType GetNumberOfContours();
100 void GenerateValues(int, double[2]);
101 void GenerateValues(int, double, double);
103
104protected:
107
112
117
122
127
132
137
142
147
149
159
163 std::vector<bool> Signs;
164
169
174
177
178private:
180 void operator=(const vtkHyperTreeGridContour&) = delete;
181};
182
187inline void vtkHyperTreeGridContour::SetValue(int i, double value)
188{
189 this->ContourValues->SetValue(i, value);
190}
191
196{
197 return this->ContourValues->GetValue(i);
198}
199
205{
206 return this->ContourValues->GetValues();
207}
208
214inline void vtkHyperTreeGridContour::GetValues(double* contourValues)
215{
216 this->ContourValues->GetValues(contourValues);
217}
218
225{
226 this->ContourValues->SetNumberOfContours(number);
227}
228
236
241inline void vtkHyperTreeGridContour::GenerateValues(int numContours, double range[2])
242{
243 this->ContourValues->GenerateValues(numContours, range);
244}
245
251 int numContours, double rangeStart, double rangeEnd)
252{
253 this->ContourValues->GenerateValues(numContours, rangeStart, rangeEnd);
254}
255
256#endif // vtkHyperTreeGridContour_h
dynamic, self-adjusting array of bits
Definition vtkBitArray.h:37
represent and manipulate cell attribute data
Definition vtkCellData.h:42
A utility class used by various contour filters.
helper object to manage setting and generating contour values
double * GetValues()
Return a pointer to a list of contour values.
int GetNumberOfContours()
Return the number of contours in the.
void GenerateValues(int numContours, double range[2])
Generate numContours equally spaced contour values between specified range.
void SetNumberOfContours(const int number)
Set the number of contours to place into the list.
void SetValue(int i, double value)
Set the ith contour value.
double GetValue(int i)
Get the ith contour value.
abstract superclass for arrays of numeric data
general representation of visualization data
Superclass for algorithms that produce a hyper tree grid as output.
Extract cells from a hyper tree grid where selected scalar value is within given range.
vtkBitArray ** CellSigns
Sign of isovalue if cell not treated.
void CreateDefaultLocator()
Create default locator.
vtkIdType GetNumberOfContours()
Get the number of contours in the list of contour values.
void SetValue(int, double)
Methods (inlined) to set / get contour values.
vtkIdType CurrentId
Keep track of current index in output polydata.
vtkPixel * Pixel
Pointers needed to perform isocontouring.
double GetValue(int)
Get the ith contour value.
vtkMTimeType GetMTime() override
Modified GetMTime Because we delegate to vtkContourValues.
int FillOutputPortInformation(int, vtkInformation *) override
For this algorithm the output is a vtkPolyData instance.
vtkIncrementalPointLocator * Locator
Spatial locator to merge points.
std::vector< bool > Signs
Storage for signs relative to current contour value.
vtkDataArray * InScalars
Keep track of selected input scalars.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetNumberOfContours(int)
Set the number of contours to place into the list.
vtkDataArray * CellScalars
Pointers needed to perform isocontouring.
vtkIdList * Leaves
Pointers needed to perform isocontouring.
double * GetValues()
Get a pointer to an array of contour values.
vtkVoxel * Voxel
Pointers needed to perform isocontouring.
void RecursivelyProcessTree(vtkHyperTreeGridNonOrientedMooreSuperCursor *)
Recursively descend into tree down to leaves.
bool RecursivelyPreProcessTree(vtkHyperTreeGridNonOrientedCursor *)
Recursively decide whether a cell is intersected by a contour.
vtkLine * Line
Pointers needed to perform isocontouring.
vtkContourValues * ContourValues
Storage for contour values.
void SetLocator(vtkIncrementalPointLocator *)
Set / get a spatial locator for merging points.
int ProcessTrees(vtkHyperTreeGrid *, vtkDataObject *) override
Main routine to generate isocontours of hyper tree grid.
vtkBitArray * SelectedCells
Storage for pre-selected cells to be processed.
~vtkHyperTreeGridContour() override
static vtkHyperTreeGridContour * New()
vtkContourHelper * Helper
Pointers needed to perform isocontouring.
vtkUnsignedCharArray * InGhostArray
void GenerateValues(int, double[2])
Generate numContours equally spaced contour values between specified range.
Objects for traversal a HyperTreeGrid.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
list of point or cell ids
Definition vtkIdList.h:34
Abstract class in support of both point location and point insertion.
a simple class to control print indentation
Definition vtkIndent.h:40
Store vtkAlgorithm input/output information.
cell represents a 1D line
Definition vtkLine.h:34
a cell that represents an orthogonal quadrilateral
Definition vtkPixel.h:38
dynamic, self-adjusting array of unsigned char
a cell that represents a 3D orthogonal parallelepiped
Definition vtkVoxel.h:42
int vtkIdType
Definition vtkType.h:332
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:287