37template<
typename OctreeT>
54template<
typename OctreeT,
typename BlockT>
55typename OctreeT::DataType
74template<
typename OctreeT>
75typename std::enable_if_t<OctreeT::res_ == Res::Multi, typename OctreeT::DataType>
96template<
typename OctreeT,
typename BlockT>
97typename std::enable_if_t<OctreeT::res_ == Res::Multi, typename OctreeT::DataType>
113template<
typename OctreeT>
115 typename OctreeT::DataType>
127template<
typename OctreeT>
128typename std::enable_if_t<OctreeT::DataType::fld_ == Field::Occupancy, typename OctreeT::DataType>
145template<
typename OctreeT>
161template<
typename OctreeT,
typename BlockT>
162std::optional<field_t>
181template<
typename OctreeT>
182typename std::enable_if_t<OctreeT::res_ == Res::Multi, std::optional<field_t>>
203template<
typename OctreeT,
typename BlockT>
204typename std::enable_if_t<OctreeT::res_ == Res::Multi, std::optional<field_t>>
244template<
typename OctreeT,
typename Val
idF,
typename GetF>
245typename std::enable_if_t<OctreeT::res_ ==
Res::Multi,
246 std::optional<std::invoke_result_t<GetF, typename OctreeT::DataType>>>
258template<
typename OctreeT,
typename Val
idF,
typename GetF>
259typename std::enable_if_t<OctreeT::res_ ==
Res::Single,
260 std::optional<std::invoke_result_t<GetF, typename OctreeT::DataType>>>
278template<
typename OctreeT>
279typename std::enable_if_t<OctreeT::res_ == Res::Multi, std::optional<field_t>>
289template<
typename OctreeT>
290typename std::enable_if_t<OctreeT::res_ == Res::Single, std::optional<field_t>>
306template<
typename OctreeT>
308 std::optional<colour_t>>
318template<
typename OctreeT>
320 std::optional<colour_t>>
337template<
typename OctreeT>
338typename std::enable_if_t<OctreeT::res_ == Res::Single, std::optional<field_vec_t>>
355template<
typename OctreeT>
356typename std::enable_if_t<OctreeT::res_ == Res::Multi, std::optional<field_vec_t>>
370template<
typename OctreeT>
371typename std::enable_if_t<OctreeT::res_ == Res::Multi, std::optional<field_vec_t>>
386template<
typename OctreeT>
387typename std::enable_if_t<OctreeT::res_ == Res::Multi, std::optional<field_vec_t>>
396#include "impl/visitor_impl.hpp"
std::enable_if_t< OctreeT::res_==Res::Multi &&OctreeT::col_==Colour::On, std::optional< colour_t > > getColourInterp(const OctreeT &octree, const Eigen::Vector3f &voxel_coord_f, const int desired_scale=0, int *const returned_scale=nullptr)
Interpolate the colour at the supplied voxel coordinates and desired scale.
std::enable_if_t< OctreeT::res_==Res::Multi, std::optional< std::invoke_result_t< GetF, typename OctreeT::DataType > > > getInterp(const OctreeT &octree, const Eigen::Vector3f &voxel_coord_f, ValidF valid, GetF get, const int desired_scale=0, int *const returned_scale=nullptr)
Interpolate a member of se::Octree::DataType at the supplied voxel coordinates and desired scale.
std::enable_if_t< OctreeT::DataType::fld_==Field::Occupancy, typename OctreeT::DataType > getMaxData(const OctreeT &octree, const Eigen::Vector3i &voxel_coord, const int scale_desired)
Get the max occupancy data at a given scale.
std::enable_if_t< OctreeT::DataType::fld_==se::Field::Occupancy, typename OctreeT::DataType > getMinData(const OctreeT &octree, const Eigen::Vector3i &voxel_coord, const int scale_desired)
Get the min occupancy data at a given scale.
std::enable_if_t< OctreeT::res_==Res::Multi, std::optional< field_t > > getFieldInterp(const OctreeT &octree, const Eigen::Vector3f &voxel_coord_f, const int desired_scale=0, int *const returned_scale=nullptr)
Interpolate the field at the supplied voxel coordinates and desired scale.
OctreeT::DataType getData(const OctreeT &octree, const Eigen::Vector3i &voxel_coord)
Single/multi-res get data functions.
std::enable_if_t< OctreeT::res_==Res::Single, std::optional< field_vec_t > > getFieldGrad(const OctreeT &octree, const Eigen::Vector3f &voxel_coord_f)
Single-res get gradient functions.
std::optional< field_t > getField(const OctreeT &octree, const Eigen::Vector3i &voxel_coord)
Single/Multi-res get field functions.
Helper wrapper to allocate and de-allocate octants in the octree.
Definition bounded_vector.hpp:14