77 template <
typename T, std::
size_t dim >
88 using Point = Eigen::Matrix<T,dim,1>;
136 inline std::size_t
idx(
const Point& pt)
const;
137 inline std::size_t
idx(
const DP& pts,
const Data d)
const;
148 bool build(
const DP& pts,
size_t maxDataByNode=1,
T maxSizeByNode=
T(0.),
bool parallelBuild=
false);
152 bool build(
const DP& pts,
DataContainer&& datas, BoundingBox&& bb,
size_t maxDataByNode=1,
T maxSizeByNode=
T(0.),
bool parallelBuild=
false);
157 template <
typename Callback >
158 bool visit(Callback& cb);
std::vector< Data > DataContainer
constexpr T pow(const T base, const std::size_t exponent)
Octree_< T, dim > * operator[](std::size_t idx)
Matrix::Index Index
An index to a row or a column.
PM::DataPoints DataPoints
typename PM::DataPoints DP
Octree_< T, dim > & operator=(const Octree_< T, dim > &o)
DataContainer * getData()
DataContainer toData(const DP &pts, const std::vector< Id > &ids)
std::size_t getDepth() const
std::size_t idx(const Point &pt) const
Functions and classes that are dependant on scalar type are defined in this templatized class...
static constexpr std::size_t nbCells
Eigen::Matrix< T, dim, 1 > Point
bool build(const DP &pts, size_t maxDataByNode=1, T maxSizeByNode=T(0.), bool parallelBuild=false)