vtkCellIntegrator.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCellIntegrator.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 =========================================================================*/
26 #ifndef vtkCellIntegrator_h
27 #define vtkCellIntegrator_h
28 
29 #include "vtkObject.h"
30 #include "vtkPVVTKExtensionsFiltersGeneralModule.h" //needed for exports
31 
32 class vtkDataSet;
33 class vtkIdList;
34 
36 {
37 public:
38  vtkTypeMacro(vtkCellIntegrator, vtkObject);
39  void PrintSelf(ostream& os, vtkIndent indent) override;
40 
46  static double Integrate(vtkDataSet* input, vtkIdType cellId);
47 
48 protected:
50  ~vtkCellIntegrator() override{};
51 
52 private:
53  static double IntegratePolyLine(vtkDataSet* input, vtkIdType cellId, vtkIdList* ptIds);
54  static double IntegrateTriangleStrip(vtkDataSet* input, vtkIdType cellId, vtkIdList* ptIds);
55  static double IntegratePolygon(vtkDataSet* input, vtkIdType cellId, vtkIdList* ptIds);
56  static double IntegratePixel(vtkDataSet* input, vtkIdType cellId, vtkIdList* cellPtIds);
57  static double IntegrateTriangle(
58  vtkDataSet* input, vtkIdType cellId, vtkIdType pt1Id, vtkIdType pt2Id, vtkIdType pt3Id);
59  static double IntegrateTetrahedron(vtkDataSet* input, vtkIdType cellId, vtkIdType pt1Id,
60  vtkIdType pt2Id, vtkIdType pt3Id, vtkIdType pt4Id);
61  static double IntegrateVoxel(vtkDataSet* input, vtkIdType cellId, vtkIdList* cellPtIds);
62  static double IntegrateGeneral1DCell(vtkDataSet* input, vtkIdType cellId, vtkIdList* ptIds);
63  static double IntegrateGeneral2DCell(vtkDataSet* input, vtkIdType cellId, vtkIdList* ptIds);
64  static double IntegrateGeneral3DCell(vtkDataSet* input, vtkIdType cellId, vtkIdList* ptIds);
65 
66  vtkCellIntegrator(const vtkCellIntegrator&) = delete;
67  void operator=(const vtkCellIntegrator&) = delete;
68 };
69 
70 #endif
~vtkCellIntegrator() override
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
int vtkIdType
Calculates length/area/volume of a cell.
#define VTKPVVTKEXTENSIONSFILTERSGENERAL_EXPORT
void operator=(const vtkObjectBase &)