Viskores  1.0
ParticleAdvection.h
Go to the documentation of this file.
1 //============================================================================
2 // The contents of this file are covered by the Viskores license. See
3 // LICENSE.txt for details.
4 //
5 // By contributing to this file, all contributors agree to the Developer
6 // Certificate of Origin Version 1.1 (DCO 1.1) as stated in DCO.txt.
7 //============================================================================
8 
9 //============================================================================
10 // Copyright (c) Kitware, Inc.
11 // All rights reserved.
12 // See LICENSE.txt for details.
13 //
14 // This software is distributed WITHOUT ANY WARRANTY; without even
15 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
16 // PURPOSE. See the above copyright notice for more information.
17 //============================================================================
18 
19 #ifndef viskores_filter_flow_ParticleAdvection_h
20 #define viskores_filter_flow_ParticleAdvection_h
21 
25 
26 #include <viskores/filter/flow/worklet/Analysis.h>
27 #include <viskores/filter/flow/worklet/Field.h>
28 #include <viskores/filter/flow/worklet/Termination.h>
29 
30 namespace viskores
31 {
32 namespace filter
33 {
34 namespace flow
35 {
36 
37 class ParticleAdvection;
38 
39 template <>
41 {
43  using TerminationType = viskores::worklet::flow::NormalTermination;
44  using AnalysisType = viskores::worklet::flow::NoAnalysis<ParticleType>;
46  using FieldType = viskores::worklet::flow::VelocityField<ArrayType>;
47 };
48 
50 
53 
54 class VISKORES_FILTER_FLOW_EXPORT ParticleAdvection
56 {
57 public:
63 
64  VISKORES_CONT FieldType GetField(const viskores::cont::DataSet& data) const;
65 
66  VISKORES_CONT TerminationType GetTermination(const viskores::cont::DataSet& data) const;
67 
68  VISKORES_CONT AnalysisType GetAnalysis(const viskores::cont::DataSet& data) const;
69 };
70 
71 }
72 }
73 } // namespace viskores::filter::flow
74 
75 #endif // viskores_filter_flow_ParticleAdvection_h
viskores::filter::flow::FilterParticleAdvectionSteadyState
Definition: FilterParticleAdvectionSteadyState.h:37
viskores::cont::DataSet
Contains and manages the geometric data structures that Viskores operates on.
Definition: DataSet.h:66
viskores::filter::flow::FlowTraits< ParticleAdvection >::TerminationType
viskores::worklet::flow::NormalTermination TerminationType
Definition: ParticleAdvection.h:43
viskores::filter::flow::ParticleAdvection::ArrayType
typename FlowTraits< ParticleAdvection >::ArrayType ArrayType
Definition: ParticleAdvection.h:61
viskores::filter::flow::ParticleAdvection
Advect particles in a vector field.
Definition: ParticleAdvection.h:54
viskores::filter::flow::ParticleAdvection::TerminationType
typename FlowTraits< ParticleAdvection >::TerminationType TerminationType
Definition: ParticleAdvection.h:59
viskores::filter::flow::FlowTraits
Definition: FilterParticleAdvectionSteadyState.h:34
viskores::cont::ArrayHandle
Manages an array-worth of data.
Definition: ArrayHandle.h:313
viskores::filter::flow::FlowTraits< ParticleAdvection >::FieldType
viskores::worklet::flow::VelocityField< ArrayType > FieldType
Definition: ParticleAdvection.h:46
viskores_filter_flow_export.h
viskores::filter::flow::ParticleAdvection::FieldType
typename FlowTraits< ParticleAdvection >::FieldType FieldType
Definition: ParticleAdvection.h:62
viskores::filter::flow::ParticleAdvection::ParticleType
typename FlowTraits< ParticleAdvection >::ParticleType ParticleType
Definition: ParticleAdvection.h:58
FilterParticleAdvectionSteadyState.h
VISKORES_CONT
#define VISKORES_CONT
Definition: ExportMacros.h:65
viskores
Groups connected points that have the same field value.
Definition: Atomic.h:27
viskores::Particle
Definition: Particle.h:105
viskores::filter::flow::FlowTraits< ParticleAdvection >::AnalysisType
viskores::worklet::flow::NoAnalysis< ParticleType > AnalysisType
Definition: ParticleAdvection.h:44
viskores::filter::flow::ParticleAdvection::AnalysisType
typename FlowTraits< ParticleAdvection >::AnalysisType AnalysisType
Definition: ParticleAdvection.h:60
FlowTypes.h