VTK  9.2.6
vtkHyperTreeGridPreConfiguredSource.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkHyperTreeGridPreConfiguredSource.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 copyrgight notice for more information.
13
14=========================================================================*/
15
22
23#include "vtkFiltersSourcesModule.h" //for export macro
25
26#ifndef vtkHyperTreeGridPreConfiguredSource_h
27#define vtkHyperTreeGridPreConfiguredSource_h
28
31class vtkDoubleArray;
32
33class VTKFILTERSSOURCES_EXPORT vtkHyperTreeGridPreConfiguredSource
35{
36public:
42
44
47 void GenerateUnbalanced(vtkHyperTreeGrid* HTG, unsigned int dim, unsigned int factor,
48 unsigned int depth, const std::vector<double>& extent,
49 const std::vector<unsigned int>& subdivisions);
50
51 void GenerateBalanced(vtkHyperTreeGrid* HTG, unsigned int dim, unsigned int factor,
52 unsigned int depth, const std::vector<double>& extent,
53 const std::vector<unsigned int>& subdivisions);
55
57
70
71
73
81
82
88
90
95
99 vtkGetMacro(CustomDim, unsigned int);
100 vtkSetMacro(CustomDim, unsigned int);
101
105 vtkGetMacro(CustomFactor, unsigned int);
106 vtkSetMacro(CustomFactor, unsigned int);
107
111 vtkGetMacro(CustomDepth, unsigned int);
112 vtkSetMacro(CustomDepth, unsigned int);
113
117 vtkGetVector6Macro(CustomExtent, double);
118 vtkSetVector6Macro(CustomExtent, double);
119
123 vtkGetVector3Macro(CustomSubdivisions, unsigned int);
124 vtkSetVector3Macro(CustomSubdivisions, unsigned int);
126
128
132
134
136
138
140
142
145
146protected:
153
155
157
160
162
164
167 void Preprocess(vtkHyperTreeGrid* HTG, unsigned int dim, unsigned int factor,
168 const std::vector<double>& extent, const std::vector<unsigned int>& subdivisions);
169
174 vtkHyperTreeGridNonOrientedCursor* cursor, vtkDoubleArray* levels, const int maxDepth);
176
178
182
187 unsigned int CustomDim;
188 unsigned int CustomFactor;
189 unsigned int CustomDepth;
190 double CustomExtent[6];
191 unsigned int CustomSubdivisions[3];
193
194}; // vtkHyperTreeGridPreConfiguredSource
195
196#endif // vtkHyperTreeGridPreConfiguredSource_h
general representation of visualization data
dynamic, self-adjusting array of double
Objects for traversal a HyperTreeGrid.
virtual ~vtkHyperTreeGridPreConfiguredSource()=default
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
void operator=(const vtkHyperTreeGridPreConfiguredSource &)=delete
vtkSetEnumMacro(CustomArchitecture, HTGArchitecture)
Get/Set for custom architecture.
static vtkHyperTreeGridPreConfiguredSource * New()
HTGType
An enum type for referencing preconfigured HTGs.
unsigned int CustomFactor
The pre-configuration mode of the generator.
HTGType HTGMode
The pre-configuration mode of the generator.
vtkGetEnumMacro(CustomArchitecture, HTGArchitecture)
Get/Set for custom architecture.
void GenerateUnbalanced3DepthQuadTree2x3(vtkHyperTreeGrid *HTG)
Helper functions for generating the different types of HTGs.
HTGArchitecture
An enum type for configuring the type of generation for the CUSTOM HTG type.
double CustomExtent[6]
The pre-configuration mode of the generator.
void GenerateBalanced2Depth3BranchTree3x3x2(vtkHyperTreeGrid *HTG)
Helper functions for generating the different types of HTGs.
void GenerateBalanced3DepthQuadTree2x3(vtkHyperTreeGrid *HTG)
Helper functions for generating the different types of HTGs.
void RecurseBalanced(vtkHyperTreeGridNonOrientedCursor *cursor, vtkDoubleArray *levels, const int maxDepth)
Recursive helper for the BALANCED architecture.
int ProcessTrees(vtkHyperTreeGrid *, vtkDataObject *) override
Main routine to process individual trees in the grid This is pure virtual method to be implemented by...
void Preprocess(vtkHyperTreeGrid *HTG, unsigned int dim, unsigned int factor, const std::vector< double > &extent, const std::vector< unsigned int > &subdivisions)
Common preprocessing for setting up the HyperTreeGrid for all types.
void GenerateBalanced4Depth3BranchTree2x2(vtkHyperTreeGrid *HTG)
Helper functions for generating the different types of HTGs.
HTGArchitecture CustomArchitecture
All members related to the CUSTOM HTGType.
void GenerateUnbalanced3DepthOctTree3x2x3(vtkHyperTreeGrid *HTG)
Helper functions for generating the different types of HTGs.
int GenerateCustom(vtkHyperTreeGrid *HTG)
Helper functions for generating the different types of HTGs.
void GenerateUnbalanced2Depth3BranchTree3x3(vtkHyperTreeGrid *HTG)
Helper functions for generating the different types of HTGs.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkHyperTreeGridPreConfiguredSource(const vtkHyperTreeGridPreConfiguredSource &)=delete
vtkGetEnumMacro(HTGMode, HTGType)
Get/Set HyperTreeGrid mode.
unsigned int CustomSubdivisions[3]
The pre-configuration mode of the generator.
unsigned int CustomDepth
The pre-configuration mode of the generator.
unsigned int CustomDim
The pre-configuration mode of the generator.
int FillOutputPortInformation(int, vtkInformation *) override
Define default input and output port types.
vtkHyperTreeGridPreConfiguredSource()
Contructor setup.
void GenerateUnbalanced(vtkHyperTreeGrid *HTG, unsigned int dim, unsigned int factor, unsigned int depth, const std::vector< double > &extent, const std::vector< unsigned int > &subdivisions)
Helper methods for generating HTGs.
void GenerateBalanced(vtkHyperTreeGrid *HTG, unsigned int dim, unsigned int factor, unsigned int depth, const std::vector< double > &extent, const std::vector< unsigned int > &subdivisions)
Helper methods for generating HTGs.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.