supereight
Namespaces | Functions | Variables
visitor.hpp File Reference
#include <optional>
#include "octree.hpp"
#include "se/map/data.hpp"
#include "se/map/octree/allocator.hpp"
#include "se/map/octree/fetcher.hpp"
#include "impl/visitor_impl.hpp"

Go to the source code of this file.

Namespaces

 se
 Helper wrapper to allocate and de-allocate octants in the octree.
 
 se::visitor
 

Functions

template<typename OctreeT >
OctreeT::DataType se::visitor::getData (const OctreeT &octree, const Eigen::Vector3i &voxel_coord)
 Single/multi-res get data functions. More...
 
template<typename OctreeT , typename BlockT >
OctreeT::DataType se::visitor::getData (const OctreeT &octree, BlockT *block_ptr, const Eigen::Vector3i &voxel_coord)
 Get the voxel data for a given coordinate. More...
 
template<typename OctreeT >
std::enable_if_t< OctreeT::res_==se::Res::Multi, typename OctreeT::DataType > se::visitor::getData (const OctreeT &octree, const Eigen::Vector3i &voxel_coord, const int scale_desired, int &scale_returned)
 Multi-res get data functions. More...
 
template<typename OctreeT , typename BlockT >
std::enable_if_t< OctreeT::res_==se::Res::Multi, typename OctreeT::DataType > se::visitor::getData (const OctreeT &octree, BlockT *block_ptr, const Eigen::Vector3i &voxel_coord, const int scale_desired, int &scale_returned)
 Get the voxel data for a given coordinate and desired scale. More...
 
template<typename OctreeT >
std::enable_if_t< OctreeT::DataType::fld_==se::Field::Occupancy, typename OctreeT::DataType > se::visitor::getMaxData (const OctreeT &octree, const Eigen::Vector3i &voxel_coord, const int scale_desired)
 Get the max occupancy data at a given scale. More...
 
template<typename OctreeT >
std::optional< se::field_tse::visitor::getField (const OctreeT &octree, const Eigen::Vector3i &voxel_coord)
 Single/Multi-res get field functions. More...
 
template<typename OctreeT , typename BlockT >
std::optional< se::field_tse::visitor::getField (const OctreeT &octree, BlockT *block_ptr, const Eigen::Vector3i &voxel_coord)
 Get the field value for a given coordinate. More...
 
template<typename OctreeT >
std::enable_if_t< OctreeT::res_==se::Res::Multi, std::optional< se::field_t > > se::visitor::getField (const OctreeT &octree, const Eigen::Vector3i &voxel_coord, const int scale_desired, int &scale_returned)
 Multi-res get field functions. More...
 
template<typename OctreeT , typename BlockT >
std::enable_if_t< OctreeT::res_==se::Res::Multi, std::optional< se::field_t > > se::visitor::getField (const OctreeT &octree, BlockT *block_ptr, const Eigen::Vector3i &voxel_coord, const int scale_desired, int &scale_returned)
 Get the field value for a given coordinate and desired scale. More...
 
template<typename OctreeT >
std::enable_if_t< OctreeT::res_==se::Res::Single, std::optional< se::field_t > > se::visitor::getFieldInterp (const OctreeT &octree, const Eigen::Vector3f &voxel_coord_f)
 Single-res get field interpolation functions. More...
 
template<typename OctreeT >
std::enable_if_t< OctreeT::res_==se::Res::Multi, std::optional< se::field_t > > se::visitor::getFieldInterp (const OctreeT &octree, const Eigen::Vector3f &voxel_coord_f)
 Multi-res get field interpolation functions. More...
 
template<typename OctreeT >
std::enable_if_t< OctreeT::res_==se::Res::Multi, std::optional< se::field_t > > se::visitor::getFieldInterp (const OctreeT &octree, const Eigen::Vector3f &voxel_coord_f, int &scale_returned)
 Get the interplated field value for a given coordinate [float voxel coordinates]. More...
 
template<typename OctreeT >
std::enable_if_t< OctreeT::fld_==se::Field::Occupancy &&OctreeT::res_==se::Res::Multi, std::optional< se::field_t > > se::visitor::getFieldInterp (const OctreeT &octree, const Eigen::Vector3f &voxel_coord_f, const int scale_desired, int &scale_returned)
 Get the interplated field value for a given coordinate [float voxel coordinates] and desired scale. More...
 
template<typename OctreeT >
std::enable_if_t< OctreeT::res_==se::Res::Single, std::optional< se::field_vec_t > > se::visitor::getFieldGrad (const OctreeT &octree, const Eigen::Vector3f &voxel_coord_f)
 Single-res get gradient functions. More...
 
template<typename OctreeT >
std::enable_if_t< OctreeT::res_==se::Res::Multi, std::optional< se::field_vec_t > > se::visitor::getFieldGrad (const OctreeT &octree, const Eigen::Vector3f &voxel_coord_f)
 Multi-res get gradient functions. More...
 
template<typename OctreeT >
std::enable_if_t< OctreeT::res_==se::Res::Multi, std::optional< se::field_vec_t > > se::visitor::getFieldGrad (const OctreeT &octree, const Eigen::Vector3f &voxel_coord_f, int &scale_returned)
 Get the field gradient for a given coordinate [float voxel coordinates]. More...
 
template<typename OctreeT >
std::enable_if_t< OctreeT::res_==se::Res::Multi, std::optional< se::field_vec_t > > se::visitor::getFieldGrad (const OctreeT &octree, const Eigen::Vector3f &voxel_coord_f, const int scale_desired, int &scale_returned)
 Get the field gradient for a given coordinate [float voxel coordinates] and desired scale. More...
 

Variables

template<typename OctreeT >
std::enable_if_t<(OctreeT::fld_==se::Field::TSDF &&OctreeT::res_==se::Res::Multi), std::optional< se::field_t > > se::visitor::getFieldInterp (const OctreeT &octree, const Eigen::Vector3f &voxel_coord_f, const int scale_desired, int &scale_returned)
 Get the interplated field value for a given coordinate [float voxel coordinates] and desired scale. More...