Go to the documentation of this file.
11 #ifndef vtk_m_worklet_PointElevation_h
12 #define vtk_m_worklet_PointElevation_h
27 VTKM_EXEC T clamp(
const T& val,
const T& min,
const T& max)
29 return vtkm::Min(max, vtkm::Max(min, val));
57 vtkm::Float64 s = vtkm::Dot(vec - this->LowPoint, direction) / lengthSqr;
58 s = internal::clamp(s, 0.0, 1.0);
59 return this->RangeLow + (s * rangeLength);
77 #endif // vtk_m_worklet_PointElevation_h
#define VTKM_EXEC
Definition: ExportMacros.h:51
Groups connected points that have the same field value.
Definition: Atomic.h:19
A control signature tag for output fields.
Definition: WorkletMapField.h:60
const vtkm::Float64 RangeHigh
Definition: worklet/PointElevation.h:72
void(FieldIn, FieldOut) ControlSignature
Definition: worklet/PointElevation.h:36
const vtkm::Float64 RangeLow
Definition: worklet/PointElevation.h:72
VTKM_EXEC vtkm::Float64 operator()(const vtkm::Vec< T, 3 > &vec) const
Definition: worklet/PointElevation.h:63
A control signature tag for input fields.
Definition: WorkletMapField.h:49
Definition: worklet/PointElevation.h:33
#define VTKM_CONT
Definition: ExportMacros.h:57
const vtkm::Vec3f_64 HighPoint
Definition: worklet/PointElevation.h:71
VTKM_CONT PointElevation(const vtkm::Vec3f_64 &lp, const vtkm::Vec3f_64 &hp, vtkm::Float64 low, vtkm::Float64 hi)
Definition: worklet/PointElevation.h:40
VTKM_EXEC vtkm::Float64 operator()(const vtkm::Vec3f_64 &vec) const
Definition: worklet/PointElevation.h:52
constexpr VTKM_EXEC_CONT vtkm::Vec< T, vtkm::IdComponent(sizeof...(Ts)+1)> make_Vec(T value0, Ts &&... args)
Initializes and returns a Vec containing all the arguments.
Definition: Types.h:1212
double Float64
Definition: Types.h:155
_2(_1) ExecutionSignature
Definition: worklet/PointElevation.h:37
const vtkm::Vec3f_64 LowPoint
Definition: worklet/PointElevation.h:71
Base class for worklets that do a simple mapping of field arrays.
Definition: WorkletMapField.h:38