Spec-Zone.ru › PointCloudLibrary

Класс Octree. Подробнее...

#include <pcl/octree/octree_base.h>

Inheritance graph
[условные обозначения]
Collaboration graph
[условные обозначения]

Публичные типы

using OctreeT = OctreeBase< LeafContainerT, BranchContainerT >
using BranchNode = OctreeBranchNode< BranchContainerT >
using LeafNode = OctreeLeafNode< LeafContainerT >
using BranchContainer = BranchContainerT
using LeafContainer = LeafContainerT
using Iterator = OctreeDepthFirstIterator< OctreeT >
using ConstIterator = OctreeDepthFirstIterator< const OctreeT >
using LeafNodeIterator = OctreeLeafNodeDepthFirstIterator< OctreeT >
using ConstLeafNodeIterator = OctreeLeafNodeDepthFirstIterator< const OctreeT >
using LeafNodeDepthFirstIterator = OctreeLeafNodeDepthFirstIterator< OctreeT >
using ConstLeafNodeDepthFirstIterator = OctreeLeafNodeDepthFirstIterator< const OctreeT >
using DepthFirstIterator = OctreeDepthFirstIterator< OctreeT >
using ConstDepthFirstIterator = OctreeDepthFirstIterator< const OctreeT >
using BreadthFirstIterator = OctreeBreadthFirstIterator< OctreeT >
using ConstBreadthFirstIterator = OctreeBreadthFirstIterator< const OctreeT >
using FixedDepthIterator = OctreeFixedDepthIterator< OctreeT >
using ConstFixedDepthIterator = OctreeFixedDepthIterator< const OctreeT >
using LeafNodeBreadthFirstIterator = OctreeLeafNodeBreadthFirstIterator< OctreeT >
using ConstLeafNodeBreadthFirstIterator = OctreeLeafNodeBreadthFirstIterator< const OctreeT >
tr> tr>

Открытые функции-члены

Iterator begin (uindex_t max_depth_arg=0u)
ConstIterator begin (uindex_t max_depth_arg=0u) const
ConstIterator cbegin (uindex_t max_depth_arg=0u) const
const Iterator end ()
const ConstIterator end () const
const ConstIterator cend () const
LeafNodeDepthFirstIterator leaf_depth_begin (uindex_t max_depth_arg=0u)
ConstLeafNodeDepthFirstIterator leaf_depth_begin (uindex_t max_depth_arg=0u) const
const LeafNodeDepthFirstIterator leaf_depth_end ()
const ConstLeafNodeDepthFirstIterator leaf_depth_end () const
DepthFirstIterator depth_begin (uindex_t max_depth_arg=0u)
ConstDepthFirstIterator depth_begin (uindex_t max_depth_arg=0u) const
const DepthFirstIterator depth_end ()
const ConstDepthFirstIterator depth_end () const
BreadthFirstIterator breadth_begin (uindex_t max_depth_arg=0u)
ConstBreadthFirstIterator breadth_begin (uindex_t max_depth_arg=0u) const
const BreadthFirstIterator breadth_end ()
const ConstBreadthFirstIterator breadth_end () const
FixedDepthIterator fixed_depth_begin (uindex_t fixed_depth_arg=0u)
ConstFixedDepthIterator fixed_depth_begin (uindex_t fixed_depth_arg=0u) const
const FixedDepthIterator fixed_depth_end ()
const ConstFixedDepthIterator fixed_depth_end () const
LeafNodeBreadthFirstIterator leaf_breadth_begin (uindex_t max_depth_arg=0u)
ConstLeafNodeBreadthFirstIterator leaf_breadth_begin (uindex_t max_depth_arg=0u) const
const LeafNodeBreadthFirstIterator leaf_breadth_end ()
const ConstLeafNodeBreadthFirstIterator leaf_breadth_end () const
OctreeBase ()
Пустой конструктор. Подробнее...
virtual ~OctreeBase ()
Пустой деструктор. Подробнее...
OctreeBase (const OctreeBase &source)
Конструктор копирования. Подробнее...
OctreeBase & operator= (const OctreeBase &source)
Оператор копирования. Подробнее...
void setMaxVoxelIndex (uindex_t max_voxel_index_arg)
Задать максимальное количество вокселей на измерение. Подробнее...
void setTreeDepth (uindex_t max_depth_arg)
Задать максимальную глубину октодерева. Подробнее...
uindex_t getTreeDepth () const
Получить максимальную глубину октодерева. Подробнее...
LeafContainerT * createLeaf (uindex_t idx_x_arg, uindex_t idx_y_arg, uindex_t idx_z_arg)
Создать новый листовой узел в точке (idx_x_arg, idx_y_arg, idx_z_arg). Подробнее...
LeafContainerT * findLeaf (uindex_t idx_x_arg, uindex_t idx_y_arg, uindex_t idx_z_arg) const
Найти листовой узел в точке (idx_x_arg, idx_y_arg, idx_z_arg). Подробнее...
bool existLeaf (uindex_t idx_x_arg, uindex_t idx_y_arg, uindex_t idx_z_arg) const
Проверить существование листового узла в точке (idx_x_arg, idx_y_arg, idx_z_arg). Подробнее...
void removeLeaf (uindex_t idx_x_arg, uindex_t idx_y_arg, uindex_t idx_z_arg)
Удалить листовой узел в точке (idx_x_arg, idx_y_arg, idx_z_arg). Подробнее...
std::size_t getLeafCount () const
Вернуть количество существующих листьев в октодереве. Подробнее...
std::size_t getBranchCount () const
Вернуть количество существующих узлов ветвления в октодереве. Подробнее...
void deleteTree ()
Удалить структуру октодерева и его листовые узлы. Подробнее...
void serializeTree (std::vector< char > &binary_tree_out_arg) const
Сериализовать октодерево в выходной двоичный вектор, описывающий структуру его узлов ветвления. Подробнее...
void serializeTree (std::vector< char > &binary_tree_out_arg, std::vector< LeafContainerT * > &leaf_container_vector_arg) const
Сериализовать октодерево в выходной двоичный вектор, описывающий структуру его узлов ветвления, и поместить все элементы LeafContainerT, хранящиеся в октодереве, в вектор. Подробнее...
void serializeLeafs (std::vector< LeafContainerT * > &leaf_container_vector_arg)
Формирует вектор из всех элементов LeafContainerT, хранящихся в листовых узлах октодерева. Подробнее...
void deserializeTree (std::vector< char > &binary_tree_input_arg)
Десериализовать вектор с двоичным описанием октодерева и создать соответствующую структуру октодерева. Подробнее...
void deserializeTree (std::vector< char > &binary_tree_input_arg, std::vector< LeafContainerT * > &leaf_container_vector_arg)
Десериализовать двоичное описание октодерева и создать соответствующую структуру октодерева. Подробнее...

Защищённые функции-члены

LeafContainerT * createLeaf (const OctreeKey &key_arg)
Создать листовой узел. Подробнее...
LeafContainerT * findLeaf (const OctreeKey &key_arg) const
Найти листовой узел. Подробнее...
bool existLeaf (const OctreeKey &key_arg) const
Проверить наличие листового узла в октодереве. Подробнее...
void removeLeaf (const OctreeKey &key_arg)
Удалить листовой узел из октодерева. Подробнее...
OctreeNode * getRootNode () const
Получить корневой узел. Подробнее...
bool branchHasChild (const BranchNode &branch_arg, unsigned char child_idx_arg) const
Проверить, указывает ли ветвь на определённый дочерний узел. Подробнее...
OctreeNode * getBranchChildPtr (const BranchNode &branch_arg, unsigned char child_idx_arg) const
Получить указатель на дочерний узел с индексом child_idx. Подробнее...
void setBranchChildPtr (BranchNode &branch_arg, unsigned char child_idx_arg, OctreeNode *new_child_arg)
Назначить ветви новый дочерний узел. Подробнее...
char getBranchBitPattern (const BranchNode &branch_arg) const
Сформировать битовый шаблон, отражающий наличие указателей на дочерние узлы. Подробнее...
void deleteBranchChild (BranchNode &branch_arg, unsigned char child_idx_arg)
Удалить дочерний узел и все его подчинённые узлы из октодерева. Подробнее...
void deleteBranch (BranchNode &branch_arg)
Удалить ветвь и все её подчинённые узлы из октодерева. Подробнее...
BranchNode * createBranchChild (BranchNode &branch_arg, unsigned char child_idx_arg)
Создать и добавить новую дочернюю ветвь в класс ветви. Подробнее...
LeafNode * createLeafChild (BranchNode &branch_arg, unsigned char child_idx_arg)
Создать и добавить новый дочерний листовой узел в класс ветви. Подробнее...
uindex_t createLeafRecursive (const OctreeKey &key_arg, uindex_t depth_mask_arg, BranchNode *branch_arg, LeafNode *&return_leaf_arg, BranchNode *&parent_of_leaf_arg)
Создать листовой узел по ключу октодерева. Подробнее...
void findLeafRecursive (const OctreeKey &key_arg, uindex_t depth_mask_arg, BranchNode *branch_arg, LeafContainerT *&result_arg) const
Рекурсивно найти заданный листовой узел и вернуть указатель на него. Подробнее...
bool deleteLeafRecursive (const OctreeKey &key_arg, uindex_t depth_mask_arg, BranchNode *branch_arg)
Рекурсивно найти и удалить листовой узел. Подробнее...
void serializeTreeRecursive (const BranchNode *branch_arg, OctreeKey &key_arg, std::vector< char > *binary_tree_out_arg, typename std::vector< LeafContainerT * > *leaf_container_vector_arg) const
Рекурсивно обойти октодерево и сформировать его двоичное описание вместе с вектором LeafContainerT листовых узлов. Подробнее...
void deserializeTreeRecursive (BranchNode *branch_arg, uindex_t depth_mask_arg, OctreeKey &key_arg, typename std::vector< char >::const_iterator &binary_tree_input_it_arg, typename std::vector< char >::const_iterator &binary_tree_input_it_end_arg, typename std::vector< LeafContainerT * >::const_iterator *leaf_container_vector_it_arg, typename std::vector< LeafContainerT * >::const_iterator *leaf_container_vector_it_end_arg)
Рекурсивный метод десериализации структуры октодерева. Подробнее...
virtual void serializeTreeCallback (LeafContainerT &, const OctreeKey &) const
Обратный вызов, выполняемый для каждого листового узла во время сериализации. Подробнее...
virtual void deserializeTreeCallback (LeafContainerT &, const OctreeKey &)
Обратный вызов, выполняемый для каждого листового узла во время десериализации. Подробнее...
bool octreeCanResize () const
Проверить, может ли октодерево динамически изменять свою глубину. Подробнее...

Защищённые атрибуты

std::size_t leaf_count_ {0}
Количество листовых узлов
Подробнее...
std::size_t branch_count_ {1}
Количество узлов-ветвей
Подробнее...
BranchNode * root_node_
Указатель на корневой узел-ветвь октодерева
Подробнее...
uindex_t depth_mask_ {0}
Маска глубины, зависящая от глубины октодерева
Подробнее...
uindex_t octree_depth_ {0}
Глубина октодерева. Подробнее...
bool dynamic_depth_enabled_ {false}
Включить dynamic_depth. Подробнее...
OctreeKey max_key_
Диапазон ключей Подробнее...

Дружественные классы

class OctreeIteratorBase< OctreeT >
class OctreeDepthFirstIterator< OctreeT >
class OctreeBreadthFirstIterator< OctreeT >
class OctreeFixedDepthIterator< OctreeT >
class OctreeLeafNodeDepthFirstIterator< OctreeT >
class OctreeLeafNodeBreadthFirstIterator< OctreeT >
class OctreeIteratorBase< const OctreeT >
class OctreeDepthFirstIterator< const OctreeT >
class OctreeBreadthFirstIterator< const OctreeT >
class OctreeFixedDepthIterator< const OctreeT >
class OctreeLeafNodeDepthFirstIterator< const OctreeT >
class OctreeLeafNodeBreadthFirstIterator< const OctreeT >

Подробное описание

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
class pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >

Класс октодерева.

Примечание
Глубина дерева определяет максимальное количество вокселей октодерева / листовых узлов (её следует задать изначально).
Все листовые узлы адресуются целочисленными индексами.
Глубина дерева соответствует разрядности индексов вокселей.
Автор
Julius Kammerl (juliu.nosp@m.s@ka.nosp@m.mmerl.nosp@m..de)

Определение в строке 62 файла octree_base.h.

Документация по псевдонимам типов-членов

BranchContainer

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::BranchContainer = BranchContainerT

Определение в строке 69 файла octree_base.h.

BranchNode

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::BranchNode = OctreeBranchNode<BranchContainerT>

Определение в строке 66 файла octree_base.h.

BreadthFirstIterator

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::BreadthFirstIterator = OctreeBreadthFirstIterator<OctreeT>

Определение в строке 222 файла octree_base.h.

ConstBreadthFirstIterator

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::ConstBreadthFirstIterator = OctreeBreadthFirstIterator<const OctreeT>

Определение в строке 223 файла octree_base.h.

ConstDepthFirstIterator

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::ConstDepthFirstIterator = OctreeDepthFirstIterator<const OctreeT>

Определение в строке 193 файла octree_base.h.

ConstFixedDepthIterator

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::ConstFixedDepthIterator = OctreeFixedDepthIterator<const OctreeT>

Определение в строке 253 файла octree_base.h.

ConstIterator

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::ConstIterator = OctreeDepthFirstIterator<const OctreeT>

Определение в строке 115 файла octree_base.h.

ConstLeafNodeBreadthFirstIterator

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::ConstLeafNodeBreadthFirstIterator = OctreeLeafNodeBreadthFirstIterator<const OctreeT>

Определение в строке 281 файла octree_base.h.

ConstLeafNodeDepthFirstIterator

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::ConstLeafNodeDepthFirstIterator = OctreeLeafNodeDepthFirstIterator<const OctreeT>

Определение в строке 162 файла octree_base.h.

ConstLeafNodeIterator

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::ConstLeafNodeIterator = OctreeLeafNodeDepthFirstIterator<const OctreeT>

Определение в строке 158 файла octree_base.h.

DepthFirstIterator

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::DepthFirstIterator = OctreeDepthFirstIterator<OctreeT>

Определение в строке 192 файла octree_base.h.

FixedDepthIterator

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::FixedDepthIterator = OctreeFixedDepthIterator<OctreeT>

Определение в строке 252 файла octree_base.h.

Iterator

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::Iterator = OctreeDepthFirstIterator<OctreeT>

Определение в строке 114 файла octree_base.h.

LeafContainer

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::LeafContainer = LeafContainerT

Определение в строке 70 файла octree_base.h.

LeafNode

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::LeafNode = OctreeLeafNode<LeafContainerT>

Определение в строке 67 файла octree_base.h.

LeafNodeBreadthFirstIterator

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::LeafNodeBreadthFirstIterator = OctreeLeafNodeBreadthFirstIterator<OctreeT>

Определение в строке 280 файла octree_base.h.

LeafNodeDepthFirstIterator

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::LeafNodeDepthFirstIterator = OctreeLeafNodeDepthFirstIterator<OctreeT>

Определение в строке 161 файла octree_base.h.

LeafNodeIterator

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::LeafNodeIterator = OctreeLeafNodeDepthFirstIterator<OctreeT>

Определение в строке 157 файла octree_base.h.

OctreeT

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::OctreeT = OctreeBase<LeafContainerT, BranchContainerT>

Определение в строке 64 файла octree_base.h.

Документация конструкторов и деструкторов

OctreeBase() [1/2]

template<typename LeafContainerT , typename BranchContainerT >
pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::OctreeBase

Конструктор без параметров.

Определение в строке 48 файла octree_base.hpp.

~OctreeBase()

template<typename LeafContainerT , typename BranchContainerT >
pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::~OctreeBase
virtual

Деструктор без дополнительных действий.

Определение в строке 54 файла octree_base.hpp.

OctreeBase() [2/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::OctreeBase ( const OctreeBase< LeafContainerT, BranchContainerT > & source )
inline

Конструктор копирования.

Определение в строке 317 файла octree_base.h.

Документация функций-членов

begin() [1/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
Iterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::begin ( uindex_t max_depth_arg = 0u )
inline

Определение в строке 118 файла octree_base.h.

Ссылки: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.

begin() [2/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
ConstIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::begin ( uindex_t max_depth_arg = 0u ) const
inline

Определение в строке 124 файла octree_base.h.

Ссылки: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.

branchHasChild()

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
bool pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::branchHasChild ( const BranchNode & branch_arg,
unsigned char child_idx_arg
) const
inlineprotected

Проверяет, указывает ли ветвь на определённый дочерний узел.

Параметры
branch_arg ссылка на класс ветви октодерева
child_idx_arg индекс дочернего узла
Возвращает
"true", если указатель на дочерний узел существует; в противном случае — "false"

Определение в строке 542 файла octree_base.h.

Ссылки: pcl::octree::OctreeBranchNode< ContainerT >::getChildPtr().

breadth_begin() [1/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
BreadthFirstIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::breadth_begin ( uindex_t max_depth_arg = 0u )
inline

Определение в строке 226 файла octree_base.h.

Ссылки: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.

breadth_begin() [2/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
ConstBreadthFirstIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::breadth_begin ( uindex_t max_depth_arg = 0u ) const
inline

Определение в строке 233 файла octree_base.h.

Ссылки: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.

breadth_end() [1/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
const BreadthFirstIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::breadth_end ( )
inline

Определение в строке 240 файла octree_base.h.

breadth_end() [2/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
const ConstBreadthFirstIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::breadth_end ( ) const
inline

Определение в строке 246 файла octree_base.h.

cbegin()

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
ConstIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::cbegin ( uindex_t max_depth_arg = 0u ) const
inline

Определение в строке 130 файла octree_base.h.

Ссылки: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.

cend()

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
const ConstIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::cend ( ) const
inline

Определение в строке 148 файла octree_base.h.

createBranchChild()

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
BranchNode* pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::createBranchChild ( BranchNode & branch_arg,
unsigned char child_idx_arg
)
inlineprotected

Создать и добавить новую ветвь-потомок в класс ветви.

Параметры
branch_arg ссылка на класс ветви октодерева
child_idx_arg индекс узла-потомка
Возвращает
указатель на новую ветвь-потомок для этой ссылки

Определение в строке 640 файла octree_base.h.

createLeaf() [1/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
LeafContainerT* pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::createLeaf ( const OctreeKey & key_arg )
inlineprotected

Создать листовой узел.

Параметры
key_arg ключ октодерева, указывающий на листовой узел.
Возвращает
указатель на листовой узел

Определение в строке 480 файла octree_base.h.

Ссылки: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::createLeafRecursive(), pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::depth_mask_, pcl::octree::OctreeLeafNode< ContainerT >::getContainerPtr() и pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::root_node_.

createLeaf() [2/2]

template<typename LeafContainerT , typename BranchContainerT >
LeafContainerT * pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::createLeaf ( uindex_t idx_x_arg,
uindex_t idx_y_arg,
uindex_t idx_z_arg
)

Создать новый листовой узел в точке (idx_x_arg, idx_y_arg, idx_z_arg).

Примечание
Если листовой узел уже существует, этот метод возвращает существующий узел
Параметры
idx_x_arg индекс листового узла по оси X.
idx_y_arg индекс листового узла по оси Y.
idx_z_arg индекс листового узла по оси Z.
Возвращает
указатель на контейнер нового листового узла.

Определение в строке 129 файла octree_base.hpp.

Используется в pcl::octree::OctreePointCloudOccupancy< PointT, LeafContainerT, BranchContainerT >::setOccupiedVoxelAtPoint().

createLeafChild()

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
LeafNode* pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::createLeafChild ( BranchNode & branch_arg,
unsigned char child_idx_arg
)
inlineprotected

Создать и добавить новый листовой узел-потомок в класс ветви.

Параметры
branch_arg ссылка на класс ветви октодерева
child_idx_arg индекс узла-потомка
Возвращает
указатель на новый листовой узел-потомок для этой ссылки

Определение в строке 654 файла octree_base.h.

createLeafRecursive()

template<typename LeafContainerT , typename BranchContainerT >
uindex_t pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::createLeafRecursive ( const OctreeKey & key_arg,
uindex_t depth_mask_arg,
BranchNode * branch_arg,
LeafNode *& return_leaf_arg,
BranchNode *& parent_of_leaf_arg
)
protected

Создать листовой узел по ключу октодерева.

Если листовой узел уже существует, он возвращается.

Параметры
key_arg ссылка на ключ октодерева
depth_mask_arg маска глубины, используемая для анализа ключа октодерева и обозначения глубины ветви
branch_arg текущий узел-ветвь
return_leaf_arg указатель на возвращаемый листовой узел
parent_of_leaf_arg указатель на родительский узел листового узла
Возвращает
маска глубины, на которой был создан листовой узел

Определение в строке 293 файла octree_base.hpp.

Ссылки: pcl::octree::OctreeKey::getChildIdxWithDepthMask().

Используется в pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::createLeaf().

deleteBranch()

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::deleteBranch ( BranchNode & branch_arg )
inlineprotected

Удалить ветвь и всех её потомков из октодерева.

Параметры
branch_arg ссылка на класс ветви октодерева

Определение в строке 627 файла octree_base.h.

Ссылки: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::deleteBranchChild().

Используется в pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::deleteBranchChild().

deleteBranchChild()

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::deleteBranchChild ( BranchNode & branch_arg,
unsigned char child_idx_arg
)
inlineprotected

Удалить узел-потомок и всех его потомков из октодерева.

Параметры
branch_arg ссылка на класс ветви октодерева
child_idx_arg индекс узла-потомка

Определение в строке 596 файла octree_base.h.

Ссылки: pcl::octree::BRANCH_NODE, pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::deleteBranch(), pcl::octree::OctreeNode::getNodeType(), pcl::octree::OctreeBranchNode< ContainerT >::hasChild() и pcl::octree::LEAF_NODE.

Используется в pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::deleteBranch().

deleteLeafRecursive()

template<typename LeafContainerT , typename BranchContainerT >
bool pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::deleteLeafRecursive ( const OctreeKey & key_arg,
uindex_t depth_mask_arg,
BranchNode * branch_arg
)
protected

Рекурсивно найти и удалить листовой узел.

Параметры
key_arg ссылка на ключ октодерева
depth_mask_arg маска глубины, используемая для анализа ключа октодерева и обозначения глубины ветви
branch_arg текущий узел-ветвь
Возвращает
«true», если текущая ветвь содержит дочерние узлы; в противном случае — «false». Если результат true, текущую ветвь нельзя удалить.

Определение в строке 391 файла octree_base.hpp.

Используется в pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::removeLeaf().

deleteTree()

template<typename LeafContainerT , typename BranchContainerT >
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::deleteTree

Удалить структуру октодерева и его листовые узлы.

Определение в строке 171 файла octree_base.hpp.

depth_begin() [1/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
DepthFirstIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::depth_begin ( uindex_t max_depth_arg = 0u )
inline

Определение в строке 196 файла octree_base.h.

Ссылки: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.

depth_begin() [2/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
ConstDepthFirstIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::depth_begin ( uindex_t max_depth_arg = 0u ) const
inline

Определение в строке 203 файла octree_base.h.

Ссылки: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.

depth_end() [1/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
const DepthFirstIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::depth_end ( )
inline

Определение в строке 210 файла octree_base.h.

depth_end() [2/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
const ConstDepthFirstIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::depth_end ( ) const
inline

Определение в строке 216 файла octree_base.h.

deserializeTree() [1/2]

template<typename LeafContainerT , typename BranchContainerT >
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::deserializeTree ( std::vector< char > & binary_tree_input_arg )

Десериализовать вектор двоичного описания октодерева и создать соответствующую структуру октодерева.

Листовые узлы инициализируются с помощью getDataTByKey(..).

Параметры
binary_tree_input_arg ссылка на входной вектор для чтения структуры двоичного дерева.

Определение в строке 238 файла octree_base.hpp.

deserializeTree() [2/2]

template<typename LeafContainerT , typename BranchContainerT >
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::deserializeTree ( std::vector< char > & binary_tree_input_arg,
std::vector< LeafContainerT * > & leaf_container_vector_arg
)

Десериализует описание двоичного октодерева и создает соответствующую структуру октодерева.

Листовые узлы инициализируются элементами LeafContainerT из dataVector.

Параметры
binary_tree_input_arg ссылка на входной вектор для чтения структуры двоичного дерева.
leaf_container_vector_arg указатель на вектор контейнеров.

Определение в строке 262 файла octree_base.hpp.

deserializeTreeCallback()

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
virtual void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::deserializeTreeCallback ( LeafContainerT & ,
const OctreeKey &
)
inlineprotectedvirtual

Обратный вызов, выполняемый для каждого листового узла во время десериализации.

Определение в строке 762 файла octree_base.h.

deserializeTreeRecursive()

template<typename LeafContainerT , typename BranchContainerT >
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::deserializeTreeRecursive ( BranchNode * branch_arg,
uindex_t depth_mask_arg,
OctreeKey & key_arg,
typename std::vector< char >::const_iterator & binary_tree_input_it_arg,
typename std::vector< char >::const_iterator & binary_tree_input_it_end_arg,
typename std::vector< LeafContainerT * >::const_iterator * leaf_container_vector_it_arg,
typename std::vector< LeafContainerT * >::const_iterator * leaf_container_vector_it_end_arg
)
protected

Рекурсивный метод для десериализации структуры октодерева.

Параметры
branch_arg текущий ветвевой узел
depth_mask_arg маска глубины, используемая для анализа ключа октодерева и указания глубины ветви
key_arg ссылка на ключ октодерева
binary_tree_input_it_arg итератор входного двоичного вектора
binary_tree_input_it_end_arg конечный итератор входного двоичного вектора
leaf_container_vector_it_arg итератор, указывающий на текущий объект LeafContainerT, который будет добавлен в листовой узел
leaf_container_vector_it_end_arg итератор, указывающий на последний объект во входном векторе LeafContainerT.

Определение в строке 500 файла octree_base.hpp.

Ссылки: pcl::octree::OctreeKey::popBranch() и pcl::octree::OctreeKey::pushBranch().

end() [1/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
const Iterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::end ( )
inline

Определение в строке 136 файла octree_base.h.

end() [2/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
const ConstIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::end ( ) const
inline

Определение в строке 142 файла octree_base.h.

existLeaf() [1/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
bool pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::existLeaf ( const OctreeKey & key_arg ) const
inlineprotected

Проверяет наличие листового узла в октодереве.

Параметры
key_arg ключ октодерева, указывающий на листовой узел.
Возвращает
"true", если листовой узел найден; в противном случае — "false"

Определение в строке 510 файла octree_base.h.

Ссылки: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::findLeaf().

existLeaf() [2/2]

template<typename LeafContainerT , typename BranchContainerT >
bool pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::existLeaf ( uindex_t idx_x_arg,
uindex_t idx_y_arg,
uindex_t idx_z_arg
) const

Проверяет наличие листового узла в точке (idx_x_arg, idx_y_arg, idx_z_arg).

Параметры
idx_x_arg индекс листового узла по оси X.
idx_y_arg индекс листового узла по оси Y.
idx_z_arg индекс листового узла по оси Z.
Возвращает
"true", если поиск листового узла выполнен успешно; в противном случае возвращается "false".

Определение в строке 143 файла octree_base.hpp.

findLeaf() [1/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
LeafContainerT* pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::findLeaf ( const OctreeKey & key_arg ) const
inlineprotected

Находит листовой узел.

Параметры
key_arg ключ октодерева, указывающий на листовой узел.
Возвращает
указатель на листовой узел. Если листовой узел не найден, этот указатель равен 0.

Определение в строке 498 файла octree_base.h.

Ссылки: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::depth_mask_, pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::findLeafRecursive() и pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::root_node_.

findLeaf() [2/2]

template<typename LeafContainerT , typename BranchContainerT >
LeafContainerT * pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::findLeaf ( uindex_t idx_x_arg,
uindex_t idx_y_arg,
uindex_t idx_z_arg
) const

Находит листовой узел в точке (idx_x_arg, idx_y_arg, idx_z_arg).

Примечание
Если листовой узел уже существует, этот метод возвращает существующий узел
Параметры
idx_x_arg индекс листового узла по оси X.
idx_y_arg индекс листового узла по оси Y.
idx_z_arg индекс листового узла по оси Z.
Возвращает
указатель на контейнер листового узла, если он найден; в противном случае — нулевой указатель.

Определение в строке 115 файла octree_base.hpp.

Используется в: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::existLeaf().

findLeafRecursive()

template<typename LeafContainerT , typename BranchContainerT >
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::findLeafRecursive ( const OctreeKey & key_arg,
uindex_t depth_mask_arg,
BranchNode * branch_arg,
LeafContainerT *& result_arg
) const
protected

Рекурсивно ищет заданный листовой узел и возвращает указатель на него.

Примечание
Если листовой узел не существует, возвращается нулевой указатель.
Параметры
key_arg ссылка на ключ октодерева
depth_mask_arg маска глубины, используемая для анализа ключа октодерева и указания глубины ветви
branch_arg текущий ветвевой узел
result_arg указатель на класс листового узла

Определение в строке 353 файла octree_base.hpp.

Ссылки: pcl::octree::BRANCH_NODE, pcl::octree::OctreeKey::getChildIdxWithDepthMask() и pcl::octree::OctreeNode::getNodeType().

Используется в: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::findLeaf().

fixed_depth_begin() [1/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
FixedDepthIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::fixed_depth_begin ( uindex_t fixed_depth_arg = 0u )
inline

Определение в строке 256 файла octree_base.h.

fixed_depth_begin() [2/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
ConstFixedDepthIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::fixed_depth_begin ( uindex_t fixed_depth_arg = 0u ) const
inline

Определение в строке 262 файла octree_base.h.

fixed_depth_end() [1/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
const FixedDepthIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::fixed_depth_end ( )
inline

Определение в строке 268 файла octree_base.h.

fixed_depth_end() [2/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
const ConstFixedDepthIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::fixed_depth_end ( ) const
inline

Определение в строке 274 файла octree_base.h.

getBranchBitPattern()

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
char pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::getBranchBitPattern ( const BranchNode & branch_arg ) const
inlineprotected

Формирует битовую маску, отражающую наличие указателей на дочерние узлы.

Параметры
branch_arg ссылка на класс ветви октодерева
Возвращает
один байт с 8 битами информации о дочерних узлах

Определение в строке 577 файла octree_base.h.

Ссылки: pcl::octree::OctreeBranchNode< ContainerT >::getChildPtr().

getBranchChildPtr()

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
OctreeNode* pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::getBranchChildPtr ( const BranchNode & branch_arg,
unsigned char child_idx_arg
) const
inlineprotected

Получает указатель на дочерний узел с индексом child_idx.

Параметры
branch_arg ссылка на класс ветви октодерева
child_idx_arg индекс дочернего узла
Возвращает
указатель на класс дочернего узла октодерева

Определение в строке 554 файла octree_base.h.

Ссылки: pcl::octree::OctreeBranchNode< ContainerT >::getChildPtr().

getBranchCount()

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
std::size_t pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::getBranchCount ( ) const
inline

Возвращает количество существующих узлов ветвей в октодереве.

Возвращает
количество узлов ветвей.

Определение в строке 415 файла octree_base.h.

Ссылки на pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::branch_count_.

getLeafCount()

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
std::size_t pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::getLeafCount ( ) const
inline

Возвращает количество существующих листьев в октодереве.

Возвращает
количество зарегистрированных листовых узлов.

Определение в строке 406 файла octree_base.h.

Ссылки на pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::leaf_count_.

getRootNode()

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
OctreeNode* pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::getRootNode ( ) const
inlineprotected

Возвращает корневой узел.

Определение в строке 531 файла octree_base.h.

Ссылки на pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::root_node_.

getTreeDepth()

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
uindex_t pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::getTreeDepth ( ) const
inline

Возвращает максимальную глубину октодерева.

Возвращает
depth_arg: максимальная глубина октодерева

Определение в строке 359 файла octree_base.h.

Ссылки на pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.

leaf_breadth_begin() [1/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
LeafNodeBreadthFirstIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::leaf_breadth_begin ( uindex_t max_depth_arg = 0u )
inline

Определение в строке 285 файла octree_base.h.

Ссылки на pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.

leaf_breadth_begin() [2/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
ConstLeafNodeBreadthFirstIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::leaf_breadth_begin ( uindex_t max_depth_arg = 0u ) const
inline

Определение в строке 292 файла octree_base.h.

Ссылки на pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.

leaf_breadth_end() [1/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
const LeafNodeBreadthFirstIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::leaf_breadth_end ( )
inline

Определение в строке 299 файла octree_base.h.

leaf_breadth_end() [2/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
const ConstLeafNodeBreadthFirstIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::leaf_breadth_end ( ) const
inline

Определение в строке 305 файла octree_base.h.

leaf_depth_begin() [1/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
LeafNodeDepthFirstIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::leaf_depth_begin ( uindex_t max_depth_arg = 0u )
inline

Определение в строке 166 файла octree_base.h.

Ссылки на pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.

leaf_depth_begin() [2/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
ConstLeafNodeDepthFirstIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::leaf_depth_begin ( uindex_t max_depth_arg = 0u ) const
inline

Определение в строке 173 файла octree_base.h.

Ссылки на pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.

leaf_depth_end() [1/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
const LeafNodeDepthFirstIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::leaf_depth_end ( )
inline

Определение в строке 180 файла octree_base.h.

leaf_depth_end() [2/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
const ConstLeafNodeDepthFirstIterator pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::leaf_depth_end ( ) const
inline

Определение в строке 186 файла octree_base.h.

octreeCanResize()

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
bool pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octreeCanResize ( ) const
inlineprotected

Проверяет, может ли октодерево динамически изменять свою глубину.

Это необходимо для адаптивной корректировки ограничивающего параллелепипеда.

Возвращает
"true"

Определение в строке 774 файла octree_base.h.

operator=()

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
OctreeBase& pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::operator= ( const OctreeBase< LeafContainerT, BranchContainerT > & source )
inline

Оператор копирования.

Определение в строке 329 файла octree_base.h.

Ссылки на pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::branch_count_, pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::depth_mask_, pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::dynamic_depth_enabled_, pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::leaf_count_, pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::max_key_, pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_, and pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::root_node_.

removeLeaf() [1/2]

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::removeLeaf ( const OctreeKey & key_arg )
inlineprotected

Удаляет листовой узел из октодерева.

Параметры
key_arg ключ октодерева, указывающий на листовой узел.

Определение в строке 519 файла octree_base.h.

Ссылки на pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::deleteLeafRecursive(), pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::depth_mask_, pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::max_key_, and pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::root_node_.

removeLeaf() [2/2]

template<typename LeafContainerT , typename BranchContainerT >
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::removeLeaf ( uindex_t idx_x_arg,
uindex_t idx_y_arg,
uindex_t idx_z_arg
)

Удаляет листовой узел в точке (idx_x_arg, idx_y_arg, idx_z_arg).

Параметры
idx_x_arg индекс листового узла по оси X.
idx_y_arg индекс листового узла по оси Y.
idx_z_arg индекс листового узла по оси Z.

Определение в строке 157 файла octree_base.hpp.

serializeLeafs()

template<typename LeafContainerT , typename BranchContainerT >
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::serializeLeafs ( std::vector< LeafContainerT * > & leaf_container_vector_arg )

Записывает в вектор все элементы LeafContainerT, хранящиеся в листовых узлах октодерева.

Параметры
leaf_container_vector_arg указатели на вектор LeafContainerT, в который копируются все объекты LeafContainerT из октодерева.

Определение в строке 222 файла octree_base.hpp.

serializeTree() [1/2]

template<typename LeafContainerT , typename BranchContainerT >
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::serializeTree ( std::vector< char > & binary_tree_out_arg ) const

Сериализует октодерево в выходной двоичный вектор, описывающий структуру его узлов ветвей.

Параметры
binary_tree_out_arg ссылка на выходной вектор для записи структуры двоичного дерева.

Определение в строке 185 файла octree_base.hpp.

serializeTree() [2/2]

template<typename LeafContainerT , typename BranchContainerT >
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::serializeTree ( std::vector< char > & binary_tree_out_arg,
std::vector< LeafContainerT * > & leaf_container_vector_arg
) const

Сериализует октодерево в выходной двоичный вектор, описывающий структуру его узлов ветвей, и помещает все элементы LeafContainerT, хранящиеся в октодереве, в вектор.

Параметры
binary_tree_out_arg ссылка на выходной вектор для записи структуры двоичного дерева.
leaf_container_vector_arg указатель на все объекты LeafContainerT в октодереве

Определение в строке 201 файла octree_base.hpp.

serializeTreeCallback()

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
virtual void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::serializeTreeCallback ( LeafContainerT & ,
const OctreeKey &
) const
inlineprotectedvirtual

Функция обратного вызова, выполняемая для каждого узла-листа во время сериализации.

Определение в строке 756 файла octree_base.h.

serializeTreeRecursive()

template<typename LeafContainerT , typename BranchContainerT >
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::serializeTreeRecursive ( const BranchNode * branch_arg,
OctreeKey & key_arg,
std::vector< char > * binary_tree_out_arg,
typename std::vector< LeafContainerT * > * leaf_container_vector_arg
) const
protected

Рекурсивно обходит октодерево и выводит его двоичное описание вместе с вектором LeafContainerT узлов-листьев.

Параметры
branch_arg текущий узел ветвления
key_arg ссылка на ключ октодерева
binary_tree_out_arg выходной двоичный вектор
leaf_container_vector_arg записывает указатели LeafContainerT в этот вектор LeafContainerT*.

Определение в строке 443 файла octree_base.hpp.

setBranchChildPtr()

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::setBranchChildPtr ( BranchNode & branch_arg,
unsigned char child_idx_arg,
OctreeNode * new_child_arg
)
inlineprotected

Назначает узлу ветвления новый дочерний узел.

Параметры
branch_arg ссылка на класс ветви октодерева
child_idx_arg индекс дочернего узла
new_child_arg указатель на новый дочерний узел

Определение в строке 565 файла octree_base.h.

setMaxVoxelIndex()

template<typename LeafContainerT , typename BranchContainerT >
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::setMaxVoxelIndex ( uindex_t max_voxel_index_arg )

Задает максимальное количество вокселей на каждое измерение.

Параметры
[in] max_voxel_index_arg максимальное количество вокселей на каждое измерение

Определение в строке 64 файла octree_base.hpp.

Ссылки: pcl::octree::OctreeKey::maxDepth.

setTreeDepth()

template<typename LeafContainerT , typename BranchContainerT >
void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::setTreeDepth ( uindex_t max_depth_arg )

Задает максимальную глубину октодерева.

Параметры
max_depth_arg максимальная глубина октодерева

Определение в строке 87 файла octree_base.hpp.

Ссылки: pcl::octree::OctreeKey::maxDepth.

Документация дружественных функций и связанных функций

OctreeBreadthFirstIterator< const OctreeT >

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
friend class OctreeBreadthFirstIterator< const OctreeT >
friend

Определение в строке 96 файла octree_base.h.

OctreeBreadthFirstIterator< OctreeT >

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
friend class OctreeBreadthFirstIterator< OctreeT >
friend

Определение в строке 96 файла octree_base.h.

OctreeDepthFirstIterator< const OctreeT >

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
friend class OctreeDepthFirstIterator< const OctreeT >
friend

Определение в строке 96 файла octree_base.h.

OctreeDepthFirstIterator< OctreeT >

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
friend class OctreeDepthFirstIterator< OctreeT >
friend

Определение в строке 96 файла octree_base.h.

OctreeFixedDepthIterator< const OctreeT >

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
friend class OctreeFixedDepthIterator< const OctreeT >
friend

Определение в строке 96 файла octree_base.h.

OctreeFixedDepthIterator< OctreeT >

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
friend class OctreeFixedDepthIterator< OctreeT >
friend

Определение в строке 96 файла octree_base.h.

OctreeIteratorBase< const OctreeT >

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
friend class OctreeIteratorBase< const OctreeT >
friend

Определение в строке 96 файла octree_base.h.

OctreeIteratorBase< OctreeT >

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
friend class OctreeIteratorBase< OctreeT >
friend

Определение в строке 96 файла octree_base.h.

OctreeLeafNodeBreadthFirstIterator< const OctreeT >

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
friend class OctreeLeafNodeBreadthFirstIterator< const OctreeT >
friend

Определение в строке 96 файла octree_base.h.

OctreeLeafNodeBreadthFirstIterator< OctreeT >

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
friend class OctreeLeafNodeBreadthFirstIterator< OctreeT >
friend

Определение в строке 96 файла octree_base.h.

OctreeLeafNodeDepthFirstIterator< const OctreeT >

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
friend class OctreeLeafNodeDepthFirstIterator< const OctreeT >
friend

Определение в строке 96 файла octree_base.h.

OctreeLeafNodeDepthFirstIterator< OctreeT >

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
friend class OctreeLeafNodeDepthFirstIterator< OctreeT >
friend

Определение в строке 96 файла octree_base.h.

Документация по данным-членам

branch_count_

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
std::size_t pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::branch_count_ {1}
protected

Количество узлов ветвления

Определение в строке 81 файла octree_base.h.

Используется в pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::getBranchCount() и pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::operator=().

depth_mask_

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
uindex_t pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::depth_mask_ {0}
protected

Маска глубины, определяемая глубиной октодерева

Определение в строке 87 файла octree_base.h.

Используется в pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::createLeaf(), pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::findLeaf(), pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::operator=() и pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::removeLeaf().

dynamic_depth_enabled_

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
bool pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::dynamic_depth_enabled_ {false}
protected

Включает dynamic_depth.

Определение в строке 93 файла octree_base.h.

Используется в pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::operator=().

leaf_count_

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
std::size_t pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::leaf_count_ {0}
protected

Количество узлов-листьев

Определение в строке 78 файла octree_base.h.

Используется в pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::getLeafCount() и pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::operator=().

max_key_

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
OctreeKey pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::max_key_
protected

Диапазон ключей

Определение в строке 96 файла octree_base.h.

Используется в pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::operator=() и pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::removeLeaf().

octree_depth_

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
uindex_t pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_ {0}
protected

Глубина октодерева.

Определение в строке 90 файла octree_base.h.

Используется в pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::begin(), pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::breadth_begin(), pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::cbegin(), pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::depth_begin(), pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::getTreeDepth(), pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::leaf_breadth_begin(), pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::leaf_depth_begin(), и pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::operator=().

root_node_

template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
BranchNode* pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::root_node_
protected

Указатель на корневой узел-ветвь октодерева

Определение в строке 84 файла octree_base.h.

Используется в pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::createLeaf(), pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::findLeaf(), pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::getRootNode(), pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::operator=() и pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::removeLeaf().


Документация этого класса создана на основе следующих файлов:
  • pcl/octree/octree_base.h
  • pcl/octree/impl/octree_base.hpp

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1octree_1_1_octree_base.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API