SPH
AdaptiveGrid.h
Go to the documentation of this file.
1 #pragma once
2 
7 
9 
11 
16 class AdaptiveGridFinder : public INeighbourFinder {
17 protected:
18  virtual void buildImpl(ArrayView<const Vector> points) override;
19 
20  virtual void rebuildImpl(ArrayView<const Vector> points) override;
21 
22 public:
23  explicit AdaptiveGridFinder(const Float relativeCellCnt = 1);
24 
25  virtual Size findNeighbours(const Size index,
26  const Float radius,
27  Array<NeighbourRecord>& neighbours,
29  const Float error = 0._f) const override;
30 
32  const Float radius,
33  Array<NeighbourRecord>& neighbours,
35  const Float error = 0._f) const override;
36 };
37 
NAMESPACE_SPH_BEGIN
Definition: BarnesHut.cpp:13
const float radius
Definition: CurveDialog.cpp:18
const EmptyFlags EMPTY_FLAGS
Definition: Flags.h:16
uint32_t Size
Integral type used to index arrays (by default).
Definition: Globals.h:16
double Float
Precision used withing the code. Use Float instead of float or double where precision is important.
Definition: Globals.h:13
#define NAMESPACE_SPH_END
Definition: Object.h:12
Finder projecting a non-uniform grid on particles.
Definition: AdaptiveGrid.h:16
virtual Size findNeighbours(const Size index, const Float radius, Array< NeighbourRecord > &neighbours, Flags< FinderFlag > flags=EMPTY_FLAGS, const Float error=0._f) const override
virtual void rebuildImpl(ArrayView< const Vector > points) override
virtual Size findNeighbours(const Vector &position, const Float radius, Array< NeighbourRecord > &neighbours, Flags< FinderFlag > flags=EMPTY_FLAGS, const Float error=0._f) const override
virtual void buildImpl(ArrayView< const Vector > points) override
AdaptiveGridFinder(const Float relativeCellCnt=1)
Object providing safe access to continuous memory of data.
Definition: ArrayView.h:17
Wrapper of an integral value providing functions for reading and modifying individual bits.
Definition: Flags.h:20
Vector position(const Float a, const Float e, const Float u)
Computes the position on the elliptic trajectory.
Definition: TwoBody.cpp:82