template<class Traits>
Point2KdTree 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
- Point2KdTree()
- Point2KdTree(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
Typedef documentation
#include <eckit/container/KDTree.h>
template<class Traits>
typedef KDTreeX<TT<Traits, KDMemory>> atlas:: interpolation:: method:: Point2KdTree<Traits>:: KDTree
#include <eckit/container/KDTree.h>
template<class Traits>
typedef KDNode<TT<Traits, KDMemory>> atlas:: interpolation:: method:: Point2KdTree<Traits>:: Node
#include <eckit/container/KDTree.h>
template<class Traits>
typedef SPTree<TT<Traits, KDMemory>, Node> atlas:: interpolation:: method:: Point2KdTree<Traits>:: SPTreeType
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
typedef Alloc::Ptr atlas:: interpolation:: method:: Point2KdTree<Traits>:: Ptr
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
typedef Alloc::Ptr atlas:: interpolation:: method:: Point2KdTree<Traits>:: ID
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
typedef SPMetadata<Traits> atlas:: interpolation:: method:: Point2KdTree<Traits>:: Metadata
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
typedef Point atlas:: interpolation:: method:: Point2KdTree<Traits>:: PointType
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
typedef Payload atlas:: interpolation:: method:: Point2KdTree<Traits>:: PayloadType
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
typedef SPIterator<Traits, NodeType> atlas:: interpolation:: method:: Point2KdTree<Traits>:: iterator
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
typedef std:: pair<Point, Payload> atlas:: interpolation:: method:: Point2KdTree<Traits>:: value_type
Function documentation
#include <eckit/container/KDTree.h>
template<class Traits>
void atlas:: interpolation:: method:: Point2KdTree<Traits>:: build(ITER begin,
ITER end)
ITER must be a random access iterator WARNING: container is changed (sorted)
#include <eckit/container/KDTree.h>
template<class Traits>
void atlas:: interpolation:: method:: Point2KdTree<Traits>:: build(Container& c)
Container must be a random access WARNING: container is changed (sorted)
#include <eckit/container/KDTree.h>
template<class Traits>
void atlas:: interpolation:: method:: Point2KdTree<Traits>:: insert(const Value& value)
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
void atlas:: interpolation:: method:: Point2KdTree<Traits>:: setMetadata(const Point& offset,
const Point& scale)
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
NodeInfo atlas:: interpolation:: method:: Point2KdTree<Traits>:: nodeByID(ID id)
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
void atlas:: interpolation:: method:: Point2KdTree<Traits>:: getMetadata(Point& offset,
Point& scale)
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
NodeInfo atlas:: interpolation:: method:: Point2KdTree<Traits>:: nearestNeighbour(const Point& p)
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
NodeList atlas:: interpolation:: method:: Point2KdTree<Traits>:: findInSphere(const Point& p,
double radius)
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
NodeList atlas:: interpolation:: method:: Point2KdTree<Traits>:: kNearestNeighbours(const Point& p,
size_t k)
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
NodeInfo atlas:: interpolation:: method:: Point2KdTree<Traits>:: nearestNeighbourBruteForce(const Point& p)
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
NodeList atlas:: interpolation:: method:: Point2KdTree<Traits>:: findInSphereBruteForce(const Point& p,
double radius)
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
NodeList atlas:: interpolation:: method:: Point2KdTree<Traits>:: kNearestNeighboursBruteForce(const Point& p,
size_t k)
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
template<class Visitor>
void atlas:: interpolation:: method:: Point2KdTree<Traits>:: visit(Visitor& v)
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
void atlas:: interpolation:: method:: Point2KdTree<Traits>:: statsReset()
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
void atlas:: interpolation:: method:: Point2KdTree<Traits>:: statsPrint(std:: ostream& o,
bool fancy) const
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
void atlas:: interpolation:: method:: Point2KdTree<Traits>:: print(std:: ostream& o) const
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
iterator atlas:: interpolation:: method:: Point2KdTree<Traits>:: begin()
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
iterator atlas:: interpolation:: method:: Point2KdTree<Traits>:: end()
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
bool atlas:: interpolation:: method:: Point2KdTree<Traits>:: empty() const
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
size_t atlas:: interpolation:: method:: Point2KdTree<Traits>:: size() const
Variable documentation
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
Ptr atlas:: interpolation:: method:: Point2KdTree<Traits>:: root_
#include <eckit/container/sptree/SPTree.h>
template<class Traits>
Metadata atlas:: interpolation:: method:: Point2KdTree<Traits>:: meta_