mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-10-05 09:59:12 +00:00
c55d15f397
The newer version of `ArrayHandle` no longer supports different types of portals for different devices. Thus, the `ReadPortalType` and `WritePortalType` are sufficient for all types of portals across all devices. This significantly simplifies supporting execution objects on devices, and thus this change also includes many changes to various execution objects to remove their dependence on the device adapter tag.
54 lines
1.3 KiB
C++
54 lines
1.3 KiB
C++
//============================================================================
|
|
// Copyright (c) Kitware, Inc.
|
|
// All rights reserved.
|
|
// See LICENSE.txt for details.
|
|
//
|
|
// This software is distributed WITHOUT ANY WARRANTY; without even
|
|
// the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
// PURPOSE. See the above copyright notice for more information.
|
|
//============================================================================
|
|
#ifndef vtk_m_exec_TwoLevelUniformGridExecutonObject_h
|
|
#define vtk_m_exec_TwoLevelUniformGridExecutonObject_h
|
|
|
|
#include <vtkm/cont/ArrayHandle.h>
|
|
|
|
|
|
|
|
namespace vtkm
|
|
{
|
|
namespace exec
|
|
{
|
|
namespace twolevelgrid
|
|
{
|
|
using DimensionType = vtkm::Int16;
|
|
using DimVec3 = vtkm::Vec<DimensionType, 3>;
|
|
using FloatVec3 = vtkm::Vec3f;
|
|
|
|
struct Grid
|
|
{
|
|
DimVec3 Dimensions;
|
|
FloatVec3 Origin;
|
|
FloatVec3 BinSize;
|
|
};
|
|
template <typename Device>
|
|
struct TwoLevelUniformGridExecutionObject
|
|
{
|
|
|
|
|
|
template <typename T>
|
|
using ArrayPortalConst = typename vtkm::cont::ArrayHandle<T>::ReadPortalType;
|
|
|
|
Grid TopLevel;
|
|
|
|
ArrayPortalConst<DimVec3> LeafDimensions;
|
|
ArrayPortalConst<vtkm::Id> LeafStartIndex;
|
|
|
|
ArrayPortalConst<vtkm::Id> CellStartIndex;
|
|
ArrayPortalConst<vtkm::Id> CellCount;
|
|
ArrayPortalConst<vtkm::Id> CellIds;
|
|
};
|
|
}
|
|
}
|
|
}
|
|
#endif // vtk_m_cont_TwoLevelUniformGridExecutonObject_h
|