Viskores  1.0
Streamline.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_Streamline_h
20 #define viskores_filter_flow_Streamline_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 Streamline;
38 
39 template <>
41 {
43  using TerminationType = viskores::worklet::flow::NormalTermination;
44  using AnalysisType = viskores::worklet::flow::StreamlineAnalysis<ParticleType>;
46  using FieldType = viskores::worklet::flow::VelocityField<ArrayType>;
47 };
48 
57 class VISKORES_FILTER_FLOW_EXPORT Streamline
59 {
60 public:
66 
67  VISKORES_CONT FieldType GetField(const viskores::cont::DataSet& data) const;
68 
69  VISKORES_CONT TerminationType GetTermination(const viskores::cont::DataSet& data) const;
70 
71  VISKORES_CONT AnalysisType GetAnalysis(const viskores::cont::DataSet& data) const;
72 };
73 
74 }
75 }
76 } // namespace viskores::filter::flow
77 
78 #endif // viskores_filter_flow_Streamline_h
viskores::filter::flow::Streamline::FieldType
typename FlowTraits< Streamline >::FieldType FieldType
Definition: Streamline.h:65
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::Streamline::TerminationType
typename FlowTraits< Streamline >::TerminationType TerminationType
Definition: Streamline.h:62
viskores::filter::flow::FlowTraits
Definition: FilterParticleAdvectionSteadyState.h:34
viskores::cont::ArrayHandle
Manages an array-worth of data.
Definition: ArrayHandle.h:313
viskores::filter::flow::Streamline::AnalysisType
typename FlowTraits< Streamline >::AnalysisType AnalysisType
Definition: Streamline.h:63
viskores_filter_flow_export.h
viskores::filter::flow::Streamline::ArrayType
typename FlowTraits< Streamline >::ArrayType ArrayType
Definition: Streamline.h:64
FilterParticleAdvectionSteadyState.h
viskores::filter::flow::Streamline
Advect particles in a vector field and display the path they take.
Definition: Streamline.h:57
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< Streamline >::FieldType
viskores::worklet::flow::VelocityField< ArrayType > FieldType
Definition: Streamline.h:46
viskores::filter::flow::FlowTraits< Streamline >::TerminationType
viskores::worklet::flow::NormalTermination TerminationType
Definition: Streamline.h:43
viskores::filter::flow::FlowTraits< Streamline >::AnalysisType
viskores::worklet::flow::StreamlineAnalysis< ParticleType > AnalysisType
Definition: Streamline.h:44
FlowTypes.h
viskores::filter::flow::Streamline::ParticleType
typename FlowTraits< Streamline >::ParticleType ParticleType
Definition: Streamline.h:61