24 template <
bool FindAll>
26 for (
Size i = 0; i < this->
values.size(); ++i) {
Object representing a three-dimensional axis-aligned box.
uint32_t Size
Integral type used to index arrays (by default).
double Float
Precision used withing the code. Use Float instead of float or double where precision is important.
constexpr INLINE T sqr(const T &f) noexcept
Return a squared value.
#define NAMESPACE_SPH_END
INLINE Float getSqrLength(const Vector &v)
Object providing safe access to continuous memory of data.
INLINE void push(U &&u)
Adds new element to the end of the array, resizing the array if necessary.
INLINE TCounter size() const noexcept
Searches for neighbours by 'brute force', comparing every pair of vectors.
Size find(const Vector &pos, const Size index, const Float radius, Array< NeighbourRecord > &neighs) const
virtual void buildImpl(IScheduler &UNUSED(scheduler), ArrayView< const Vector > UNUSED(values)) override
Helper template, allowing to define all three functions with a single function.
ArrayView< const Vector > values
View of the source datapoints, updated every time (re)build is called.
Interface that allows unified implementation of sequential and parallelized versions of algorithms.
Order rank
Ranks of particles according to their smoothing lengths.
Holds information about a neighbour particles.