VTK-m  2.0
MeshQuality.h
Go to the documentation of this file.
1 //============================================================================
2 // Copyright (c) Kitware, Inc.
3 // All rights reserved.
4 // See LICENSE.txt for details.
5 // This software is distributed WITHOUT ANY WARRANTY; without even
6 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
7 // PURPOSE. See the above copyright notice for more information.
8 //
9 // Copyright 2014 National Technology & Engineering Solutions of Sandia, LLC (NTESS).
10 // Copyright 2014 UT-Battelle, LLC.
11 // Copyright 2014 Los Alamos National Security.
12 //
13 // Under the terms of Contract DE-NA0003525 with NTESS,
14 // the U.S. Government retains certain rights in this software.
15 //
16 // Under the terms of Contract DE-AC52-06NA25396 with Los Alamos National
17 // Laboratory (LANL), the U.S. Government retains certain rights in
18 // this software.
19 //============================================================================
20 
21 #ifndef vtk_m_filter_mesh_info_MeshQuality_h
22 #define vtk_m_filter_mesh_info_MeshQuality_h
23 
25 #include <vtkm/filter/mesh_info/vtkm_filter_mesh_info_export.h>
26 
27 namespace vtkm
28 {
29 namespace filter
30 {
31 namespace mesh_info
32 {
33 
34 enum struct CellMetric
35 {
36  Area,
39  Condition,
41  Dimension,
42  Jacobian,
43  MaxAngle,
45  MinAngle,
47  Oddy,
50  Shape,
52  Shear,
53  Skew,
54  Stretch,
55  Taper,
56  Volume,
57  Warpage,
58  None
59 };
60 
69 class VTKM_FILTER_MESH_INFO_EXPORT MeshQuality : public vtkm::filter::FilterField
70 {
71 public:
73 
74 private:
75  VTKM_CONT vtkm::cont::DataSet DoExecute(const vtkm::cont::DataSet& input) override;
76 
78 };
79 } // namespace mesh_info
80 } // namespace filter
81 } // namespace vtkm
82 
83 #endif // vtk_m_filter_mesh_info_MeshQuality_h
vtkm::filter::mesh_info::CellMetric::DiagonalRatio
@ DiagonalRatio
vtkm::filter::mesh_info::CellMetric::MaxAngle
@ MaxAngle
vtkm::filter::mesh_info::CellMetric::Dimension
@ Dimension
vtkm::filter::mesh_info::CellMetric::None
@ None
vtkm::filter::mesh_info::CellMetric::Taper
@ Taper
vtkm::filter::mesh_info::CellMetric::MaxDiagonal
@ MaxDiagonal
vtkm
Groups connected points that have the same field value.
Definition: Atomic.h:19
vtkm::filter::mesh_info::CellMetric::MinDiagonal
@ MinDiagonal
vtkm::filter::mesh_info::CellMetric::Shear
@ Shear
vtkm::filter::mesh_info::CellMetric
CellMetric
Definition: MeshQuality.h:34
vtkm::cont::DataSet
Definition: DataSet.h:34
vtkm::filter::mesh_info::CellMetric::Oddy
@ Oddy
vtkm::filter::mesh_info::CellMetric::RelativeSizeSquared
@ RelativeSizeSquared
FilterField.h
vtkm::filter::FilterField
Definition: FilterField.h:21
vtkm::filter::mesh_info::MeshQuality::MyMetric
CellMetric MyMetric
Definition: MeshQuality.h:77
vtkm::filter::mesh_info::CellMetric::Jacobian
@ Jacobian
vtkm::filter::mesh_info::MeshQuality
Computes the quality of an unstructured cell-based mesh.
Definition: MeshQuality.h:69
vtkm::filter::mesh_info::CellMetric::ShapeAndSize
@ ShapeAndSize
vtkm::filter::mesh_info::CellMetric::Area
@ Area
vtkm::filter::mesh_info::CellMetric::Shape
@ Shape
vtkm::filter::mesh_info::CellMetric::Skew
@ Skew
VTKM_CONT
#define VTKM_CONT
Definition: ExportMacros.h:57
vtkm::filter::mesh_info::CellMetric::Warpage
@ Warpage
vtkm::filter::mesh_info::CellMetric::Condition
@ Condition
vtkm::filter::mesh_info::CellMetric::ScaledJacobian
@ ScaledJacobian
vtkm::filter::mesh_info::CellMetric::Volume
@ Volume
vtkm::filter::mesh_info::CellMetric::AspectRatio
@ AspectRatio
vtkm::filter::mesh_info::CellMetric::Stretch
@ Stretch
vtkm::filter::mesh_info::CellMetric::AspectGamma
@ AspectGamma
vtkm::filter::mesh_info::CellMetric::MinAngle
@ MinAngle