#include <eckit/container/sptree/SPNode.h>
template<class Traits, class NodeType>
SPNode class
Public types
- using Point = Traits::Point
- using Payload = Traits::Payload
- using Alloc = Traits::Alloc
- using NodeInfo = SPNodeInfo<Traits, NodeType>
-
using NodeList = NodeInfo::
NodeList - using Value = SPValue<Traits>
- using NodeQueue = SPNodeQueue<Traits, NodeType>
- using Node = NodeType
Public static functions
Constructors, destructors, conversion operators
Public functions
- auto nearestNeighbour(Alloc& a, const Point& p) -> NodeInfo
- auto findInSphere(Alloc& a, const Point& p, double radius) -> NodeList
- auto kNearestNeighbours(Alloc& a, const Point& p, size_t k) -> NodeList
- auto point() const -> const Point&
- auto payload() const -> const Payload&
- auto value() -> Value&
- auto value() const -> const Value&
- auto nearestNeighbourBruteForce(Alloc& a, const Point& p) -> NodeInfo
- auto findInSphereBruteForce(Alloc& a, const Point& p, double radius) -> NodeList
- auto kNearestNeighboursBruteForce(Alloc& a, const Point& p, size_t k) -> NodeList
-
template<class Visitor>void visit(Alloc& a, Visitor& v, int depth = 0)
- void linkNodes(Alloc& a, Node*& prev = 0)
- auto asNode() const -> const Node*
- auto asNode() -> Node*
- void nearestNeighbourBruteForceX(Alloc& a, const Point& p, Node*& best, double& max, int depth)
- void findInSphereBruteForceX(Alloc& a, const Point& p, double radius, NodeList& result, int depth)
- void kNearestNeighboursBruteForceX(Alloc& a, const Point& p, size_t k, NodeQueue& result, int depth)
- auto left(Alloc& a) const -> Node*
- auto right(Alloc& a) const -> Node*
- auto next(Alloc& a) const -> Node*
- void left(Alloc& a, Node* n)
- void right(Alloc& a, Node* n)
- void next(Alloc& a, Node* n)