VTK-m  2.0
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>
16 #include <vtkm/filter/multi_block/vtkm_filter_multi_block_export.h>
17 
18 namespace vtkm
19 {
20 namespace filter
21 {
22 namespace multi_block
23 {
24 class VTKM_FILTER_MULTI_BLOCK_EXPORT AmrArrays : public vtkm::filter::Filter
25 {
26 private:
28  {
29  throw vtkm::cont::ErrorFilterExecution("AmrArray only works for a PartitionedDataSet");
30  }
31  vtkm::cont::PartitionedDataSet DoExecutePartitions(
32  const vtkm::cont::PartitionedDataSet& input) override;
33 
35  VTKM_CONT
36  void GenerateParentChildInformation();
37 
39  VTKM_CONT
40  template <vtkm::IdComponent Dim>
41  void ComputeGenerateParentChildInformation();
42 
45  VTKM_CONT
46  void GenerateGhostType();
47 
49  VTKM_CONT
50  template <vtkm::IdComponent Dim>
51  void ComputeGenerateGhostType();
52 
54  VTKM_CONT
55  void GenerateIndexArrays();
56 
59 
62  std::vector<std::vector<vtkm::Id>> PartitionIds;
63 
66  std::vector<std::vector<vtkm::Id>> ParentsIdsVector;
67 
70  std::vector<std::vector<vtkm::Id>> ChildrenIdsVector;
71 };
72 } // namespace multi_block
73 } // namesapce filter
74 } // namespace vtkm
75 
76 #endif //vtk_m_filter_multi_block_AmrArrays_h
vtkm::filter::multi_block::AmrArrays::AmrDataSet
vtkm::cont::PartitionedDataSet AmrDataSet
the input partitioned dataset
Definition: AmrArrays.h:58
vtkm::filter::multi_block::AmrArrays
Definition: AmrArrays.h:24
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:70
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:66
vtkm::cont::DataSet
Definition: DataSet.h:34
ErrorFilterExecution.h
vtkm::filter::Filter
base class for all filters.
Definition: Filter.h:218
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:62
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:27
vtkm::cont::PartitionedDataSet
Definition: PartitionedDataSet.h:25
Filter.h