Viskores  1.0
Shrink.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_geometry_refinement_Shrink_h
20 #define viskores_filter_geometry_refinement_Shrink_h
21 
22 #include <viskores/filter/Filter.h>
24 
25 namespace viskores
26 {
27 namespace filter
28 {
29 namespace geometry_refinement
30 {
37 class VISKORES_FILTER_GEOMETRY_REFINEMENT_EXPORT Shrink : public viskores::filter::Filter
38 {
39 public:
46  {
47  this->ShrinkFactor = viskores::Min(viskores::Max(0, factor), 1); // Clamp shrink factor value
48  }
49 
51  VISKORES_CONT viskores::FloatDefault GetShrinkFactor() const { return this->ShrinkFactor; }
52 
53 private:
54  VISKORES_CONT viskores::cont::DataSet DoExecute(const viskores::cont::DataSet& input) override;
55  viskores::FloatDefault ShrinkFactor = 0.5f;
56 };
57 } // namespace geometry_refinement
58 } // namespace filter
59 } // namespace viskores
60 
61 #endif // viskores_filter_geometry_refinement_Shrink_h
viskores::cont::DataSet
Contains and manages the geometric data structures that Viskores operates on.
Definition: DataSet.h:66
viskores::filter::geometry_refinement::Shrink::GetShrinkFactor
viskores::FloatDefault GetShrinkFactor() const
Specify the scale factor to size each cell.
Definition: Shrink.h:51
viskores::filter::geometry_refinement::Shrink
Shrink cells of an arbitrary dataset by a constant factor.
Definition: Shrink.h:37
viskores::filter::Filter
Base class for all filters.
Definition: Filter.h:171
viskores::filter::geometry_refinement::Shrink::SetShrinkFactor
void SetShrinkFactor(viskores::FloatDefault factor)
Specify the scale factor to size each cell.
Definition: Shrink.h:45
VISKORES_CONT
#define VISKORES_CONT
Definition: ExportMacros.h:65
viskores
Groups connected points that have the same field value.
Definition: Atomic.h:27
viskores_filter_geometry_refinement_export.h
viskores::FloatDefault
viskores::Float32 FloatDefault
The floating point type to use when no other precision is specified.
Definition: Types.h:244
Filter.h