Go to the documentation of this file.
11 #ifndef vtk_m_filter_flow_worklet_ParticleAdvection_h
12 #define vtk_m_filter_flow_worklet_ParticleAdvection_h
29 using ControlSignature =
30 void(FieldIn pt, FieldIn
id, FieldIn time, FieldIn step, FieldOut particle);
31 using ExecutionSignature = void(_1, _2, _3, _4, _5);
32 using InputDomain = _1;
34 template <
typename ParticleType>
39 ParticleType& particle)
const
41 particle.SetPosition(pt);
43 particle.SetTime(time);
44 particle.SetNumberOfSteps(step);
45 particle.GetStatus().SetOk();
51 template <
typename ParticleType>
72 template <
typename IntegratorType,
typename ParticleType,
typename ParticleStorage>
73 void Run2(
const IntegratorType& it,
80 worklet.
Run(it, particles, MaxSteps);
84 template <
typename IntegratorType,
typename ParticleType,
typename ParticleStorage>
86 const IntegratorType& it,
92 worklet.
Run(it, particles, MaxSteps);
96 template <
typename IntegratorType,
typename ParticleType,
typename Po
intStorage>
98 const IntegratorType& it,
118 invoke(detail::CopyToParticle{}, points, ids, time, step, particles);
120 worklet.
Run(it, particles, MaxSteps);
125 template <
typename ParticleType>
154 template <
typename IntegratorType,
typename ParticleType,
typename ParticleStorage>
156 const IntegratorType& it,
165 worklet.
Run(it, particles, MaxSteps, positions, polyLines);
175 #endif // vtk_m_filter_flow_worklet_ParticleAdvection_h
VTKM_CONT vtkm::Id GetNumberOfValues() const
Returns the number of entries in the array.
Definition: ArrayHandle.h:448
#define VTKM_EXEC
Definition: ExportMacros.h:51
Groups connected points that have the same field value.
Definition: Atomic.h:19
Definition: ParticleAdvectionWorklets.h:91
Definition: worklet/ParticleAdvection.h:149
Streamline()
Definition: worklet/ParticleAdvection.h:152
Definition: Particles.h:112
Definition: worklet/ParticleAdvection.h:52
StreamlineResult< ParticleType > Run(const IntegratorType &it, vtkm::cont::ArrayHandle< ParticleType, ParticleStorage > &particles, vtkm::Id MaxSteps)
Definition: worklet/ParticleAdvection.h:155
Definition: worklet/ParticleAdvection.h:67
vtkm::cont::ArrayHandle< ParticleType > Particles
Definition: worklet/ParticleAdvection.h:64
Definition: worklet/ParticleAdvection.h:126
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
ParticleAdvectionResult< ParticleType > Run(const IntegratorType &it, const vtkm::cont::ArrayHandle< vtkm::Vec3f, PointStorage > &points, vtkm::Id MaxSteps)
Definition: worklet/ParticleAdvection.h:97
void Run(const IntegratorType &it, vtkm::cont::ArrayHandle< ParticleType, PointStorage > &particles, vtkm::Id &MaxSteps, vtkm::cont::ArrayHandle< vtkm::Vec3f, PointStorage2 > &positions, vtkm::cont::CellSetExplicit<> &polyLines)
Definition: ParticleAdvectionWorklets.h:176
Definition: ParticleAdvectionWorklets.h:172
ParticleAdvection()
Definition: worklet/ParticleAdvection.h:70
StreamlineResult(const vtkm::cont::ArrayHandle< ParticleType > &part, const vtkm::cont::ArrayHandle< vtkm::Vec3f > &pos, const vtkm::cont::CellSetExplicit<> &lines)
Definition: worklet/ParticleAdvection.h:135
Allows launching any worklet without a dispatcher.
Definition: Invoker.h:41
void ArrayCopy(const SourceArrayType &source, DestArrayType &destination)
Does a deep copy from one array to another array.
Definition: ArrayCopy.h:142
An array handle with a constant value.
Definition: ArrayHandleConstant.h:63
StreamlineResult()
Definition: worklet/ParticleAdvection.h:128
vtkm::cont::ArrayHandle< ParticleType > Particles
Definition: worklet/ParticleAdvection.h:144
vtkm::Float32 FloatDefault
The floating point type to use when no other precision is specified.
Definition: Types.h:198
void Run2(const IntegratorType &it, vtkm::cont::ArrayHandle< ParticleType, ParticleStorage > &particles, vtkm::Id MaxSteps, ParticleAdvectionResult< ParticleType > &result)
Definition: worklet/ParticleAdvection.h:73
Definition: CastAndCall.h:36
vtkm::cont::CellSetExplicit PolyLines
Definition: worklet/ParticleAdvection.h:146
ParticleAdvectionResult()
Definition: worklet/ParticleAdvection.h:54
ParticleAdvectionResult< ParticleType > Run(const IntegratorType &it, vtkm::cont::ArrayHandle< ParticleType, ParticleStorage > &particles, vtkm::Id MaxSteps)
Definition: worklet/ParticleAdvection.h:85
ParticleAdvectionResult(const vtkm::cont::ArrayHandle< ParticleType > &p)
Definition: worklet/ParticleAdvection.h:59
void Run(const IntegratorType &integrator, vtkm::cont::ArrayHandle< ParticleType > &particles, vtkm::Id &MaxSteps)
Definition: ParticleAdvectionWorklets.h:98
Base class for worklets that do a simple mapping of field arrays.
Definition: WorkletMapField.h:38
vtkm::cont::ArrayHandle< vtkm::Vec3f > Positions
Definition: worklet/ParticleAdvection.h:145