VTK-m
2.0
vtkm
source
Oscillator.h
Go to the documentation of this file.
1
//============================================================================
2
// Copyright (c) Kitware, Inc.
3
// All rights reserved.
4
// See LICENSE.txt for details.
5
//
6
// This software is distributed WITHOUT ANY WARRANTY; without even
7
// the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
8
// PURPOSE. See the above copyright notice for more information.
9
//============================================================================
10
#ifndef vtk_m_source_OscillatorSource_h
11
#define vtk_m_source_OscillatorSource_h
12
13
#include <
vtkm/source/Source.h
>
14
15
namespace
vtkm
16
{
17
namespace
source
18
{
19
28
class
VTKM_SOURCE_EXPORT
Oscillator
final :
public
vtkm::source::Source
29
{
30
public
:
31
VTKM_CONT
Oscillator
();
32
34
VTKM_CONT
VTKM_DEPRECATED
(
35
2.0,
36
"Use SetCellDimensions or SetPointDimensions."
)
explicit
Oscillator
(
vtkm::Id3
dims);
37
38
// We can not declare default destructor here since compiler does not know how
39
// to create one for the Worklet at this point yet. However, the implementation
40
// in Oscillator.cxx does have ~Oscillator() = default;
41
VTKM_CONT
~
Oscillator
()
override
;
42
43
VTKM_CONT
void
SetPointDimensions(
vtkm::Id3
pointDimensions);
44
VTKM_CONT
vtkm::Id3
GetPointDimensions()
const
;
45
VTKM_CONT
void
SetCellDimensions(
vtkm::Id3
pointDimensions);
46
VTKM_CONT
vtkm::Id3
GetCellDimensions()
const
;
47
48
VTKM_CONT
49
void
SetTime(
vtkm::FloatDefault
time);
50
51
VTKM_CONT
52
void
AddPeriodic(
vtkm::FloatDefault
x,
53
vtkm::FloatDefault
y,
54
vtkm::FloatDefault
z,
55
vtkm::FloatDefault
radius,
56
vtkm::FloatDefault
omega,
57
vtkm::FloatDefault
zeta);
58
59
VTKM_CONT
60
void
AddDamped(
vtkm::FloatDefault
x,
61
vtkm::FloatDefault
y,
62
vtkm::FloatDefault
z,
63
vtkm::FloatDefault
radius,
64
vtkm::FloatDefault
omega,
65
vtkm::FloatDefault
zeta);
66
67
VTKM_CONT
68
void
AddDecaying(
vtkm::FloatDefault
x,
69
vtkm::FloatDefault
y,
70
vtkm::FloatDefault
z,
71
vtkm::FloatDefault
radius,
72
vtkm::FloatDefault
omega,
73
vtkm::FloatDefault
zeta);
74
75
private
:
76
VTKM_CONT
vtkm::cont::DataSet
DoExecute()
const override
;
77
78
struct
InternalStruct;
79
std::unique_ptr<InternalStruct>
Internals
;
80
};
81
}
82
}
83
84
#endif // vtk_m_source_OscillatorSource_h
vtkm::source::Oscillator
An analytical, time-varying uniform dataset with a point based array.
Definition:
Oscillator.h:28
vtkm
Groups connected points that have the same field value.
Definition:
Atomic.h:19
vtkm::source::Oscillator::Internals
std::unique_ptr< InternalStruct > Internals
Definition:
Oscillator.h:78
vtkm::source::Source
Definition:
Source.h:23
vtkm::cont::DataSet
Definition:
DataSet.h:34
Source.h
VTKM_CONT
#define VTKM_CONT
Definition:
ExportMacros.h:57
vtkm::Vec< vtkm::Id, 3 >
vtkm::FloatDefault
vtkm::Float32 FloatDefault
The floating point type to use when no other precision is specified.
Definition:
Types.h:198
VTKM_DEPRECATED
#define VTKM_DEPRECATED(...)
Definition:
Deprecated.h:145
Generated by
1.8.17