22#ifndef dftfeRTreePoint_h
23#define dftfeRTreePoint_h
25#include <boost/geometry.hpp>
26#include <boost/geometry/geometries/geometries.hpp>
27#include <boost/geometry/index/rtree.hpp>
28#include <boost/range/adaptors.hpp>
42 namespace BA = boost::adaptors;
43 namespace BG = boost::geometry;
44 namespace BGI = boost::geometry::index;
45 namespace BGIA = boost::geometry::index::adaptors;
54 template <dftfe::uInt dim, dftfe::uInt M>
58 using BPoint = BG::model::point<double, dim, BG::cs::cartesian>;
59 using BBox = BG::model::box<BPoint>;
60 using BPointI = std::pair<BPoint, dftfe::uInt>;
67 RTreePoint(
const std::vector<std::vector<double>> &srcPts);
69 std::vector<dftfe::uInt>
71 const std::vector<double> &upperRight);
77 std::vector<dftfe::uInt>
90#include <../utils/RTreePoint.t.cc>
BGI::rtree< BPointI, BGI::quadratic< M > > BRTreePointI
Definition RTreePoint.h:61
BG::model::point< double, dim, BG::cs::cartesian > BPoint
Definition RTreePoint.h:58
std::vector< dftfe::uInt > getPointIdsInsideBox(const std::vector< double > &lowerLeft, const std::vector< double > &upperRight)
BG::model::box< BPoint > BBox
Definition RTreePoint.h:59
std::pair< BPoint, dftfe::uInt > BPointI
Definition RTreePoint.h:60
std::vector< dftfe::uInt > getPointIdsNearInputPoint(const std::vector< double > &inputPoint, dftfe::uInt nNearestNeighbours)
Returns the indices of the n nearest point to the input point.
std::shared_ptr< BRTreePointI > d_rtreePtr
Definition RTreePoint.h:85
RTreePoint(const std::vector< std::vector< double > > &srcPts)
Constructor.
Definition pseudoPotentialToDftfeConverter.cc:34
std::uint32_t uInt
Definition TypeConfig.h:10