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 VTKFILTERSSOURCES_EXPORT vtkCellTypeSource : public vtkUnstructuredGridAlgorithm
36 {
37 public:
39 
42  static vtkCellTypeSource *New();
44  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
46 
48 
51  void SetCellType(int cellType);
52  vtkGetMacro(CellType, int);
54 
56 
60  vtkSetClampMacro(PolynomialFieldOrder, int, 0, VTK_INT_MAX);
61  vtkGetMacro(PolynomialFieldOrder, int);
63 
65 
68  int GetCellDimension();
70 
72 
77  vtkSetClampMacro(OutputPrecision,int, 0, 1);
78  vtkGetMacro(OutputPrecision,int);
80 
82 
88  void SetBlocksDimensions(int*);
89  void SetBlocksDimensions(int, int, int);
90  vtkGetVector3Macro(BlocksDimensions, int);
92 
93 protected:
95  ~vtkCellTypeSource() VTK_OVERRIDE {}
96 
99 
100  void GenerateTriangles(vtkUnstructuredGrid*, int extent[6]);
101  void GenerateQuads(vtkUnstructuredGrid*, int extent[6]);
102  void GenerateQuadraticTriangles(vtkUnstructuredGrid*, int extent[6]);
103  void GenerateQuadraticQuads(vtkUnstructuredGrid*, int extent[6]);
104  void GenerateTetras(vtkUnstructuredGrid*, int extent[6]);
105  void GenerateHexahedron(vtkUnstructuredGrid*, int extent[6]);
106  void GenerateWedges(vtkUnstructuredGrid*, int extent[6]);
107  void GeneratePyramids(vtkUnstructuredGrid*, int extent[6]);
108  void GenerateQuadraticTetras(vtkUnstructuredGrid*, int extent[6]);
109  void GenerateQuadraticHexahedron(vtkUnstructuredGrid*, int extent[6]);
110  void GenerateQuadraticWedges(vtkUnstructuredGrid*, int extent[6]);
111  void GenerateQuadraticPyramids(vtkUnstructuredGrid*, int extent[6]);
112 
113  virtual void ComputeFields(vtkUnstructuredGrid*);
114  double GetValueOfOrder(int order, double coords[3]);
115 
116  int BlocksDimensions[3];
117  int CellType;
120 
121 private:
122  vtkCellTypeSource(const vtkCellTypeSource&) VTK_DELETE_FUNCTION;
123  void operator=(const vtkCellTypeSource&) VTK_DELETE_FUNCTION;
124 };
125 
126 #endif
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:157
static vtkUnstructuredGridAlgorithm * New()
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
~vtkCellTypeSource() override
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:33
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.