mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-10-05 01:49:02 +00:00
Unify common storage types
The list defining the common storage types was defined in DefaultTypes.h.in. The problem was that derived default types could not just add their own type. They had to redefine the whole list. Instead, move the list to StorageList.h. Also updated DefaultTypesVTK.h.in to use this list when using XGC. This enables ArrayHandleSOA for this case.
This commit is contained in:
parent
c4117ede8a
commit
e0abb39810
@ -46,30 +46,8 @@
|
||||
#endif //VTKM_DEFAULT_TYPE_LIST
|
||||
|
||||
#ifndef VTKM_DEFAULT_STORAGE_LIST
|
||||
#include <vtkm/cont/ArrayHandleCartesianProduct.h>
|
||||
#include <vtkm/cont/ArrayHandleUniformPointCoordinates.h>
|
||||
#include <vtkm/cont/ArrayHandleSOA.h>
|
||||
#include <vtkm/cont/StorageList.h>
|
||||
namespace vtkm
|
||||
{
|
||||
namespace cont
|
||||
{
|
||||
namespace internal
|
||||
{
|
||||
|
||||
using StorageListField = vtkm::ListAppend<
|
||||
vtkm::cont::StorageListBasic,
|
||||
vtkm::List<
|
||||
vtkm::cont::StorageTagSOA,
|
||||
vtkm::cont::StorageTagUniformPoints,
|
||||
vtkm::cont::StorageTagCartesianProduct<vtkm::cont::StorageTagBasic,
|
||||
vtkm::cont::StorageTagBasic,
|
||||
vtkm::cont::StorageTagBasic>>>;
|
||||
}
|
||||
}
|
||||
} // namespace vtkm::cont
|
||||
|
||||
#define VTKM_DEFAULT_STORAGE_LIST ::vtkm::cont::internal::StorageListField
|
||||
#define VTKM_DEFAULT_STORAGE_LIST ::vtkm::cont::StorageListCommon
|
||||
#endif // VTKM_FIELD_STORAGE_LIST
|
||||
|
||||
#ifndef VTKM_DEFAULT_CELL_SET_LIST_STRUCTURED
|
||||
|
@ -13,7 +13,9 @@
|
||||
#include <vtkm/List.h>
|
||||
|
||||
#include <vtkm/cont/ArrayHandleBasic.h>
|
||||
#include <vtkm/cont/Storage.h>
|
||||
#include <vtkm/cont/ArrayHandleCartesianProduct.h>
|
||||
#include <vtkm/cont/ArrayHandleSOA.h>
|
||||
#include <vtkm/cont/ArrayHandleUniformPointCoordinates.h>
|
||||
|
||||
namespace vtkm
|
||||
{
|
||||
@ -21,6 +23,15 @@ namespace cont
|
||||
{
|
||||
|
||||
using StorageListBasic = vtkm::List<vtkm::cont::StorageTagBasic>;
|
||||
|
||||
using StorageListCommon =
|
||||
vtkm::List<vtkm::cont::StorageTagBasic,
|
||||
vtkm::cont::StorageTagSOA,
|
||||
vtkm::cont::StorageTagUniformPoints,
|
||||
vtkm::cont::StorageTagCartesianProduct<vtkm::cont::StorageTagBasic,
|
||||
vtkm::cont::StorageTagBasic,
|
||||
vtkm::cont::StorageTagBasic>>;
|
||||
|
||||
}
|
||||
} // namespace vtkm::cont
|
||||
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include <vtkm/TypeList.h>
|
||||
|
||||
#include <vtkm/cont/CellSetList.h>
|
||||
#include <vtkm/cont/StorageList.h>
|
||||
|
||||
#cmakedefine VTKM_ADD_XGC_DEFAULT_TYPES
|
||||
|
||||
@ -110,17 +111,8 @@ using CellListAllOutVTK = vtkm::ListAppend<CellListStructuredOutVTK, CellListUns
|
||||
|
||||
#ifdef VTKM_ADD_XGC_DEFAULT_TYPES
|
||||
using StorageListField = vtkm::ListAppend<
|
||||
vtkm::cont::StorageListBasic,
|
||||
vtkm::List<
|
||||
vtkm::cont::ArrayHandleUniformPointCoordinates::StorageTag,
|
||||
vtkm::cont::ArrayHandleCartesianProduct<vtkm::cont::ArrayHandle<vtkm::Float32>,
|
||||
vtkm::cont::ArrayHandle<vtkm::Float32>,
|
||||
vtkm::cont::ArrayHandle<vtkm::Float32>>::StorageTag,
|
||||
vtkm::cont::ArrayHandleCartesianProduct<vtkm::cont::ArrayHandle<vtkm::Float64>,
|
||||
vtkm::cont::ArrayHandle<vtkm::Float64>,
|
||||
vtkm::cont::ArrayHandle<vtkm::Float64>>::StorageTag,
|
||||
vtkm::cont::StorageTagXGCCoordinates
|
||||
>>;
|
||||
vtkm::cont::StorageListCommon,
|
||||
vtkm::List<vtkm::cont::StorageTagXGCCoordinates>>;
|
||||
#endif
|
||||
|
||||
} // end namespace tovtkm
|
||||
|
Loading…
Reference in New Issue
Block a user