#include <eckit/container/bsptree/BSPNode.h>
template<class Traits, class Partition>
BSPNode class
Base classes
-
template<class Traits, class NodeType>class SPNode<Traits, BSPNode<Traits, Partition>>
Public types
- using SPNodeType = SPNode<Traits, BSPNode<Traits, Partition>>
- using Value = SPNodeType::Value
- using Alloc = SPNodeType::Alloc
- using Point = SPNodeType::Point
-
using NodeList = SPNodeType::
NodeList -
using NodeQueue = SPNodeType::
NodeQueue -
using NodeInfo = SPNodeType::
NodeInfo - using HyperPlane = BSPHyperPlane<Point>
- using Node = BSPNode<Traits, Partition>
- using Payload = Traits::Payload
Public static functions
Constructors, destructors, conversion operators
Public functions
- auto nearestNeighbour(Alloc& a, const Point& p) -> NodeInfo
- auto findInSphere(Alloc& a, const Point& p, double radius) -> NodeList
- auto kNearestNeighbours(Alloc& a, const Point& p, size_t k) -> NodeList
- auto point() const -> const Point&
- auto payload() const -> const Payload&
- auto value() -> Value&
- auto value() const -> const Value&
- auto nearestNeighbourBruteForce(Alloc& a, const Point& p) -> NodeInfo
- auto findInSphereBruteForce(Alloc& a, const Point& p, double radius) -> NodeList
- auto kNearestNeighboursBruteForce(Alloc& a, const Point& p, size_t k) -> NodeList
- void visit(Alloc& a, Visitor& v, int depth = 0)
- void linkNodes(Alloc& a, Node*& prev = 0)
- auto asNode() const -> const Node*
- auto asNode() -> Node*
- void nearestNeighbourBruteForceX(Alloc& a, const Point& p, Node*& best, double& max, int depth)
- void findInSphereBruteForceX(Alloc& a, const Point& p, double radius, NodeList& result, int depth)
- void kNearestNeighboursBruteForceX(Alloc& a, const Point& p, size_t k, NodeQueue& result, int depth)
- auto left(Alloc& a) const -> Node*
- void left(Alloc& a, Node* n)
- auto right(Alloc& a) const -> Node*
- void right(Alloc& a, Node* n)
- auto next(Alloc& a) const -> Node*
- void next(Alloc& a, Node* n)
Private functions
- void nearestNeighbourX(Alloc& a, const Point& p, Node*& best, double& max, int depth) virtual
- void findInSphereX(Alloc& a, const Point& p, double radius, NodeList& result, int depth) virtual
- void kNearestNeighboursX(Alloc& a, const Point& p, size_t k, NodeQueue& result, int depth) virtual
Typedef documentation
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
typedef Traits::Payload eckit:: BSPNode<Traits, Partition>:: Payload
Function documentation
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
static SPNode* eckit:: BSPNode<Traits, Partition>:: build(Alloc& a,
const ITER& begin,
const ITER& end,
int depth = 0)
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
NodeInfo eckit:: BSPNode<Traits, Partition>:: nearestNeighbour(Alloc& a,
const Point& p)
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
NodeList eckit:: BSPNode<Traits, Partition>:: findInSphere(Alloc& a,
const Point& p,
double radius)
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
NodeList eckit:: BSPNode<Traits, Partition>:: kNearestNeighbours(Alloc& a,
const Point& p,
size_t k)
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
const Point& eckit:: BSPNode<Traits, Partition>:: point() const
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
const Payload& eckit:: BSPNode<Traits, Partition>:: payload() const
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
Value& eckit:: BSPNode<Traits, Partition>:: value()
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
const Value& eckit:: BSPNode<Traits, Partition>:: value() const
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
NodeInfo eckit:: BSPNode<Traits, Partition>:: nearestNeighbourBruteForce(Alloc& a,
const Point& p)
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
NodeList eckit:: BSPNode<Traits, Partition>:: findInSphereBruteForce(Alloc& a,
const Point& p,
double radius)
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
NodeList eckit:: BSPNode<Traits, Partition>:: kNearestNeighboursBruteForce(Alloc& a,
const Point& p,
size_t k)
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
void eckit:: BSPNode<Traits, Partition>:: visit(Alloc& a,
Visitor& v,
int depth = 0)
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
void eckit:: BSPNode<Traits, Partition>:: linkNodes(Alloc& a,
Node*& prev = 0)
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
const Node* eckit:: BSPNode<Traits, Partition>:: asNode() const
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
Node* eckit:: BSPNode<Traits, Partition>:: asNode()
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
void eckit:: BSPNode<Traits, Partition>:: nearestNeighbourBruteForceX(Alloc& a,
const Point& p,
Node*& best,
double& max,
int depth)
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
void eckit:: BSPNode<Traits, Partition>:: findInSphereBruteForceX(Alloc& a,
const Point& p,
double radius,
NodeList& result,
int depth)
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
void eckit:: BSPNode<Traits, Partition>:: kNearestNeighboursBruteForceX(Alloc& a,
const Point& p,
size_t k,
NodeQueue& result,
int depth)
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
Node* eckit:: BSPNode<Traits, Partition>:: left(Alloc& a) const
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
void eckit:: BSPNode<Traits, Partition>:: left(Alloc& a,
Node* n)
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
Node* eckit:: BSPNode<Traits, Partition>:: right(Alloc& a) const
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
void eckit:: BSPNode<Traits, Partition>:: right(Alloc& a,
Node* n)
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
Node* eckit:: BSPNode<Traits, Partition>:: next(Alloc& a) const
#include <eckit/container/sptree/SPNode.h>
template<class Traits, class Partition>
void eckit:: BSPNode<Traits, Partition>:: next(Alloc& a,
Node* n)