src
paraview-5.12
VTKExtensions
CosmoTools
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
16
#include "
vtkUnstructuredGridAlgorithm.h
"
17
18
class
vtkUnstructuredGrid
;
19
class
vtkCell
;
20
class
vtkDoubleArray
;
21
class
vtkPolyhedron
;
22
23
class
VTKPVVTKEXTENSIONSCOSMOTOOLS_EXPORT
vtkMinkowskiFilter
:
public
vtkUnstructuredGridAlgorithm
24
{
25
public
:
26
static
vtkMinkowskiFilter
*
New
();
27
vtkTypeMacro(
vtkMinkowskiFilter
,
vtkUnstructuredGridAlgorithm
);
28
void
PrintSelf
(ostream& os,
vtkIndent
indent);
29
30
protected
:
31
vtkMinkowskiFilter
();
32
~
vtkMinkowskiFilter
();
33
34
int
RequestData
(
vtkInformation
*,
vtkInformationVector
**,
vtkInformationVector
*);
35
int
FillOutputPortInformation
(
int
,
vtkInformation
*);
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,
42
vtkDoubleArray
* C,
vtkDoubleArray
* X,
vtkDoubleArray
* G,
vtkDoubleArray
* T,
vtkDoubleArray
* B,
43
vtkDoubleArray
* L,
vtkDoubleArray
* P,
vtkDoubleArray
* F);
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
vtkObjectBase::operator=
void operator=(const vtkObjectBase &)
vtkUnstructuredGridAlgorithm::FillOutputPortInformation
virtual int FillOutputPortInformation(int port, vtkInformation *info)
vtkInformationVector
vtkMinkowskiFilter
Definition:
vtkMinkowskiFilter.h:23
vtkCell
vtkUnstructuredGridAlgorithm::RequestData
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkIndent
vtkUnstructuredGridAlgorithm::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
vtkInformation
vtkUnstructuredGridAlgorithm::New
static vtkUnstructuredGridAlgorithm * New()
vtkUnstructuredGridAlgorithm.h
vtkUnstructuredGridAlgorithm
vtkDoubleArray
vtkUnstructuredGrid
vtkPolyhedron
Generated by
1.8.17 on Wed Mar 27 2024