template<class Traits, class Partition>
eckit::BSPTreeMemory class

Base classes

template<class Traits, class Partition>
class BSPTreeX<TT<Traits, KDMemory>, Partition>

Public types

using Alloc = Traits::Alloc
using Point = Traits::Point
using Payload = Traits::Payload
using Ptr = Alloc::Ptr
using ID = Alloc::Ptr
using Node = NodeType
using Metadata = SPMetadata<Traits>
using PointType = Point
using PayloadType = Payload
using NodeList = Node::NodeList
using NodeInfo = SPNodeInfo<Traits, NodeType>
using Value = Node::Value
using iterator = SPIterator<Traits, NodeType>
using value_type = std::pair<Point, Payload>

Constructors, destructors, conversion operators

BSPTreeMemory()

Public functions

void build(Container& nodes)
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, class Partition>
typedef Traits::Point eckit::BSPTreeMemory<Traits, Partition>::Point

template<class Traits, class Partition>
typedef Traits::Payload eckit::BSPTreeMemory<Traits, Partition>::Payload

template<class Traits, class Partition>
typedef Alloc::Ptr eckit::BSPTreeMemory<Traits, Partition>::Ptr

template<class Traits, class Partition>
typedef Alloc::Ptr eckit::BSPTreeMemory<Traits, Partition>::ID

template<class Traits, class Partition>
typedef NodeType eckit::BSPTreeMemory<Traits, Partition>::Node

template<class Traits, class Partition>
typedef SPMetadata<Traits> eckit::BSPTreeMemory<Traits, Partition>::Metadata

template<class Traits, class Partition>
typedef Point eckit::BSPTreeMemory<Traits, Partition>::PointType

template<class Traits, class Partition>
typedef Payload eckit::BSPTreeMemory<Traits, Partition>::PayloadType

template<class Traits, class Partition>
typedef Node::NodeList eckit::BSPTreeMemory<Traits, Partition>::NodeList

template<class Traits, class Partition>
typedef SPNodeInfo<Traits, NodeType> eckit::BSPTreeMemory<Traits, Partition>::NodeInfo

template<class Traits, class Partition>
typedef Node::Value eckit::BSPTreeMemory<Traits, Partition>::Value

template<class Traits, class Partition>
typedef SPIterator<Traits, NodeType> eckit::BSPTreeMemory<Traits, Partition>::iterator

template<class Traits, class Partition>
typedef std::pair<Point, Payload> eckit::BSPTreeMemory<Traits, Partition>::value_type

Function documentation

template<class Traits, class Partition>
void eckit::BSPTreeMemory<Traits, Partition>::setMetadata(const Point& offset, const Point& scale)

template<class Traits, class Partition>
NodeInfo eckit::BSPTreeMemory<Traits, Partition>::nodeByID(ID id)

template<class Traits, class Partition>
void eckit::BSPTreeMemory<Traits, Partition>::getMetadata(Point& offset, Point& scale)

template<class Traits, class Partition>
NodeInfo eckit::BSPTreeMemory<Traits, Partition>::nearestNeighbour(const Point& p)

template<class Traits, class Partition>
NodeList eckit::BSPTreeMemory<Traits, Partition>::findInSphere(const Point& p, double radius)

template<class Traits, class Partition>
NodeList eckit::BSPTreeMemory<Traits, Partition>::kNearestNeighbours(const Point& p, size_t k)

template<class Traits, class Partition>
NodeInfo eckit::BSPTreeMemory<Traits, Partition>::nearestNeighbourBruteForce(const Point& p)

template<class Traits, class Partition>
NodeList eckit::BSPTreeMemory<Traits, Partition>::findInSphereBruteForce(const Point& p, double radius)

template<class Traits, class Partition>
NodeList eckit::BSPTreeMemory<Traits, Partition>::kNearestNeighboursBruteForce(const Point& p, size_t k)

template<class Traits, class Partition> template<class Visitor>
void eckit::BSPTreeMemory<Traits, Partition>::visit(Visitor& v)

template<class Traits, class Partition>
void eckit::BSPTreeMemory<Traits, Partition>::statsReset()

template<class Traits, class Partition>
void eckit::BSPTreeMemory<Traits, Partition>::statsPrint(std::ostream& o, bool fancy) const

template<class Traits, class Partition>
void eckit::BSPTreeMemory<Traits, Partition>::print(std::ostream& o) const

template<class Traits, class Partition>
iterator eckit::BSPTreeMemory<Traits, Partition>::begin()

template<class Traits, class Partition>
iterator eckit::BSPTreeMemory<Traits, Partition>::end()

template<class Traits, class Partition>
bool eckit::BSPTreeMemory<Traits, Partition>::empty() const

template<class Traits, class Partition>
size_t eckit::BSPTreeMemory<Traits, Partition>::size() const

Variable documentation

template<class Traits, class Partition>
Ptr eckit::BSPTreeMemory<Traits, Partition>::root_

template<class Traits, class Partition>
Metadata eckit::BSPTreeMemory<Traits, Partition>::meta_