BoundingIntervalHierarchy.cxx 1.87 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
//============================================================================
//  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.
//
//  Copyright 2014 National Technology & Engineering Solutions of Sandia, LLC (NTESS).
//  Copyright 2014 UT-Battelle, LLC.
//  Copyright 2014 Los Alamos National Security.
//
//  Under the terms of Contract DE-NA0003525 with NTESS,
//  the U.S. Government retains certain rights in this software.
//
//  Under the terms of Contract DE-AC52-06NA25396 with Los Alamos National
//  Laboratory (LANL), the U.S. Government retains certain rights in
//  this software.
//============================================================================

#include <vtkm/cont/BoundingIntervalHierarchy.h>
#include <vtkm/cont/BoundingIntervalHierarchy.hxx>

namespace vtkm
{
namespace cont
{

29 30
using HandleType = vtkm::cont::VirtualObjectHandle<vtkm::exec::CellLocator>;

31 32 33 34 35 36 37 38
VTKM_CONT
void BoundingIntervalHierarchy::Build()
{
  BuildFunctor functor(this);
  vtkm::cont::TryExecute(functor);
}

VTKM_CONT
39
const HandleType BoundingIntervalHierarchy::PrepareForExecutionImpl(const vtkm::Int8 deviceId) const
40
{
41
  /*using DeviceList = VTKM_DEFAULT_DEVICE_ADAPTER_LIST_TAG;
42 43
  const vtkm::exec::CellLocator* toReturn;
  vtkm::cont::internal::FindDeviceAdapterTagAndCall(
44 45 46 47 48 49 50 51
    device, DeviceList(), PrepareForExecutionFunctor(), *this, &toReturn);
  return toReturn;*/

  using DeviceList = VTKM_DEFAULT_DEVICE_ADAPTER_LIST_TAG;
  //HandleType ExecHandle; // = new HandleType(locator, false);
  vtkm::cont::internal::FindDeviceAdapterTagAndCall(
    deviceId, DeviceList(), PrepareForExecutionFunctor(), *this, this->ExecHandle);
  return this->ExecHandle;
52 53 54
}
}
}