supereight
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
se::Block< DataT, ResT, BlockSize, PolicyT > Class Template Reference

The actual block used in the tree. More...

#include <block.hpp>

Inheritance diagram for se::Block< DataT, ResT, BlockSize, PolicyT >:
se::OctantBase

Public Types

typedef DataT DataType
 

Public Member Functions

 Block (se::Node< DataT, ResT > *parent_ptr, const int child_idx, const DataT init_data)
 Initialise block via parent node. More...
 
- Public Member Functions inherited from se::OctantBase
 OctantBase (const bool is_block, const Eigen::Vector3i &coord, OctantBase *parent_ptr=nullptr)
 Setup a octant via its parent. More...
 
bool isBlock () const
 Verify if an octant is a block. More...
 
Eigen::Vector3i getCoord () const
 Get the voxel coordinates of the octant. More...
 
const se::OctantBasegetParent () const
 Get the parent pointer of the octant. More...
 
se::OctantBasegetParent ()
 
int getTimeStamp () const
 Get the time stamp of an octant. More...
 
void setTimeStamp (const int time_stamp)
 Set the time stamp of an octant. More...
 
bool getActive () const
 Get the active state of an octant. More...
 
void setActive (bool is_active)
 Set the active state of an octant. More...
 
unsigned int getChildrenMask () const
 
void clearChildrenMask ()
 Clear the children mask. More...
 

Static Public Member Functions

static constexpr unsigned int getSize ()
 

Static Public Attributes

static constexpr int size = BlockSize
 
static constexpr int size_qu = BlockSize * BlockSize
 
static constexpr int size_cu = BlockSize * BlockSize * BlockSize
 

Additional Inherited Members

- Protected Attributes inherited from se::OctantBase
const bool is_block_
 
OctantBaseparent_ptr_
 Every node/block (other than root) needs a parent. More...
 
const Eigen::Vector3i coord_
 The coordinates of the block (left, front , bottom corner) More...
 
int time_stamp_
 The frame of the last update. More...
 
bool is_active_
 The active state of the octant. More...
 
unsigned int children_mask_
 The allocated children. More...
 

Detailed Description

template<typename DataT, Res ResT, int BlockSize, typename PolicyT>
class se::Block< DataT, ResT, BlockSize, PolicyT >

The actual block used in the tree.

Note
Template defaults set in forward decleration further up< Conditional CRTP

Member Typedef Documentation

◆ DataType

template<typename DataT , Res ResT, int BlockSize, typename PolicyT >
typedef DataT se::Block< DataT, ResT, BlockSize, PolicyT >::DataType

Constructor & Destructor Documentation

◆ Block()

template<typename DataT , Res ResT, int BlockSize, typename PolicyT >
se::Block< DataT, ResT, BlockSize, PolicyT >::Block ( se::Node< DataT, ResT > *  parent_ptr,
const int  child_idx,
const DataT  init_data 
)

Initialise block via parent node.

Parameters
[in]parentThe shared pointer to the parent node
[in]child_idxThe child id {0,...,7} in relation to the parent
[in]init_dataThe initial data of the block

Member Function Documentation

◆ getSize()

template<typename DataT , Res ResT, int BlockSize, typename PolicyT >
static constexpr unsigned int se::Block< DataT, ResT, BlockSize, PolicyT >::getSize ( )
inlinestatic

Member Data Documentation

◆ size

template<typename DataT , Res ResT, int BlockSize, typename PolicyT >
constexpr int se::Block< DataT, ResT, BlockSize, PolicyT >::size = BlockSize
static

◆ size_qu

template<typename DataT , Res ResT, int BlockSize, typename PolicyT >
constexpr int se::Block< DataT, ResT, BlockSize, PolicyT >::size_qu = BlockSize * BlockSize
static

◆ size_cu

template<typename DataT , Res ResT, int BlockSize, typename PolicyT >
constexpr int se::Block< DataT, ResT, BlockSize, PolicyT >::size_cu = BlockSize * BlockSize * BlockSize
static

The documentation for this class was generated from the following file: