Класс Octree. Подробнее...
#include <pcl/octree/octree_base.h>
Открытые функции-члены | |
| 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 | tr>
| Найти листовой узел в точке (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 | tr>
| Проверить существование листового узла в точке (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_ |
| Диапазон ключей Подробнее... |
|
Подробное описание
template<typename LeafContainerT = index_t, typename BranchContainerT = OctreeContainerEmpty>
class pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >
Класс октодерева.
- Примечание
- Глубина дерева определяет максимальное количество вокселей октодерева / листовых узлов (её следует задать изначально).
- Все листовые узлы адресуются целочисленными индексами.
- Глубина дерева соответствует разрядности индексов вокселей.
Определение в строке 62 файла octree_base.h.
Документация по псевдонимам типов-членов
BranchContainer
| using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::BranchContainer = BranchContainerT |
Определение в строке 69 файла octree_base.h.
BranchNode
| using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::BranchNode = OctreeBranchNode<BranchContainerT> |
Определение в строке 66 файла octree_base.h.
BreadthFirstIterator
| using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::BreadthFirstIterator = OctreeBreadthFirstIterator<OctreeT> |
Определение в строке 222 файла octree_base.h.
ConstBreadthFirstIterator
| using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::ConstBreadthFirstIterator = OctreeBreadthFirstIterator<const OctreeT> |
Определение в строке 223 файла octree_base.h.
ConstDepthFirstIterator
| using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::ConstDepthFirstIterator = OctreeDepthFirstIterator<const OctreeT> |
Определение в строке 193 файла octree_base.h.
ConstFixedDepthIterator
| using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::ConstFixedDepthIterator = OctreeFixedDepthIterator<const OctreeT> |
Определение в строке 253 файла octree_base.h.
ConstIterator
| using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::ConstIterator = OctreeDepthFirstIterator<const OctreeT> |
Определение в строке 115 файла octree_base.h.
ConstLeafNodeBreadthFirstIterator
| using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::ConstLeafNodeBreadthFirstIterator = OctreeLeafNodeBreadthFirstIterator<const OctreeT> |
Определение в строке 281 файла octree_base.h.
ConstLeafNodeDepthFirstIterator
| using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::ConstLeafNodeDepthFirstIterator = OctreeLeafNodeDepthFirstIterator<const OctreeT> |
Определение в строке 162 файла octree_base.h.
ConstLeafNodeIterator
| using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::ConstLeafNodeIterator = OctreeLeafNodeDepthFirstIterator<const OctreeT> |
Определение в строке 158 файла octree_base.h.
DepthFirstIterator
| using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::DepthFirstIterator = OctreeDepthFirstIterator<OctreeT> |
Определение в строке 192 файла octree_base.h.
FixedDepthIterator
| using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::FixedDepthIterator = OctreeFixedDepthIterator<OctreeT> |
Определение в строке 252 файла octree_base.h.
Iterator
| using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::Iterator = OctreeDepthFirstIterator<OctreeT> |
Определение в строке 114 файла octree_base.h.
LeafContainer
| using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::LeafContainer = LeafContainerT |
Определение в строке 70 файла octree_base.h.
LeafNode
| using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::LeafNode = OctreeLeafNode<LeafContainerT> |
Определение в строке 67 файла octree_base.h.
LeafNodeBreadthFirstIterator
| using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::LeafNodeBreadthFirstIterator = OctreeLeafNodeBreadthFirstIterator<OctreeT> |
Определение в строке 280 файла octree_base.h.
LeafNodeDepthFirstIterator
| using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::LeafNodeDepthFirstIterator = OctreeLeafNodeDepthFirstIterator<OctreeT> |
Определение в строке 161 файла octree_base.h.
LeafNodeIterator
| using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::LeafNodeIterator = OctreeLeafNodeDepthFirstIterator<OctreeT> |
Определение в строке 157 файла octree_base.h.
OctreeT
| using pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::OctreeT = OctreeBase<LeafContainerT, BranchContainerT> |
Определение в строке 64 файла octree_base.h.
Документация конструкторов и деструкторов
OctreeBase() [1/2]
| pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::OctreeBase |
Конструктор без параметров.
Определение в строке 48 файла octree_base.hpp.
~OctreeBase()
| virtual |
Деструктор без дополнительных действий.
Определение в строке 54 файла octree_base.hpp.
OctreeBase() [2/2]
| inline |
Конструктор копирования.
Определение в строке 317 файла octree_base.h.
Документация функций-членов
begin() [1/2]
| inline |
Определение в строке 118 файла octree_base.h.
Ссылки: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.
begin() [2/2]
| inline |
Определение в строке 124 файла octree_base.h.
Ссылки: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.
branchHasChild()
| inlineprotected |
Проверяет, указывает ли ветвь на определённый дочерний узел.
- Параметры
-
branch_arg ссылка на класс ветви октодерева child_idx_arg индекс дочернего узла
- Возвращает
- "true", если указатель на дочерний узел существует; в противном случае — "false"
Определение в строке 542 файла octree_base.h.
Ссылки: pcl::octree::OctreeBranchNode< ContainerT >::getChildPtr().
breadth_begin() [1/2]
| inline |
Определение в строке 226 файла octree_base.h.
Ссылки: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.
breadth_begin() [2/2]
| inline |
Определение в строке 233 файла octree_base.h.
Ссылки: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.
breadth_end() [1/2]
| inline |
Определение в строке 240 файла octree_base.h.
breadth_end() [2/2]
| inline |
Определение в строке 246 файла octree_base.h.
cbegin()
| inline |
Определение в строке 130 файла octree_base.h.
Ссылки: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.
cend()
| inline |
Определение в строке 148 файла octree_base.h.
createBranchChild()
| inlineprotected |
Создать и добавить новую ветвь-потомок в класс ветви.
- Параметры
-
branch_arg ссылка на класс ветви октодерева child_idx_arg индекс узла-потомка
- Возвращает
- указатель на новую ветвь-потомок для этой ссылки
Определение в строке 640 файла octree_base.h.
createLeaf() [1/2]
| 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]
| 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()
| inlineprotected |
Создать и добавить новый листовой узел-потомок в класс ветви.
- Параметры
-
branch_arg ссылка на класс ветви октодерева child_idx_arg индекс узла-потомка
- Возвращает
- указатель на новый листовой узел-потомок для этой ссылки
Определение в строке 654 файла octree_base.h.
createLeafRecursive()
| uindex_t | depth_mask_arg, | |||||
| BranchNode * | branch_arg, | ||||||
| LeafNode *& | return_leaf_arg, | ||||||
| BranchNode *& | parent_of_leaf_arg | ||||||
| ) |
Создать листовой узел по ключу октодерева.
Если листовой узел уже существует, он возвращается.
- Параметры
-
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()
| inlineprotected |
Удалить ветвь и всех её потомков из октодерева.
- Параметры
-
branch_arg ссылка на класс ветви октодерева
Определение в строке 627 файла octree_base.h.
Ссылки: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::deleteBranchChild().
Используется в pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::deleteBranchChild().
deleteBranchChild()
| 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()
| uindex_t | depth_mask_arg, | |||||
| BranchNode * | branch_arg | ||||||
| ) |
Рекурсивно найти и удалить листовой узел.
- Параметры
-
key_arg ссылка на ключ октодерева depth_mask_arg маска глубины, используемая для анализа ключа октодерева и обозначения глубины ветви branch_arg текущий узел-ветвь
- Возвращает
- «true», если текущая ветвь содержит дочерние узлы; в противном случае — «false». Если результат true, текущую ветвь нельзя удалить.
Определение в строке 391 файла octree_base.hpp.
Используется в pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::removeLeaf().
deleteTree()
| void pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::deleteTree |
Удалить структуру октодерева и его листовые узлы.
Определение в строке 171 файла octree_base.hpp.
depth_begin() [1/2]
| inline |
Определение в строке 196 файла octree_base.h.
Ссылки: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.
depth_begin() [2/2]
| inline |
Определение в строке 203 файла octree_base.h.
Ссылки: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.
depth_end() [1/2]
| inline |
Определение в строке 210 файла octree_base.h.
depth_end() [2/2]
| inline |
Определение в строке 216 файла octree_base.h.
deserializeTree() [1/2]
| 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]
| 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()
| inlineprotectedvirtual |
Обратный вызов, выполняемый для каждого листового узла во время десериализации.
Определение в строке 762 файла octree_base.h.
deserializeTreeRecursive()
| 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]
| inline |
Определение в строке 136 файла octree_base.h.
end() [2/2]
| inline |
Определение в строке 142 файла octree_base.h.
existLeaf() [1/2]
| inlineprotected |
Проверяет наличие листового узла в октодереве.
- Параметры
-
key_arg ключ октодерева, указывающий на листовой узел.
- Возвращает
- "true", если листовой узел найден; в противном случае — "false"
Определение в строке 510 файла octree_base.h.
Ссылки: pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::findLeaf().
existLeaf() [2/2]
| 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]
| 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]
| 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()
| 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]
| inline |
Определение в строке 256 файла octree_base.h.
fixed_depth_begin() [2/2]
| inline |
Определение в строке 262 файла octree_base.h.
fixed_depth_end() [1/2]
| inline |
Определение в строке 268 файла octree_base.h.
fixed_depth_end() [2/2]
| inline |
Определение в строке 274 файла octree_base.h.
getBranchBitPattern()
| inlineprotected |
Формирует битовую маску, отражающую наличие указателей на дочерние узлы.
- Параметры
-
branch_arg ссылка на класс ветви октодерева
- Возвращает
- один байт с 8 битами информации о дочерних узлах
Определение в строке 577 файла octree_base.h.
Ссылки: pcl::octree::OctreeBranchNode< ContainerT >::getChildPtr().
getBranchChildPtr()
| inlineprotected |
Получает указатель на дочерний узел с индексом child_idx.
- Параметры
-
branch_arg ссылка на класс ветви октодерева child_idx_arg индекс дочернего узла
- Возвращает
- указатель на класс дочернего узла октодерева
Определение в строке 554 файла octree_base.h.
Ссылки: pcl::octree::OctreeBranchNode< ContainerT >::getChildPtr().
getBranchCount()
| inline |
Возвращает количество существующих узлов ветвей в октодереве.
- Возвращает
- количество узлов ветвей.
Определение в строке 415 файла octree_base.h.
Ссылки на pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::branch_count_.
getLeafCount()
| inline |
Возвращает количество существующих листьев в октодереве.
- Возвращает
- количество зарегистрированных листовых узлов.
Определение в строке 406 файла octree_base.h.
Ссылки на pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::leaf_count_.
getRootNode()
| inlineprotected |
Возвращает корневой узел.
Определение в строке 531 файла octree_base.h.
Ссылки на pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::root_node_.
getTreeDepth()
| inline |
Возвращает максимальную глубину октодерева.
- Возвращает
- depth_arg: максимальная глубина октодерева
Определение в строке 359 файла octree_base.h.
Ссылки на pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.
leaf_breadth_begin() [1/2]
| inline |
Определение в строке 285 файла octree_base.h.
Ссылки на pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.
leaf_breadth_begin() [2/2]
| inline |
Определение в строке 292 файла octree_base.h.
Ссылки на pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.
leaf_breadth_end() [1/2]
| inline |
Определение в строке 299 файла octree_base.h.
leaf_breadth_end() [2/2]
| inline |
Определение в строке 305 файла octree_base.h.
leaf_depth_begin() [1/2]
| inline |
Определение в строке 166 файла octree_base.h.
Ссылки на pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.
leaf_depth_begin() [2/2]
| inline |
Определение в строке 173 файла octree_base.h.
Ссылки на pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::octree_depth_.
leaf_depth_end() [1/2]
| inline |
Определение в строке 180 файла octree_base.h.
leaf_depth_end() [2/2]
| inline |
Определение в строке 186 файла octree_base.h.
octreeCanResize()
| inlineprotected |
Проверяет, может ли октодерево динамически изменять свою глубину.
Это необходимо для адаптивной корректировки ограничивающего параллелепипеда.
- Возвращает
- "true"
Определение в строке 774 файла octree_base.h.
operator=()
| 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]
| 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]
| 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()
| 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]
| 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]
| 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()
| inlineprotectedvirtual |
Функция обратного вызова, выполняемая для каждого узла-листа во время сериализации.
Определение в строке 756 файла octree_base.h.
serializeTreeRecursive()
| protected |
Рекурсивно обходит октодерево и выводит его двоичное описание вместе с вектором LeafContainerT узлов-листьев.
- Параметры
-
branch_arg текущий узел ветвления key_arg ссылка на ключ октодерева binary_tree_out_arg выходной двоичный вектор leaf_container_vector_arg записывает указатели LeafContainerT в этот вектор LeafContainerT*.
Определение в строке 443 файла octree_base.hpp.
setBranchChildPtr()
| inlineprotected |
Назначает узлу ветвления новый дочерний узел.
- Параметры
-
branch_arg ссылка на класс ветви октодерева child_idx_arg индекс дочернего узла new_child_arg указатель на новый дочерний узел
Определение в строке 565 файла octree_base.h.
setMaxVoxelIndex()
| 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()
| 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 >
| friend |
Определение в строке 96 файла octree_base.h.
OctreeBreadthFirstIterator< OctreeT >
| friend |
Определение в строке 96 файла octree_base.h.
OctreeDepthFirstIterator< const OctreeT >
| friend |
Определение в строке 96 файла octree_base.h.
OctreeDepthFirstIterator< OctreeT >
| friend |
Определение в строке 96 файла octree_base.h.
OctreeFixedDepthIterator< const OctreeT >
| friend |
Определение в строке 96 файла octree_base.h.
OctreeFixedDepthIterator< OctreeT >
| friend |
Определение в строке 96 файла octree_base.h.
OctreeIteratorBase< const OctreeT >
| friend |
Определение в строке 96 файла octree_base.h.
OctreeIteratorBase< OctreeT >
| friend |
Определение в строке 96 файла octree_base.h.
OctreeLeafNodeBreadthFirstIterator< const OctreeT >
| friend |
Определение в строке 96 файла octree_base.h.
OctreeLeafNodeBreadthFirstIterator< OctreeT >
| friend |
Определение в строке 96 файла octree_base.h.
OctreeLeafNodeDepthFirstIterator< const OctreeT >
| friend |
Определение в строке 96 файла octree_base.h.
OctreeLeafNodeDepthFirstIterator< OctreeT >
| friend |
Определение в строке 96 файла octree_base.h.
Документация по данным-членам
branch_count_
| protected |
Количество узлов ветвления
Определение в строке 81 файла octree_base.h.
Используется в pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::getBranchCount() и pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::operator=().
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_
| protected |
Включает dynamic_depth.
Определение в строке 93 файла octree_base.h.
Используется в pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::operator=().
leaf_count_
| protected |
Количество узлов-листьев
Определение в строке 78 файла octree_base.h.
Используется в pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::getLeafCount() и pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::operator=().
max_key_
| protected |
Диапазон ключей
Определение в строке 96 файла octree_base.h.
Используется в pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::operator=() и pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >::removeLeaf().
octree_depth_
| 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_
| 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
