VTK-m  2.2
cont/CellLocatorPartitioned.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 vtkm_cont_CellLocatorPartitioned_h
11 #define vtkm_cont_CellLocatorPartitioned_h
12 
13 #include <vtkm/cont/ArrayCopy.h>
16 
17 namespace vtkm
18 {
19 namespace cont
20 {
22 {
23 
24 public:
25  virtual ~CellLocatorPartitioned() = default;
26 
28 
30  {
31  this->Partitions = partitions;
32  this->SetModified();
33  }
34  const vtkm::cont::PartitionedDataSet& GetPartitions() const { return this->Partitions; }
35 
36  void Update();
37 
38  void SetModified() { this->Modified = true; }
39  bool GetModified() const { return this->Modified; }
40 
41  void Build();
42 
43  VTKM_CONT const vtkm::exec::CellLocatorPartitioned PrepareForExecution(
45  vtkm::cont::Token& token);
46 
47 private:
49  std::vector<CellLocatorGeneral> LocatorsCont;
50  std::vector<vtkm::cont::ArrayHandleStride<vtkm::UInt8>> GhostsCont;
53  bool Modified = true;
54 };
55 } // namespace cont
56 } //namespace vtkm
57 
58 #endif //vtkm_cont_CellLocatorPartitioned_h
vtkm::cont::CellLocatorPartitioned::GhostsCont
std::vector< vtkm::cont::ArrayHandleStride< vtkm::UInt8 > > GhostsCont
Definition: cont/CellLocatorPartitioned.h:50
vtkm::cont::CellLocatorPartitioned::Partitions
vtkm::cont::PartitionedDataSet Partitions
Definition: cont/CellLocatorPartitioned.h:48
vtkm::cont::ArrayHandle< vtkm::cont::CellLocatorGeneral::ExecObjType >
vtkm
Groups connected points that have the same field value.
Definition: Atomic.h:19
vtkm::cont::CellLocatorPartitioned::SetPartitions
void SetPartitions(const vtkm::cont::PartitionedDataSet &partitions)
Definition: cont/CellLocatorPartitioned.h:29
ArrayCopy.h
vtkm::cont::CellLocatorPartitioned::GetPartitions
const vtkm::cont::PartitionedDataSet & GetPartitions() const
Definition: cont/CellLocatorPartitioned.h:34
vtkm::cont::Token
A token to hold the scope of an ArrayHandle or other object.
Definition: Token.h:35
vtkm::exec::CellLocatorPartitioned
Definition: exec/CellLocatorPartitioned.h:21
CellLocatorPartitioned.h
VTKM_CONT_EXPORT
#define VTKM_CONT_EXPORT
Definition: vtkm_cont_export.h:44
vtkm::cont::CellLocatorPartitioned::SetModified
void SetModified()
Definition: cont/CellLocatorPartitioned.h:38
VTKM_CONT
#define VTKM_CONT
Definition: ExportMacros.h:57
vtkm::cont::CellLocatorPartitioned
Definition: cont/CellLocatorPartitioned.h:21
vtkm::cont::CellLocatorPartitioned::LocatorsCont
std::vector< CellLocatorGeneral > LocatorsCont
Definition: cont/CellLocatorPartitioned.h:49
vtkm::cont::CellLocatorPartitioned::GhostsExec
vtkm::cont::ArrayHandle< vtkm::cont::ArrayHandleStride< vtkm::UInt8 >::ReadPortalType > GhostsExec
Definition: cont/CellLocatorPartitioned.h:52
vtkm::cont::ExecutionObjectBase
Base ExecutionObjectBase for execution objects to inherit from so that you can use an arbitrary objec...
Definition: ExecutionObjectBase.h:31
vtkm::cont::DeviceAdapterId
An object used to specify a device.
Definition: DeviceAdapterTag.h:58
PartitionedDataSet.h
vtkm::cont::CellLocatorPartitioned::GetModified
bool GetModified() const
Definition: cont/CellLocatorPartitioned.h:39
vtkm::cont::CellLocatorPartitioned::LocatorsExec
vtkm::cont::ArrayHandle< vtkm::cont::CellLocatorGeneral::ExecObjType > LocatorsExec
Definition: cont/CellLocatorPartitioned.h:51
vtkm::cont::PartitionedDataSet
Comprises a set of vtkm::cont::DataSet objects.
Definition: PartitionedDataSet.h:26