vtk-m/vtkm/cont/internal/DefaultTypesAscent.h.in
2021-01-07 08:15:17 -07:00

70 lines
2.4 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_cont_internal_DefaultTypesAscent_h
#define vtk_m_cont_internal_DefaultTypesAscent_h
#include <vtkm/TypeList.h>
#include <vtkm/Types.h>
#include <vtkm/cont/ArrayHandleCartesianProduct.h>
#include <vtkm/cont/ArrayHandleSOA.h>
#include <vtkm/cont/ArrayHandleUniformPointCoordinates.h>
#include <vtkm/cont/StorageList.h>
#ifdef VTKM_USE_64BIT_IDS
#error "VTK-m must be compiled with VTKM_USE_64BITS_IDS set to OFF for Ascent."
#endif
#ifndef VTKM_USE_DOUBLE_PRECISION
#error "VTK-m must be compiled with VTKM_USE_DOUBLE_PRECISION to ON for Ascent."
#endif
namespace vtkm
{
namespace internal
{
// Default value types for fields in Ascent.
using TypeListAscent = vtkm::List<vtkm::FloatDefault,
vtkm::Vec3f,
// We should not need Float32 types, but currently the tests need
// them. We should remove these types once we are able to "fix"
// the tests by converting to supported default types.
vtkm::Float32,
vtkm::Vec3f_32>;
}
} // namespace vtkm::internal
#define VTKM_DEFAULT_TYPE_LIST ::vtkm::internal::TypeListAscent
namespace vtkm
{
namespace cont
{
namespace internal
{
using StorageListAscent = vtkm::List<
vtkm::cont::StorageTagBasic, // Basic storage should always be included
vtkm::cont::StorageTagSOA, // Support separate arrays for each component
vtkm::cont::StorageTagUniformPoints, // Support uniform structured grids
vtkm::cont::StorageTagCartesianProduct<vtkm::cont::StorageTagBasic, // Support rectilinear grids
vtkm::cont::StorageTagBasic,
vtkm::cont::StorageTagBasic>>;
}
}
} // namespace vtkm::cont::internal
#define VTKM_DEFAULT_STORAGE_LIST ::vtkm::cont::internal::StorageListAscent
#endif //vtk_m_cont_internal_DefaultTypesAscent_h