template<class Traits>
atlas::interpolation::method::PointKdTree class

Base classes

template<class Traits>
class eckit::KDTreeMemory<Traits>

Public types

using Tree = eckit::KDTreeMemory<Traits>
using Alloc = Tree::Alloc
using NodeInfo = Tree::NodeInfo
using NodeList = Tree::NodeList
using Payload = Tree::PayloadType
using Point = Tree::Point
using Value = Tree::Value
using KDTree = KDTreeX<TT<Traits, KDMemory>>
using Node = KDNode<TT<Traits, KDMemory>>
using SPTreeType = SPTree<TT<Traits, KDMemory>, Node>
using Ptr = Alloc::Ptr
using ID = Alloc::Ptr
using Metadata = SPMetadata<Traits>
using PointType = Point
using PayloadType = Payload
using iterator = SPIterator<Traits, NodeType>
using value_type = std::pair<Point, Payload>

Constructors, destructors, conversion operators

PointKdTree()
PointKdTree(Alloc& alloc)

Public functions

void build(ITER begin, ITER end)
void build(Container& c)
void insert(const Value& value)
void setMetadata(const Point& offset, const Point& scale)
auto nodeByID(ID id) -> NodeInfo
void getMetadata(Point& offset, Point& scale)
auto nearestNeighbour(const Point& p) -> NodeInfo
auto findInSphere(const Point& p, double radius) -> NodeList
auto kNearestNeighbours(const Point& p, size_t k) -> NodeList
auto nearestNeighbourBruteForce(const Point& p) -> NodeInfo
auto findInSphereBruteForce(const Point& p, double radius) -> NodeList
auto kNearestNeighboursBruteForce(const Point& p, size_t k) -> NodeList
template<class Visitor>
void visit(Visitor& v)
void statsReset()
void statsPrint(std::ostream& o, bool fancy) const
void print(std::ostream& o) const
auto begin() -> iterator
auto end() -> iterator
auto empty() const -> bool
auto size() const -> size_t

Public variables

Ptr root_
Metadata meta_

Typedef documentation

template<class Traits>
typedef KDTreeX<TT<Traits, KDMemory>> atlas::interpolation::method::PointKdTree<Traits>::KDTree

template<class Traits>
typedef KDNode<TT<Traits, KDMemory>> atlas::interpolation::method::PointKdTree<Traits>::Node

template<class Traits>
typedef SPTree<TT<Traits, KDMemory>, Node> atlas::interpolation::method::PointKdTree<Traits>::SPTreeType

template<class Traits>
typedef Alloc::Ptr atlas::interpolation::method::PointKdTree<Traits>::Ptr

template<class Traits>
typedef Alloc::Ptr atlas::interpolation::method::PointKdTree<Traits>::ID

template<class Traits>
typedef SPMetadata<Traits> atlas::interpolation::method::PointKdTree<Traits>::Metadata

template<class Traits>
typedef Point atlas::interpolation::method::PointKdTree<Traits>::PointType

template<class Traits>
typedef Payload atlas::interpolation::method::PointKdTree<Traits>::PayloadType

template<class Traits>
typedef SPIterator<Traits, NodeType> atlas::interpolation::method::PointKdTree<Traits>::iterator

template<class Traits>
typedef std::pair<Point, Payload> atlas::interpolation::method::PointKdTree<Traits>::value_type

Function documentation

template<class Traits>
void atlas::interpolation::method::PointKdTree<Traits>::build(ITER begin, ITER end)

ITER must be a random access iterator WARNING: container is changed (sorted)

template<class Traits>
void atlas::interpolation::method::PointKdTree<Traits>::build(Container& c)

Container must be a random access WARNING: container is changed (sorted)

template<class Traits>
void atlas::interpolation::method::PointKdTree<Traits>::insert(const Value& value)

template<class Traits>
void atlas::interpolation::method::PointKdTree<Traits>::setMetadata(const Point& offset, const Point& scale)

template<class Traits>
NodeInfo atlas::interpolation::method::PointKdTree<Traits>::nodeByID(ID id)

template<class Traits>
void atlas::interpolation::method::PointKdTree<Traits>::getMetadata(Point& offset, Point& scale)

template<class Traits>
NodeInfo atlas::interpolation::method::PointKdTree<Traits>::nearestNeighbour(const Point& p)

template<class Traits>
NodeList atlas::interpolation::method::PointKdTree<Traits>::findInSphere(const Point& p, double radius)

template<class Traits>
NodeList atlas::interpolation::method::PointKdTree<Traits>::kNearestNeighbours(const Point& p, size_t k)

template<class Traits>
NodeInfo atlas::interpolation::method::PointKdTree<Traits>::nearestNeighbourBruteForce(const Point& p)

template<class Traits>
NodeList atlas::interpolation::method::PointKdTree<Traits>::findInSphereBruteForce(const Point& p, double radius)

template<class Traits>
NodeList atlas::interpolation::method::PointKdTree<Traits>::kNearestNeighboursBruteForce(const Point& p, size_t k)

template<class Traits> template<class Visitor>
void atlas::interpolation::method::PointKdTree<Traits>::visit(Visitor& v)

template<class Traits>
void atlas::interpolation::method::PointKdTree<Traits>::statsReset()

template<class Traits>
void atlas::interpolation::method::PointKdTree<Traits>::statsPrint(std::ostream& o, bool fancy) const

template<class Traits>
void atlas::interpolation::method::PointKdTree<Traits>::print(std::ostream& o) const

template<class Traits>
iterator atlas::interpolation::method::PointKdTree<Traits>::begin()

template<class Traits>
iterator atlas::interpolation::method::PointKdTree<Traits>::end()

template<class Traits>
bool atlas::interpolation::method::PointKdTree<Traits>::empty() const

template<class Traits>
size_t atlas::interpolation::method::PointKdTree<Traits>::size() const

Variable documentation

template<class Traits>
Ptr atlas::interpolation::method::PointKdTree<Traits>::root_

template<class Traits>
Metadata atlas::interpolation::method::PointKdTree<Traits>::meta_