vtkMinkowskiFilter.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
3 // SPDX-License-Identifier: BSD-3-Clause
12 #ifndef vtkMinkowskiFilter_h
13 #define vtkMinkowskiFilter_h
14 
15 #include "vtkPVVTKExtensionsCosmoToolsModule.h" // For export macro
17 
19 class vtkCell;
20 class vtkDoubleArray;
21 class vtkPolyhedron;
22 
23 class VTKPVVTKEXTENSIONSCOSMOTOOLS_EXPORT vtkMinkowskiFilter : public vtkUnstructuredGridAlgorithm
24 {
25 public:
26  static vtkMinkowskiFilter* New();
28  void PrintSelf(ostream& os, vtkIndent indent);
29 
30 protected:
33 
36 
37 private:
38  vtkMinkowskiFilter(const vtkMinkowskiFilter&) = delete;
39  void operator=(const vtkMinkowskiFilter&) = delete;
40 
41  void compute_mf(vtkUnstructuredGrid* ugrid, vtkDoubleArray* S, vtkDoubleArray* V,
44  double compute_S(vtkPolyhedron* cell); // surface area
45  double compute_V(vtkPolyhedron* cell); // volume1
46  double compute_V(vtkUnstructuredGrid* ugrid, int cid); // volume2
47  double compute_C(vtkPolyhedron* cell); // integrated mean curvature
48  double compute_X(vtkPolyhedron* cell); // euler characteristic
49  double compute_G(double X); // genus
50  double compute_T(double V, double S); // thickness
51  double compute_B(double S, double C); // breadth
52  double compute_L(double C, double G); // length
53  double compute_P(double B, double L); // planarity
54  double compute_F(double B, double T); // filamenarity
55 
56  void compute_normal(vtkCell* face, double normal[3]);
57  int compute_epsilon(vtkCell* f1, vtkCell* f2, vtkCell* e);
58  double compute_face_area(vtkCell* face);
59  double compute_edge_length(vtkCell* edge);
60  double compute_face_angle(vtkCell* f1, vtkCell* f2);
61 };
62 
63 #endif // vtkMinkowskiFilter_h
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Given as input a voronoi tessellation, stored in a vtkUnstructuredGrid, this filter computes the Mink...
static vtkUnstructuredGridAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
virtual int FillOutputPortInformation(int port, vtkInformation *info)
void operator=(const vtkObjectBase &)