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

Base classes

template<class Traits, class NodeType>
class SPTree<Traits, BSPNode<Traits, 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 = BSPNode<Traits, Partition>
using Metadata = SPMetadata<Traits>
using PointType = Point
using PayloadType = Payload
using NodeList = Node::NodeList
using NodeInfo = SPNodeInfo<Traits, BSPNode<Traits, Partition>>
using Value = Node::Value
using iterator = SPIterator<Traits, BSPNode<Traits, Partition>>
using value_type = std::pair<Point, Payload>

Constructors, destructors, conversion operators

BSPTreeX(Alloc& alloc)

Public functions

template<typename Container>
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
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

Alloc& alloc_
Ptr root_
Metadata meta_

Typedef documentation

template<class Traits, class Partition _2>
typedef Traits::Point eckit::BSPTreeX<Traits, _2>::Point

template<class Traits, class Partition _2>
typedef Traits::Payload eckit::BSPTreeX<Traits, _2>::Payload

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

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

template<class Traits, class Partition _2>
typedef BSPNode<Traits, Partition> eckit::BSPTreeX<Traits, _2>::Node

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

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

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

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

template<class Traits, class Partition _2>
typedef SPNodeInfo<Traits, BSPNode<Traits, Partition>> eckit::BSPTreeX<Traits, _2>::NodeInfo

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

template<class Traits, class Partition _2>
typedef SPIterator<Traits, BSPNode<Traits, Partition>> eckit::BSPTreeX<Traits, _2>::iterator

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

Function documentation

template<class Traits, class Partition _2> template<typename Container>
void eckit::BSPTreeX<Traits, _2>::build(Container& nodes)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Variable documentation

template<class Traits, class Partition _2>
Alloc& eckit::BSPTreeX<Traits, _2>::alloc_

template<class Traits, class Partition _2>
Ptr eckit::BSPTreeX<Traits, _2>::root_

template<class Traits, class Partition _2>
Metadata eckit::BSPTreeX<Traits, _2>::meta_

This website is beyond its original expiry date and the content may be out of date. The site owner has been notified and may choose to extend the expiry date and remove this banner. If you have any questions about this, please visit our support portal.