supereight
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Namespaces | Functions
se::allocator Namespace Reference

Namespaces

namespace  detail
 

Functions

template<typename MapT , typename SensorT >
std::vector< se::OctantBase * > frustum (MapT &map, SensorT &sensor, const se::Image< float > &depth_img, const Eigen::Isometry3f &T_WS, const float band)
 Allocate frustum in band around the surface.
 
template<typename OctreeT >
se::OctantBaseblock (const Eigen::Vector3i &voxel_coord, OctreeT &octree, se::OctantBase *base_parent_ptr)
 Allocate a block at the provided voxel coordinates.
 
template<typename OctreeT >
se::OctantBaseblock (const se::key_t voxel_key, OctreeT &octree, se::OctantBase *base_parent_ptr)
 
template<typename OctreeT >
std::vector< se::OctantBase * > blocks (const std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i > > &voxel_coords, OctreeT &octree, se::OctantBase *base_parent_ptr, const bool only_allocated=false)
 Allocate Blocks at the provided voxel coordinates.
 
template<typename OctreeT >
std::vector< se::OctantBase * > blocks (std::vector< se::key_t > &voxel_keys, OctreeT &octree, se::OctantBase *base_parent_ptr, const bool only_allocated=false)
 Allocate Blocks at the provided voxel Morton codes.
 

Function Documentation

◆ frustum()

template<typename MapT , typename SensorT >
std::vector< se::OctantBase * > se::allocator::frustum ( MapT map,
SensorT sensor,
const se::Image< float > &  depth_img,
const Eigen::Isometry3f &  T_WS,
const float  band 
)

Allocate frustum in band around the surface.

Template Parameters
MapT
SensorT
Parameters
[in]mapThe reference to the map
[in]sensorThe sensor use for the projection
[in]depth_imgThe sensor depth image
[in]T_WSThe transformation from sensor to world frame
[in]bandThe size of the band allocated around the surface
Returns
The allocated and fetched notes in the band around the surface measurements

◆ block() [1/2]

template<typename OctreeT >
se::OctantBase * se::allocator::block ( const Eigen::Vector3i &  voxel_coord,
OctreeT octree,
se::OctantBase base_parent_ptr 
)
inline

Allocate a block at the provided voxel coordinates.

Template Parameters
OctreeTThe Octree template
Parameters
[in]voxel_coordThe 3D coordinates of a voxel within the block
[in]octreeThe octree to allocate the block in
[in]base_parent_ptrThe starting node pointer (default nullptr will be replaced with octree root)
Returns
A block pointer to the allocated block

◆ block() [2/2]

template<typename OctreeT >
se::OctantBase * se::allocator::block ( const se::key_t  voxel_key,
OctreeT octree,
se::OctantBase base_parent_ptr 
)
inline

◆ blocks() [1/2]

template<typename OctreeT >
std::vector< se::OctantBase * > se::allocator::blocks ( const std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i > > &  voxel_coords,
OctreeT octree,
se::OctantBase base_parent_ptr,
const bool  only_allocated = false 
)

Allocate Blocks at the provided voxel coordinates.

Template Parameters
OctreeTThe Octree template.
Parameters
[in]voxel_coordsThe 3D coordinates of a voxel within each block.
[in]octreeThe octree to allocate the blocks in.
[in]base_parent_ptrThe starting node pointer. A nullptr will be replaced with the octree root.
[in]only_allocatedReturn pointers only for the newly allocated Blocks instead of all the Blocks corresponding to the coordinates in voxel_coords.
Returns
Pointers to the allocated Octants.

◆ blocks() [2/2]

template<typename OctreeT >
std::vector< se::OctantBase * > se::allocator::blocks ( std::vector< se::key_t > &  voxel_keys,
OctreeT octree,
se::OctantBase base_parent_ptr,
const bool  only_allocated = false 
)

Allocate Blocks at the provided voxel Morton codes.

Template Parameters
OctreeTThe Octree template.
Parameters
[in]voxel_keysThe Morton code of a voxel within each block.
[in]octreeThe octree to allocate the blocks in.
[in]base_parent_ptrThe starting node pointer. A nullptr will be replaced with the octree root.
[in]only_allocatedReturn pointers only for the newly allocated Blocks instead of all the Blocks corresponding to the Morton codes in voxel_keys.
Returns
Pointers to the allocated Octants.