VTK  9.2.6
vtkCellTypeSource.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCellTypeSource.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 =========================================================================*/
32 #ifndef vtkCellTypeSource_h
33 #define vtkCellTypeSource_h
34 
35 #include "vtkFiltersSourcesModule.h" // For export macro
37 
38 class vtkMergePoints;
39 
40 class VTKFILTERSSOURCES_EXPORT vtkCellTypeSource : public vtkUnstructuredGridAlgorithm
41 {
42 public:
44 
47  static vtkCellTypeSource* New();
49  void PrintSelf(ostream& os, vtkIndent indent) override;
51 
53 
56  void SetCellType(int cellType);
57  vtkGetMacro(CellType, int);
59 
61 
70  vtkSetMacro(CellOrder, int);
71  vtkGetMacro(CellOrder, int);
73 
75 
94  vtkSetMacro(CompleteQuadraticSimplicialElements, bool);
95  vtkGetMacro(CompleteQuadraticSimplicialElements, bool);
96  vtkBooleanMacro(CompleteQuadraticSimplicialElements, bool);
98 
100 
104  vtkSetClampMacro(PolynomialFieldOrder, int, 0, VTK_INT_MAX);
105  vtkGetMacro(PolynomialFieldOrder, int);
107 
109 
112  int GetCellDimension();
114 
116 
121  vtkSetClampMacro(OutputPrecision, int, 0, 1);
122  vtkGetMacro(OutputPrecision, int);
124 
126 
132  void SetBlocksDimensions(int*);
133  void SetBlocksDimensions(int, int, int);
134  vtkGetVector3Macro(BlocksDimensions, int);
136 
137 protected:
139  ~vtkCellTypeSource() override = default;
140 
143 
144  void GenerateTriangles(vtkUnstructuredGrid*, int extent[6]);
145  void GenerateQuads(vtkUnstructuredGrid*, int extent[6]);
146  void GenerateQuadraticTriangles(vtkUnstructuredGrid*, int extent[6]);
147  void GenerateQuadraticQuads(vtkUnstructuredGrid*, int extent[6]);
148  void GenerateTetras(vtkUnstructuredGrid*, int extent[6]);
149  void GenerateHexahedron(vtkUnstructuredGrid*, int extent[6]);
150  void GenerateWedges(vtkUnstructuredGrid*, int extent[6]);
151  void GeneratePyramids(vtkUnstructuredGrid*, int extent[6]);
152  void GeneratePentagonalPrism(vtkUnstructuredGrid*, int extent[6]);
153  void GenerateHexagonalPrism(vtkUnstructuredGrid*, int extent[6]);
154  void GenerateQuadraticTetras(vtkUnstructuredGrid*, int extent[6]);
155  void GenerateQuadraticHexahedron(vtkUnstructuredGrid*, int extent[6]);
156  void GenerateQuadraticWedges(vtkUnstructuredGrid*, int extent[6]);
157  void GenerateQuadraticPyramids(vtkUnstructuredGrid*, int extent[6]);
158  void GenerateTriQuadraticPyramids(vtkUnstructuredGrid*, int extent[6]);
159 
160  void GenerateLagrangeCurves(vtkUnstructuredGrid*, int extent[6]);
161  void GenerateLagrangeTris(vtkUnstructuredGrid*, int extent[6]);
162  void GenerateLagrangeQuads(vtkUnstructuredGrid*, int extent[6]);
163  void GenerateLagrangeTets(vtkUnstructuredGrid*, int extent[6]);
164  void GenerateLagrangeHexes(vtkUnstructuredGrid*, int extent[6]);
165  void GenerateLagrangeWedges(vtkUnstructuredGrid*, int extent[6]);
166 
167  void GenerateBezierCurves(vtkUnstructuredGrid*, int extent[6]);
168  void GenerateBezierTris(vtkUnstructuredGrid*, int extent[6]);
169  void GenerateBezierQuads(vtkUnstructuredGrid*, int extent[6]);
170  void GenerateBezierTets(vtkUnstructuredGrid*, int extent[6]);
171  void GenerateBezierHexes(vtkUnstructuredGrid*, int extent[6]);
172  void GenerateBezierWedges(vtkUnstructuredGrid*, int extent[6]);
173 
174  virtual void ComputeFields(vtkUnstructuredGrid*);
175  double GetValueOfOrder(int order, double coords[3]);
176 
177  int BlocksDimensions[3];
178  int CellType;
183  vtkMergePoints* Locator; // Only valid during RequestData.
184 
185 private:
186  vtkCellTypeSource(const vtkCellTypeSource&) = delete;
187  void operator=(const vtkCellTypeSource&) = delete;
188 };
189 
190 #endif
vtkMergePoints * Locator
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
Store vtkAlgorithm input/output information.
#define VTK_INT_MAX
Definition: vtkType.h:155
static vtkUnstructuredGridAlgorithm * New()
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
bool CompleteQuadraticSimplicialElements
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Definition: vtkIndent.h:39
merge exactly coincident points
dataset represents arbitrary combinations of all possible cell types
Superclass for algorithms that produce only unstructured grid as output.
Create cells of a given type.
Store zero or more vtkInformation instances.