Viskores  1.0
AmrArrays.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 #ifndef viskores_filter_multi_block_AmrArrays_h
19 #define viskores_filter_multi_block_AmrArrays_h
20 
22 
23 #include <viskores/filter/Filter.h>
25 
26 namespace viskores
27 {
28 namespace filter
29 {
30 namespace multi_block
31 {
32 
66 class VISKORES_FILTER_MULTI_BLOCK_EXPORT AmrArrays : public viskores::filter::Filter
67 {
68 private:
70  {
71  throw viskores::cont::ErrorFilterExecution("AmrArray only works for a PartitionedDataSet");
72  }
73  viskores::cont::PartitionedDataSet DoExecutePartitions(
74  const viskores::cont::PartitionedDataSet& input) override;
75 
78  void GenerateParentChildInformation();
79 
82  template <viskores::IdComponent Dim>
83  void ComputeGenerateParentChildInformation();
84 
88  void GenerateGhostType();
89 
92  template <viskores::IdComponent Dim>
93  void ComputeGenerateGhostType();
94 
97  void GenerateIndexArrays();
98 
101 
104  std::vector<std::vector<viskores::Id>> PartitionIds;
105 
108  std::vector<std::vector<viskores::Id>> ParentsIdsVector;
109 
112  std::vector<std::vector<viskores::Id>> ChildrenIdsVector;
113 };
114 
115 } // namespace multi_block
116 } // namesapce filter
117 } // namespace viskores
118 
119 #endif //viskores_filter_multi_block_AmrArrays_h
viskores::cont::DataSet
Contains and manages the geometric data structures that Viskores operates on.
Definition: DataSet.h:66
viskores::filter::multi_block::AmrArrays::AmrDataSet
viskores::cont::PartitionedDataSet AmrDataSet
the input partitioned dataset
Definition: AmrArrays.h:100
viskores::filter::Filter
Base class for all filters.
Definition: Filter.h:171
ErrorFilterExecution.h
viskores::filter::multi_block::AmrArrays::ChildrenIdsVector
std::vector< std::vector< viskores::Id > > ChildrenIdsVector
per partitionId contains all PartitonIds of the level below that have an overlap
Definition: AmrArrays.h:112
viskores::cont::ErrorFilterExecution
This class is primarily intended to filters to throw in the control environment to indicate an execut...
Definition: ErrorFilterExecution.h:35
viskores::filter::multi_block::AmrArrays::DoExecute
viskores::cont::DataSet DoExecute(const viskores::cont::DataSet &) override
Definition: AmrArrays.h:69
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_multi_block_export.h
viskores::cont::PartitionedDataSet
Comprises a set of viskores::cont::DataSet objects.
Definition: PartitionedDataSet.h:34
viskores::filter::multi_block::AmrArrays::PartitionIds
std::vector< std::vector< viskores::Id > > PartitionIds
per level contains the partitionIds of each level and blockId
Definition: AmrArrays.h:104
viskores::filter::multi_block::AmrArrays
Generate arrays describing the AMR structure in a partitioned data set.
Definition: AmrArrays.h:66
viskores::filter::multi_block::AmrArrays::ParentsIdsVector
std::vector< std::vector< viskores::Id > > ParentsIdsVector
per partitionId contains all PartitonIds of the level above that have an overlap
Definition: AmrArrays.h:108
Filter.h