Go to the documentation of this file.
11 #ifndef vtk_m_worklet_Gradient_h
12 #define vtk_m_worklet_Gradient_h
35 #ifndef vtkm_GradientInstantiation
53 template <
typename CoordinateSystem,
typename T,
typename S>
65 template <
typename CellSetType>
66 void operator()(
const CellSetType& cellset)
const;
68 template <
typename CellSetType>
69 void Go(
const CellSetType& cellset)
const
72 dispatcher.Invoke(cellset,
82 dispatcher.Invoke(cellset,
88 template <
typename PermIterType>
93 dispatcher.Invoke(cellset,
102 dispatcher.Invoke(cellset,
108 template <
typename PermIterType>
113 dispatcher.Invoke(cellset,
128 #ifndef VTKM_GRADIENT_CHECK_WORKLET_INSTANCES
131 template <
typename CoordinateSystem,
typename T,
typename S>
132 template <
typename CellSetType>
141 template <
typename T>
148 template <
typename DeviceAdapter>
231 template <
typename CellSetType,
typename CoordinateSystem,
typename T,
typename S>
233 const CoordinateSystem& coords,
249 template <
typename CellSetType,
typename CoordinateSystem,
typename T,
typename S>
251 const CoordinateSystem& coords,
256 #ifndef VTKM_GRADIENT_CHECK_WORKLET_INSTANCES
259 template <
typename CellSetType,
typename CoordinateSystem,
typename T,
typename S>
261 const CellSetType& cells,
262 const CoordinateSystem& coords,
267 dispatcher.Invoke(cells, coords, field, extraOutput);
549 GradientOutputFields<vtkm::Float32>&);
557 GradientOutputFields<vtkm::Float64>&);
565 GradientOutputFields<vtkm::Vec3f_32>&);
573 GradientOutputFields<vtkm::Vec3f_64>&);
582 GradientOutputFields<vtkm::Vec3f_32>&);
590 GradientOutputFields<vtkm::Vec3f_64>&);
603 GradientOutputFields<vtkm::Vec3f_32>&);
615 GradientOutputFields<vtkm::Vec3f_64>&);
623 GradientOutputFields<vtkm::Vec3f>&);
GradientOutputFields(bool store, bool divergence, bool vorticity, bool qc)
Definition: worklet/Gradient.h:166
vtkm::exec::GradientOutput< T > PrepareForOutput(vtkm::Id size)
Definition: worklet/Gradient.h:203
Definition: worklet/Gradient.h:228
Groups connected points that have the same field value.
Definition: Atomic.h:19
bool ComputeDivergence
Definition: worklet/Gradient.h:224
Definition: CastAndCall.h:38
bool GetComputeDivergence() const
Definition: worklet/Gradient.h:182
bool ComputeQCriterion
Definition: worklet/Gradient.h:226
T ValueType
Definition: worklet/Gradient.h:145
GradientOutputFields< T > * Result
Definition: worklet/Gradient.h:122
bool GetComputeQCriterion() const
Definition: worklet/Gradient.h:194
void Go(const vtkm::cont::CellSetStructured< 2 > &cellset) const
Definition: worklet/Gradient.h:99
Definition: CastAndCall.h:34
Definition: ArrayHandleCartesianProduct.h:159
typename vtkm::VecTraits< T >::BaseComponentType BaseTType
Definition: worklet/Gradient.h:146
vtkm::Vec< vtkm::Float32, 3 > Vec3f_32
Vec3f_32 corresponds to a 3-dimensional vector of 32-bit floating point values.
Definition: Types.h:1020
const CoordinateSystem *const Points
Definition: worklet/Gradient.h:120
A CellSet of an unknown type.
Definition: UnknownCellSet.h:48
void CastAndCall(const DynamicObject &dynamicObject, Functor &&f, Args &&... args)
A Generic interface to CastAndCall.
Definition: CastAndCall.h:47
vtkm::cont::ArrayHandle< vtkm::Vec< T, 3 > > Gradient
Definition: worklet/Gradient.h:217
vtkm::cont::ArrayHandle< vtkm::Vec< BaseTType, 3 > > Vorticity
Definition: worklet/Gradient.h:219
typename vtkm::VecTraits< ComponentType >::BaseComponentType BaseComponentType
Base component type in the vector.
Definition: VecTraits.h:80
DeducedPointGrad(const CoordinateSystem &coords, const vtkm::cont::ArrayHandle< T, S > &field, GradientOutputFields< T > *result)
Definition: worklet/Gradient.h:56
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
bool GetComputeGradient() const
Definition: worklet/Gradient.h:200
bool ComputeVorticity
Definition: worklet/Gradient.h:225
Definition: CoordinateSystem.h:25
void operator=(const DeducedPointGrad< CoordinateSystem, T, S > &)=delete
vtkm::Vec< vtkm::Float64, 3 > Vec3f_64
Vec3f_64 corresponds to a 3-dimensional vector of 64-bit floating point values.
Definition: Types.h:1026
Definition: worklet/Gradient.h:246
void operator()(const CellSetType &cellset) const
Definition: worklet/Gradient.h:133
static vtkm::cont::ArrayHandle< vtkm::Vec< T, 3 > > Run(const CellSetType &cells, const CoordinateSystem &coords, const vtkm::cont::ArrayHandle< T, S > &field, GradientOutputFields< T > &extraOutput)
Definition: worklet/Gradient.h:260
Dispatcher for worklets that inherit from WorkletMapTopology.
Definition: DispatcherMapTopology.h:31
Definition: worklet/Gradient.h:47
#define VTKM_INSTANTIATION_END
Definition: Instantiations.h:48
GradientOutputFields()
Definition: worklet/Gradient.h:154
bool StoreGradient
Definition: worklet/Gradient.h:223
void SetComputeQCriterion(bool enable)
Add Q-criterion field to the output data.
Definition: worklet/Gradient.h:193
vtkm::cont::ArrayHandle< BaseTType > Divergence
Definition: worklet/Gradient.h:218
void SetComputeGradient(bool enable)
Add gradient field to the output data.
Definition: worklet/Gradient.h:199
vtkm::Vec< vtkm::FloatDefault, 3 > Vec3f
Vec3f corresponds to a 3-dimensional vector of floating point values.
Definition: Types.h:1014
Base ExecutionObjectBase for execution objects to inherit from so that you can use an arbitrary objec...
Definition: ExecutionObjectBase.h:31
Definition: worklet/Gradient.h:149
Definition: GradientOutput.h:237
void Go(const vtkm::cont::CellSetPermutation< vtkm::cont::CellSetStructured< 2 >, PermIterType > &cellset) const
Definition: worklet/Gradient.h:109
void SetComputeDivergence(bool enable)
Add divergence field to the output data.
Definition: worklet/Gradient.h:181
void Go(const vtkm::cont::CellSetPermutation< vtkm::cont::CellSetStructured< 3 >, PermIterType > &cellset) const
Definition: worklet/Gradient.h:89
bool GetComputeVorticity() const
Definition: worklet/Gradient.h:188
Definition: CastAndCall.h:36
vtkm::cont::ArrayHandle< vtkm::Vec< T, 3 > > Run(const CellSetType &cells, const CoordinateSystem &coords, const vtkm::cont::ArrayHandle< T, S > &field, GradientOutputFields< T > &extraOutput)
Definition: worklet/Gradient.h:232
void SetComputeVorticity(bool enable)
Add voriticity/curl field to the output data.
Definition: worklet/Gradient.h:187
float Float32
Definition: Types.h:154
Dispatcher for worklets that inherit from WorkletPointNeighborhood.
Definition: DispatcherPointNeighborhood.h:26
A tag for the basic implementation of a Storage object.
Definition: ArrayHandle.h:45
double Float64
Definition: Types.h:155
Definition: worklet/Gradient.h:54
void Go(const CellSetType &cellset) const
Definition: worklet/Gradient.h:69
const vtkm::cont::ArrayHandle< T, S > *const Field
Definition: worklet/Gradient.h:121
void Go(const vtkm::cont::CellSetStructured< 3 > &cellset) const
Definition: worklet/Gradient.h:79
#define VTKM_INSTANTIATION_BEGIN
The following empty macros are instantiation delimiters used by vtk_add_instantiations at CMake/VTKmW...
Definition: Instantiations.h:47
vtkm::cont::ArrayHandle< BaseTType > QCriterion
Definition: worklet/Gradient.h:220