ArborX / Spatial indexes / ArborX::BruteForce
ArborX::BruteForce<MemorySpace, Value, IndexableGetter, BoundingVolume>::BruteForce¶
BruteForce() noexcept; // (1)
template <typename ExecutionSpace, typename Values>
BruteForce(ExecutionSpace const& space, Values const& values); // (2)
template <typename ExecutionSpace, typename Values>
BruteForce(ExecutionSpace const& space, Values const& values, IndexableGetter const& indexable_getter); // (3)
Default constructor. Constructs an empty tree.
Constructs a brute force index from a given data source.
Constructs a brute force index from a given data source and a function tranforming a value into indexable.
Parameters¶
space: the execution space.values: values to store in the data structure.indexable_getter: function object that extracts the geometry to index from a value.
Type requirements¶
MemorySpacemust be accessible fromExecutionSpace(i.e.,Kokkos::SpaceAccessibility<ExecutionSpace, MemorySpace>::accessiblemust betrue).A specialization of ArborX::AccessTraits must match
Valuesas the template argument.The return type of
ArborX::AccessTraits<Values>::get()must decay toValue.IndexableGettermust provide anoperator()taking in a type that decays toValueand returning an indexable (geometric object).
Complexity¶
O(N), where N is the number of primitives passed to the constructor (ArborX::AccessTraits<Values>::size(values)).
Exceptions¶
Memory allocation with Kokkos may throw.