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 >

Общедоступные методы

Итератор begin (uindex_t max_depth_arg=0u)
Постоянный итератор begin (uindex_t max_depth_arg=0u) const
Постоянный итератор cbegin (uindex_t max_depth_arg=0u) const
const Итератор end ()
const Постоянный итератор 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_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
Рекурсивно исследует октодерево и выводит двоичное описание октодерева вместе со списком узлов листьев LeafContainerTs. Подробнее...
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_
Количество листов узлов
Подробнее...
std::size_t branch_count_
Количество узлов ветвей
Подробнее...
BranchNode * root_node_
Указатель на корневой узел ветви octree
Подробнее...
uindex_t depth_mask_
Маска глубины, основанная на глубине octree
Подробнее...
uindex_t octree_depth_
Глубина октодерева. Подробнее...
bool dynamic_depth_enabled_
Включить 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 >

Класс Octree.

Примечание
Глубина дерева определяет максимальное количество ячеек октодерева / узлов листа (должно быть определено изначально).
Все узлы листа адресованы целочисленными индексами.
Глубина дерева эквивалентна длине в битах индексов ячеек.
Автор
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.

ИтераторBreadthFirst

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

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

ПостоянныйИтераторBreadthFirst

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>

Definition at line 253 of file 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.

Итератор глубины

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

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

Итератор с фиксированной глубиной

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

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

Итератор

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

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

Контейнер листов

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

Definition at line 70 of file octree_base.h.

УзелЛиста

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

Definition at line 67 of file octree_base.h.

Итератор узлов листа в ширину

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

Пустой деструктор.

Определение в строке 59 файла 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.

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

Definition at line 124 of file octree_base.h.

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.

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.

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.

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 ссылка на класс ветви octree
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.
Возвращает
указатель на новый контейнер узла листа.

Определение в строке 119 файла 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 ссылка на класс ветви octree
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 возвращаемый указатель на родителя листа-узла
Возвращает
маска глубины, в которой был создан лист-узел

Определение в строке 285 файла 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", текущая ветвь не может быть удалена.

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

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

deleteTree()

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

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

Определение в строке 161 файла 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.

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

Definition at line 203 of file octree_base.h.

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 ссылка на входной вектор для чтения структуры двоичного дерева.

Определение в строке 228 файла 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 указатель на вектор контейнера.

Определение в строке 252 файла 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.

Определение в строке 492 файла 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_x_arg, idx_y_arg, idx_z_arg).

Parameters
idx_x_arg индекс узла листа по оси X.
idx_y_arg индекс узла листа по оси Y.
idx_z_arg индекс узла листа по оси Z.
Returns
"true", если узел листа найден, иначе возвращает "false".

Definition at line 133 of file 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 ключ octree, указывающий на узел листа.
Возвращает
указатель на узел листа. Если узел листа не найден, этот указатель возвращает 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.
Возвращает
указатель на контейнер узла листа, если найден, в противном случае — нулевой указатель.

Определение в строке 105 файла 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

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

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

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

Используется в 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

Definition at line 256 of file 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

Definition at line 262 of file 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 ссылка на класс ветви octree
child_idx_arg индекс узла-потомка
Возвращает
указатель на класс узла-потомка octree

Определение в строке 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_.

END_OF_DOCUMENT_MARKER

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

Definition at line 285 of file octree_base.h.

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

Definition at line 292 of file octree_base.h.

leaf_breadth_end() [1/2]

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

Definition at line 299 of file 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

Definition at line 305 of file 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

Definition at line 166 of file octree_base.h.

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

Definition at line 173 of file octree_base.h.

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_, и 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_ и 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.

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

serializeLeafs()

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

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

Parameters
leaf_container_vector_arg указатели на вектор LeafContainerT, который получает копию всех объектов LeafContainerT в ок-дереве.

Определение в строке 212 файла 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

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

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

Определение в строке 175 файла 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, хранящиеся в дереве октального разбиения, в вектор.

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

Определение в строке 191 файла 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

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

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

Определение в строке 435 файла 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 ссылка на класс ветви octree
child_idx_arg индекс дочернего узла
new_child_arg указатель на новый дочерний узел

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

Установить максимальный индекс вокселя()

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

Установить максимальное количество объёмов на сторону.

Параметры
[in] max_voxel_index_arg максимальное количество объёмов на сторону

Определение в строке 69 файла 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_
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_
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_
protected

Включить динамическую глубину.

Определение в строке 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_
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_
protected

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

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

Используется в pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::getTreeDepth() и 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