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