Go to the documentation of this file.
20 #ifndef vtk_m_filter_mesh_info_worklet_MeshQualityWorklet_h
21 #define vtk_m_filter_mesh_info_worklet_MeshQualityWorklet_h
41 template <
typename Derived>
44 using ControlSignature = void(CellSetIn cellset,
45 FieldInPoint pointCoords,
46 FieldOutCell metricOut);
47 using ExecutionSignature = void(CellShape, PointCount, _2, _3);
50 template <
typename CellShapeType,
typename Po
intCoordVecType,
typename OutType>
51 VTKM_EXEC void operator()(CellShapeType shape,
53 const PointCoordVecType& pts,
54 OutType& metricValue)
const
61 else if (numPoints == 4)
65 const Derived*
self =
reinterpret_cast<const Derived*
>(
this);
70 numPoints, pts, CellShapeTag{}, errorCode));
73 metricValue = OutType(0.0);
88 "But the active field is not a point field.");
94 auto resolveType = [&](
const auto& concrete) {
95 using T =
typename std::decay_t<decltype(concrete)>::ValueType::ComponentType;
97 invoke(*
reinterpret_cast<const Derived*
>(
this), input.
GetCellSet(), concrete, result);
110 #endif //vtk_m_filter_mesh_info_worklet_MeshQualityWorklet_h
VTKM_CONT bool IsPointField() const
Definition: cont/Field.h:67
Manages an array-worth of data.
Definition: ArrayHandle.h:283
ErrorCode
Definition: ErrorCode.h:19
#define VTKM_EXEC
Definition: ExportMacros.h:51
VTKM_CONT void CastAndCallForTypesWithFloatFallback(Functor &&functor, Args &&... args) const
Call a functor using the underlying array type with a float cast fallback.
Definition: UnknownArrayHandle.h:1051
vtkm::Int32 IdComponent
Represents a component ID (index of component in a vector).
Definition: Types.h:168
An ArrayHandle of an unknown value type and storage.
Definition: UnknownArrayHandle.h:406
const vtkm::cont::UnknownArrayHandle & GetData() const
#define vtkmGenericCellShapeMacro(call)
A macro used in a switch statement to determine cell shape.
Definition: CellShape.h:230
A Field encapsulates an array on some piece of the mesh, such as the points, a cell set,...
Definition: cont/Field.h:31
Allows launching any worklet without a dispatcher.
Definition: Invoker.h:41
Base class for worklets that map from Points to Cells.
Definition: WorkletMapTopology.h:255
#define VTKM_CONT
Definition: ExportMacros.h:57
uint8_t UInt8
Definition: Types.h:157
@ CELL_SHAPE_TRIANGLE
Definition: CellShape.h:41
vtkm::List< vtkm::Vec3f_32, vtkm::Vec3f_64 > TypeListFieldVec3
A list containing types for values for fields with three dimensional vectors.
Definition: TypeList.h:57
This class is thrown when a VTKm function or method encounters an invalid value that inhibits progres...
Definition: ErrorBadValue.h:25
const VTKM_EXEC_CONT char * ErrorString(vtkm::ErrorCode code) noexcept
Definition: ErrorCode.h:40
@ CELL_SHAPE_POLYGON
Definition: CellShape.h:43
const VTKM_CONT vtkm::cont::UnknownCellSet & GetCellSet() const
Definition: DataSet.h:362
VTKM_EXEC void RaiseError(const char *message) const
Definition: FunctorBase.h:40
@ CELL_SHAPE_QUAD
Definition: CellShape.h:45