Go to the documentation of this file.
19 #ifndef viskores_filter_flow_FilterParticleAdvection_h
20 #define viskores_filter_flow_FilterParticleAdvection_h
67 template <
typename ParticleType>
74 template <
typename ParticleType>
83 this->BlockIds = blockIds;
84 this->BlockIdsSet =
true;
107 void SetUseAsynchronousCommunication() {}
111 bool GetUseAsynchronousCommunication() {
return true; }
115 void SetUseSynchronousCommunication() {}
119 bool GetUseSynchronousCommunication() {
return false; }
125 bool BlockIdsSet =
false;
133 bool UseThreadedAlgorithm =
false;
145 #endif // viskores_filter_flow_FilterParticleAdvection_h
base class for advecting particles in a vector field.
Definition: FilterParticleAdvection.h:42
void SetStepSize(viskores::FloatDefault s)
Specifies the step size used for the numerical integrator.
Definition: FilterParticleAdvection.h:54
bool GetUseThreadedAlgorithm()
Definition: FilterParticleAdvection.h:100
Contains and manages the geometric data structures that Viskores operates on.
Definition: DataSet.h:66
void SetSeeds(const std::vector< ParticleType > &seeds, viskores::CopyFlag copyFlag=viskores::CopyFlag::On)
Specify the seed locations for the particle advection.
Definition: FilterParticleAdvection.h:75
IntegrationSolverType
Definition: FlowTypes.h:27
Base class for all filters.
Definition: Filter.h:171
Manages an array-worth of data.
Definition: ArrayHandle.h:313
void SetSolverRK4()
Definition: FilterParticleAdvection.h:88
VectorFieldType
Definition: FlowTypes.h:33
viskores::Int64 Id
Base type to use to index arrays.
Definition: Types.h:235
#define VISKORES_CONT
Definition: ExportMacros.h:65
Groups connected points that have the same field value.
Definition: Atomic.h:27
#define VISKORES_DEPRECATED(...)
Definition: Deprecated.h:156
bool CanThread() const override
Returns whether the filter can execute on partitions in concurrent threads.
Definition: FilterParticleAdvection.h:46
void SetBlockIDs(const std::vector< viskores::Id > &blockIds)
Definition: FilterParticleAdvection.h:81
void SetNumberOfSteps(viskores::Id n)
Specifies the maximum number of integration steps for each particle.
Definition: FilterParticleAdvection.h:60
std::vector< viskores::Id > BlockIds
Definition: FilterParticleAdvection.h:126
viskores::Float32 FloatDefault
The floating point type to use when no other precision is specified.
Definition: Types.h:244
viskores::cont::UnknownArrayHandle Seeds
Definition: FilterParticleAdvection.h:129
An ArrayHandle of an unknown value type and storage.
Definition: UnknownArrayHandle.h:451
void SetUseThreadedAlgorithm(bool val)
Definition: FilterParticleAdvection.h:103
void SetSeeds(viskores::cont::ArrayHandle< ParticleType > &seeds)
Specify the seed locations for the particle advection.
Definition: FilterParticleAdvection.h:68
CopyFlag
Identifier used to specify whether a function should deep copy data.
Definition: Flags.h:25
viskores::cont::ArrayHandleBasic< T > make_ArrayHandle(const T *array, viskores::Id numberOfValues, viskores::CopyFlag copy)
A convenience function for creating an ArrayHandle from a standard C array.
Definition: ArrayHandleBasic.h:285
void SetSolverEuler()
Definition: FilterParticleAdvection.h:94
viskores::filter::flow::internal::BoundsMap BoundsMap
Definition: FilterParticleAdvection.h:127