VTK-m  2.0
PointElevation.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 
11 #ifndef vtk_m_filter_field_transform_PointElevation_h
12 #define vtk_m_filter_field_transform_PointElevation_h
13 
15 #include <vtkm/filter/field_transform/vtkm_filter_field_transform_export.h>
16 
17 namespace vtkm
18 {
19 namespace filter
20 {
21 namespace field_transform
22 {
30 class VTKM_FILTER_FIELD_TRANSFORM_EXPORT PointElevation : public vtkm::filter::FilterField
31 {
32 public:
33  VTKM_CONT
35 
36  VTKM_CONT void SetLowPoint(const vtkm::Vec3f_64& point) { this->LowPoint = point; }
38  {
39  this->SetLowPoint({ x, y, z });
40  }
41 
42  VTKM_CONT void SetHighPoint(const vtkm::Vec3f_64& point) { this->HighPoint = point; }
44  {
45  this->SetHighPoint({ x, y, z });
46  }
47 
48  VTKM_CONT
50  {
51  this->RangeLow = low;
52  this->RangeHigh = high;
53  }
54 
55 private:
56  VTKM_CONT vtkm::cont::DataSet DoExecute(const vtkm::cont::DataSet& input) override;
57 
58  vtkm::Vec3f_64 LowPoint = { 0.0, 0.0, 0.0 };
59  vtkm::Vec3f_64 HighPoint = { 0.0, 0.0, 1.0 };
60  vtkm::Float64 RangeLow = 0.0, RangeHigh = 1.0;
61 };
62 } // namespace field_transform
63 } // namespace filter
64 } // namespace vtkm
65 
66 #endif // vtk_m_filter_field_transform_PointElevation_h
vtkm
Groups connected points that have the same field value.
Definition: Atomic.h:19
vtkm::cont::DataSet
Definition: DataSet.h:34
FilterField.h
vtkm::filter::FilterField
Definition: FilterField.h:21
vtkm::filter::field_transform::PointElevation
generate a scalar field along a specified direction
Definition: PointElevation.h:30
vtkm::filter::field_transform::PointElevation::SetHighPoint
VTKM_CONT void SetHighPoint(vtkm::Float64 x, vtkm::Float64 y, vtkm::Float64 z)
Definition: PointElevation.h:43
VTKM_CONT
#define VTKM_CONT
Definition: ExportMacros.h:57
vtkm::filter::field_transform::PointElevation::SetLowPoint
VTKM_CONT void SetLowPoint(const vtkm::Vec3f_64 &point)
Definition: PointElevation.h:36
vtkm::Vec< vtkm::Float64, 3 >
vtkm::filter::field_transform::PointElevation::SetLowPoint
VTKM_CONT void SetLowPoint(vtkm::Float64 x, vtkm::Float64 y, vtkm::Float64 z)
Definition: PointElevation.h:37
vtkm::Float64
double Float64
Definition: Types.h:155
vtkm::filter::field_transform::PointElevation::SetHighPoint
VTKM_CONT void SetHighPoint(const vtkm::Vec3f_64 &point)
Definition: PointElevation.h:42
vtkm::filter::field_transform::PointElevation::SetRange
VTKM_CONT void SetRange(vtkm::Float64 low, vtkm::Float64 high)
Definition: PointElevation.h:49