VTK-m  2.2
AmrArrays.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_filter_multi_block_AmrArrays_h
11 #define vtk_m_filter_multi_block_AmrArrays_h
12 
14 
15 #include <vtkm/filter/Filter.h>
17 
18 namespace vtkm
19 {
20 namespace filter
21 {
22 namespace multi_block
23 {
24 
59 {
60 private:
62  {
63  throw vtkm::cont::ErrorFilterExecution("AmrArray only works for a PartitionedDataSet");
64  }
65  vtkm::cont::PartitionedDataSet DoExecutePartitions(
66  const vtkm::cont::PartitionedDataSet& input) override;
67 
69  VTKM_CONT
70  void GenerateParentChildInformation();
71 
73  VTKM_CONT
74  template <vtkm::IdComponent Dim>
75  void ComputeGenerateParentChildInformation();
76 
79  VTKM_CONT
80  void GenerateGhostType();
81 
83  VTKM_CONT
84  template <vtkm::IdComponent Dim>
85  void ComputeGenerateGhostType();
86 
88  VTKM_CONT
89  void GenerateIndexArrays();
90 
93 
96  std::vector<std::vector<vtkm::Id>> PartitionIds;
97 
100  std::vector<std::vector<vtkm::Id>> ParentsIdsVector;
101 
104  std::vector<std::vector<vtkm::Id>> ChildrenIdsVector;
105 };
106 
107 } // namespace multi_block
108 } // namesapce filter
109 } // namespace vtkm
110 
111 #endif //vtk_m_filter_multi_block_AmrArrays_h
VTKM_FILTER_MULTI_BLOCK_EXPORT
#define VTKM_FILTER_MULTI_BLOCK_EXPORT
Definition: vtkm_filter_multi_block_export.h:44
vtkm::filter::multi_block::AmrArrays::AmrDataSet
vtkm::cont::PartitionedDataSet AmrDataSet
the input partitioned dataset
Definition: AmrArrays.h:92
vtkm::filter::multi_block::AmrArrays
Generate arrays describing the AMR structure in a partitioned data set.
Definition: AmrArrays.h:58
vtkm
Groups connected points that have the same field value.
Definition: Atomic.h:19
vtkm::filter::multi_block::AmrArrays::ChildrenIdsVector
std::vector< std::vector< vtkm::Id > > ChildrenIdsVector
per partitionId contains all PartitonIds of the level below that have an overlap
Definition: AmrArrays.h:104
vtkm_filter_multi_block_export.h
vtkm::cont::ErrorFilterExecution
This class is primarily intended to filters to throw in the control environment to indicate an execut...
Definition: ErrorFilterExecution.h:27
vtkm::filter::multi_block::AmrArrays::ParentsIdsVector
std::vector< std::vector< vtkm::Id > > ParentsIdsVector
per partitionId contains all PartitonIds of the level above that have an overlap
Definition: AmrArrays.h:100
vtkm::cont::DataSet
Contains and manages the geometric data structures that VTK-m operates on.
Definition: DataSet.h:57
ErrorFilterExecution.h
vtkm::filter::Filter
Base class for all filters.
Definition: Filter.h:163
vtkm::filter::multi_block::AmrArrays::PartitionIds
std::vector< std::vector< vtkm::Id > > PartitionIds
per level contains the partitionIds of each level and blockId
Definition: AmrArrays.h:96
VTKM_CONT
#define VTKM_CONT
Definition: ExportMacros.h:57
vtkm::filter::multi_block::AmrArrays::DoExecute
vtkm::cont::DataSet DoExecute(const vtkm::cont::DataSet &) override
Definition: AmrArrays.h:61
vtkm::cont::PartitionedDataSet
Comprises a set of vtkm::cont::DataSet objects.
Definition: PartitionedDataSet.h:26
Filter.h