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