maliput
kd_tree.h File Reference
#include <algorithm>
#include <cmath>
#include <deque>
#include <limits>
#include <memory>
#include <utility>
#include "maliput/common/logger.h"
#include "maliput/common/maliput_copyable.h"
#include "maliput/common/maliput_throw.h"
#include "maliput/math/axis_aligned_box.h"
#include "maliput/math/overlapping_type.h"
Include dependency graph for kd_tree.h:
This graph shows which files directly or indirectly include this file:

Classes

class  Node< Coordinate, Region >
 Represents a node in a kd-tree data structure. More...
 
struct  SquaredDistance< Coordinate, Dimension >
 Calculates the squared distance between two points. More...
 
struct  NodeCmp< Dimension >
 Functor for comparing points according to the given dimension being evaluated at that point. More...
 
class  KDTreeBase< CRTP, Coordinate, Dimension, Region, Distance, NodeCmp >
 KDTree provides a space-partitioning data structure for organizing points in a k-dimensional space. More...
 
class  KDTree< Coordinate, Dimension, Region, Distance, NodeCmp >
 N-Dimension KDTree. More...
 
class  KDTree3D< Coordinate, Distance, NodeCmp >
 3-Dimensional KDTree. More...
 

Namespaces

 maliput
 Code in this file is inspired by: https://github.com/RobotLocomotion/drake/blob/master/common/text_logging.h.
 
 maliput::math
 Namespace to group basic mathematical and geometric support to maliput.
 
 maliput::math::details
 

Functions

template<std::size_t Dimension, typename Node , typename NodeCmp >
Node * MakeKdTree (std::size_t begin, std::size_t end, std::size_t index, std::deque< Node > &nodes)
 Makes a balanced kd-tree from a range of points already loaded in a collection. More...
 
template<typename Node >
void Initialize3dRegions (bool left, Node *node)
 Computes the regions corresponding to each node in a tree and stores them in the nodes. More...