44#ifndef NIMBLESM_ARBORX_UTILS_H
45#define NIMBLESM_ARBORX_UTILS_H
50#ifdef NIMBLE_HAVE_ARBORX
56using HostContactEntityUnmanagedConstView =
57 Kokkos::View<const nimble::ContactEntity*, nimble_kokkos::kokkos_host, Kokkos::MemoryTraits<Kokkos::Unmanaged>>;
84 KOKKOS_FUNCTION
static ArborX::Box
87 nimble::ContactEntity& e = v(i);
90 ArborX::Box box(point1, point2);
106 KOKKOS_FUNCTION
static auto
109 nimble::ContactEntity& e = v(i);
112 ArborX::Box box(point1, point2);
122 return ArborX::attach(intersects(box), (
int)i);
132struct AccessTraits<nimble_kokkos::HostContactEntityUnmanagedConstView, PrimitivesTag>
136 size(nimble_kokkos::HostContactEntityUnmanagedConstView
const& v)
146 KOKKOS_FUNCTION
static ArborX::Box
147 get(nimble_kokkos::HostContactEntityUnmanagedConstView
const& v, std::size_t i)
149 const nimble::ContactEntity& e = v(i);
152 ArborX::Box box(point1, point2);
159struct AccessTraits<nimble_kokkos::HostContactEntityUnmanagedConstView, PredicatesTag>
162 size(nimble_kokkos::HostContactEntityUnmanagedConstView
const& v)
167 KOKKOS_FUNCTION
static auto
168 get(nimble_kokkos::HostContactEntityUnmanagedConstView
const& v, std::size_t i)
170 const nimble::ContactEntity& e = v(i);
173 ArborX::Box box(point1, point2);
182 return ArborX::attach(intersects(box), (
int)i);
Definition nimble_contact_manager.h:68
Kokkos::View< nimble::ContactEntity *, nimble_kokkos::kokkos_layout, nimble_kokkos::kokkos_device > DeviceContactEntityArrayView
Definition nimble_kokkos_contact_defs.h:15
Kokkos::Serial::memory_space kokkos_host_mirror_memory_space
Definition nimble_kokkos_defs.h:63
Kokkos::Serial::memory_space kokkos_device_memory_space
Definition nimble_kokkos_defs.h:82