VTK
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 =========================================================================*/
29 #ifndef vtkCellTypeSource_h
30 #define vtkCellTypeSource_h
31 
32 #include "vtkFiltersSourcesModule.h" // For export macro
34 
35 class vtkMergePoints;
36 
37 class VTKFILTERSSOURCES_EXPORT vtkCellTypeSource : public vtkUnstructuredGridAlgorithm
38 {
39 public:
41 
44  static vtkCellTypeSource *New();
46  void PrintSelf(ostream& os, vtkIndent indent) override;
48 
50 
53  void SetCellType(int cellType);
54  vtkGetMacro(CellType, int);
56 
58 
67  vtkSetMacro(CellOrder, int);
68  vtkGetMacro(CellOrder, int);
70 
72 
91  vtkSetMacro(CompleteQuadraticSimplicialElements, bool);
92  vtkGetMacro(CompleteQuadraticSimplicialElements, bool);
93  vtkBooleanMacro(CompleteQuadraticSimplicialElements, bool);
95 
97 
101  vtkSetClampMacro(PolynomialFieldOrder, int, 0, VTK_INT_MAX);
102  vtkGetMacro(PolynomialFieldOrder, int);
104 
106 
109  int GetCellDimension();
111 
113 
118  vtkSetClampMacro(OutputPrecision,int, 0, 1);
119  vtkGetMacro(OutputPrecision,int);
121 
123 
129  void SetBlocksDimensions(int*);
130  void SetBlocksDimensions(int, int, int);
131  vtkGetVector3Macro(BlocksDimensions, int);
133 
134 protected:
136  ~vtkCellTypeSource() override {}
137 
140 
141  void GenerateTriangles(vtkUnstructuredGrid*, int extent[6]);
142  void GenerateQuads(vtkUnstructuredGrid*, int extent[6]);
143  void GenerateQuadraticTriangles(vtkUnstructuredGrid*, int extent[6]);
144  void GenerateQuadraticQuads(vtkUnstructuredGrid*, int extent[6]);
145  void GenerateTetras(vtkUnstructuredGrid*, int extent[6]);
146  void GenerateHexahedron(vtkUnstructuredGrid*, int extent[6]);
147  void GenerateWedges(vtkUnstructuredGrid*, int extent[6]);
148  void GeneratePyramids(vtkUnstructuredGrid*, int extent[6]);
149  void GenerateQuadraticTetras(vtkUnstructuredGrid*, int extent[6]);
150  void GenerateQuadraticHexahedron(vtkUnstructuredGrid*, int extent[6]);
151  void GenerateQuadraticWedges(vtkUnstructuredGrid*, int extent[6]);
152  void GenerateQuadraticPyramids(vtkUnstructuredGrid*, int extent[6]);
153 
154  void GenerateLagrangeCurves(vtkUnstructuredGrid*, int extent[6]);
155  void GenerateLagrangeTris(vtkUnstructuredGrid*, int extent[6]);
156  void GenerateLagrangeQuads(vtkUnstructuredGrid*, int extent[6]);
157  void GenerateLagrangeTets(vtkUnstructuredGrid*, int extent[6]);
158  void GenerateLagrangeHexes(vtkUnstructuredGrid*, int extent[6]);
159  void GenerateLagrangeWedges(vtkUnstructuredGrid*, int extent[6]);
160 
161  virtual void ComputeFields(vtkUnstructuredGrid*);
162  double GetValueOfOrder(int order, double coords[3]);
163 
164  int BlocksDimensions[3];
165  int CellType;
170  vtkMergePoints* Locator; // Only valid during RequestData.
171 
172 private:
173  vtkCellTypeSource(const vtkCellTypeSource&) = delete;
174  void operator=(const vtkCellTypeSource&) = delete;
175 };
176 
177 #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:159
static vtkUnstructuredGridAlgorithm * New()
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
~vtkCellTypeSource() override
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.