Viskores  1.0
Amr.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_source_Amr_h
20 #define viskores_source_Amr_h
21 
24 
25 namespace viskores
26 {
27 namespace source
28 {
66 class VISKORES_SOURCE_EXPORT Amr
67 {
68 public:
69  VISKORES_CONT Amr() = default;
70 
71  VISKORES_CONT VISKORES_DEPRECATED(2.0, "Use Set* methods to set parameters.")
72  Amr(viskores::IdComponent dimension,
73  viskores::IdComponent cellsPerDimension = 6,
74  viskores::IdComponent numberOfLevels = 4);
75 
76  VISKORES_CONT ~Amr() = default;
77 
78  VISKORES_CONT void SetDimension(viskores::IdComponent dimension) { this->Dimension = dimension; }
79  VISKORES_CONT viskores::IdComponent GetDimension() const { return this->Dimension; }
80 
82  {
83  this->CellsPerDimension = cellsPerDimension;
84  }
86  {
87  return this->CellsPerDimension;
88  }
89 
91  {
92  this->NumberOfLevels = numberOfLevels;
93  }
94  VISKORES_CONT viskores::IdComponent GetNumberOfLevels() const { return this->NumberOfLevels; }
95 
97 
98 private:
99  template <viskores::IdComponent Dim>
100  viskores::cont::DataSet GenerateDataSet(unsigned int level, unsigned int amrIndex) const;
101 
102  viskores::IdComponent Dimension = 2;
103  viskores::IdComponent CellsPerDimension = 6;
104  viskores::IdComponent NumberOfLevels = 4;
105 };
106 } //namespace source
107 } //namespace viskores
108 
109 #endif //viskores_source_Amr_h
viskores::cont::DataSet
Contains and manages the geometric data structures that Viskores operates on.
Definition: DataSet.h:66
viskores::source::Amr
The Amr source creates a dataset similar to VTK's vtkRTAnalyticSource.
Definition: Amr.h:66
viskores::IdComponent
viskores::Int32 IdComponent
Base type to use to index small lists.
Definition: Types.h:202
viskores::source::Amr::GetDimension
viskores::IdComponent GetDimension() const
Definition: Amr.h:79
viskores::source::Amr::SetDimension
void SetDimension(viskores::IdComponent dimension)
Definition: Amr.h:78
VISKORES_CONT
#define VISKORES_CONT
Definition: ExportMacros.h:65
viskores
Groups connected points that have the same field value.
Definition: Atomic.h:27
viskores_source_export.h
viskores::source::Amr::GetCellsPerDimension
viskores::IdComponent GetCellsPerDimension() const
Definition: Amr.h:85
VISKORES_DEPRECATED
#define VISKORES_DEPRECATED(...)
Definition: Deprecated.h:156
viskores::cont::PartitionedDataSet
Comprises a set of viskores::cont::DataSet objects.
Definition: PartitionedDataSet.h:34
PartitionedDataSet.h
viskores::source::Amr::GetNumberOfLevels
viskores::IdComponent GetNumberOfLevels() const
Definition: Amr.h:94
viskores::source::Amr::SetCellsPerDimension
void SetCellsPerDimension(viskores::IdComponent cellsPerDimension)
Definition: Amr.h:81
viskores::source::Amr::SetNumberOfLevels
void SetNumberOfLevels(viskores::IdComponent numberOfLevels)
Definition: Amr.h:90