12 #include "libmesh/nanoflann.hpp" 13 #include "libmesh/utility.h" 14 #include "libmesh/point.h" 18 template <
typename Po
intObject>
22 using Iterator =
typename std::vector<PointObject>::const_iterator;
53 const Point &
getPoint(
const PointObject & item)
const;
61 mooseAssert(idx_p2 <
_size,
62 "The point index should be less than" 63 "total number of points used to build" 67 std::advance(it, idx_p2);
84 "The required component number should be less than the LIBMESH_DIM.");
86 "The index of the point should be less" 87 "than total number of points used to" 88 "construct the KDTree.");
91 std::advance(it,
idx);
102 template <
class BBOX>
bool kdtree_get_bbox(BBOX &) const
Optional bounding-box computation.
Real coord_t
libMesh Point coordinate type
const Point & getPoint(const PointObject &item) const
get a Point reference from the PointData object at index idx in the list
static constexpr std::size_t dim
This is the dimension of all vector and tensor datastructures used in MOOSE.
const Iterator _end
end iterator of the underlying point type vector
coord_t kdtree_get_pt(const size_t idx, int dim) const
Returns the dim'th component of the idx'th point in the class.
Real distance(const Point &p)
PointListAdaptor(Iterator begin, Iterator end)
const Iterator _begin
begin iterator of the underlying point type vector
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
IntRange< T > make_range(T beg, T end)
std::size_t _size
number of elements pointed to
size_t kdtree_get_point_count() const
Must return the number of data points.
typename std::vector< PointObject >::const_iterator Iterator
CTSub CT_OPERATOR_BINARY CTMul CTCompareLess CTCompareGreater CTCompareEqual _arg template pow< 2 >(tan(_arg))+1.0) *_arg.template D< dtag >()) CT_SIMPLE_UNARY_FUNCTION(sqrt
coord_t kdtree_distance(const coord_t *p1, const size_t idx_p2, size_t) const
Returns the distance between the vector "p1[0:size-1]" and the data point with index "idx_p2" stored ...