Октодерево класс вокселей облака точек, который поддерживает информацию об аджаценции для своих вокселей. Подробнее...
#include <pcl/octree/octree_pointcloud_adjacency.h>
Публичные типы | |
| using | OctreeBaseT = OctreeBase< LeafContainerT, BranchContainerT > |
| using | OctreeAdjacencyT = OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT > |
| using | Ptr = shared_ptr< OctreeAdjacencyT > |
| using | ConstPtr = shared_ptr< const OctreeAdjacencyT > |
| using | OctreePointCloudT = OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeBaseT > |
| using | LeafNode = typename OctreePointCloudT::LeafNode |
| using | BranchNode = typename OctreePointCloudT::BranchNode |
| using | PointCloud = pcl::PointCloud< PointT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | VoxelAdjacencyList = boost::adjacency_list< boost::setS, boost::setS, boost::undirectedS, PointT, float > |
| using | VoxelID = typename VoxelAdjacencyList::vertex_descriptor |
| using | EdgeID = typename VoxelAdjacencyList::edge_descriptor |
| using | LeafVectorT = std::vector< LeafContainerT * > |
| using | iterator = typename LeafVectorT::iterator |
| using | const_iterator = typename LeafVectorT::const_iterator |
|
| |
| using | Base = OctreeBase< OctreePointCloudAdjacencyContainer< PointT >, OctreeContainerEmpty > |
| using | LeafNode = typename OctreeT::LeafNode |
| using | BranchNode = typename OctreeT::BranchNode |
| using | IndicesPtr = shared_ptr< Indices > |
| using | IndicesConstPtr = shared_ptr< const Indices > |
| using | PointCloud = pcl::PointCloud< PointT > |
| 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 () |
| итератор | end () |
| LeafContainerT * | at (std::size_t idx) |
| std::size_t | size () const |
| OctreePointCloudAdjacency (const double resolution_arg) | |
| Конструктор. Подробнее... |
|
| void | addPointsFromInputCloud () |
| Добавляет точки из облака в октрее. Подробнее... |
|
| LeafContainerT * | getLeafContainerAtPoint (const PointT &point_arg) const |
| Получает контейнер листа для заданной точки. Подробнее... |
|
| void | computeVoxelAdjacencyGraph (VoxelAdjacencyList &voxel_adjacency_graph) |
| Вычисляет граф смежности ячеек. Подробнее... |
|
| void | setTransformFunction (std::function< void(PointT &p)> transform_func) |
| Устанавливает преобразование точки (и обратное) для преобразования пространства входного облака. Подробнее... |
|
| bool | testForOcclusion (const PointT &point_arg, const PointXYZ &camera_pos=PointXYZ(0, 0, 0)) |
| Проверяет, скрыта ли входная точка от заданной точки камеры другими ячейками. Подробнее... |
|
|
| |
| OctreePointCloud (const double resolution_arg) | |
| Конструктор октрее облака точек. Подробнее... |
|
| void | setInputCloud (const PointCloudConstPtr &cloud_arg, const IndicesConstPtr &indices_arg=IndicesConstPtr()) |
| Предоставляем указатель на входной набор данных. Подробнее... |
|
| IndicesConstPtr const | getIndices () const |
| Получить указатель на вектор индексов, используемых. Подробнее... |
|
| PointCloudConstPtr | getInputCloud () const |
| Получить указатель на входное облако точек. Подробнее... |
|
| void | setEpsilon (double eps) |
| Установить точность поиска epsilon (границу ошибки) для поиска ближайших соседей. Подробнее... |
|
| double | getEpsilon () const |
| Получить точность поиска по эпсилон (предел ошибки) для поиска ближайших соседей. Подробнее... |
|
| void | setResolution (double resolution_arg) |
| Установить/изменить разрешение ячейки ок-дерева. Подробнее... |
|
| double | getResolution () const |
| Получить разрешение ячейки ок-дерева. Подробнее... |
|
| uindex_t | getTreeDepth () const |
| Получить максимальную глубину ок-дерева. Подробнее... |
|
| void | addPointsFromInputCloud () |
| Добавить точки из входного облака точек в ок-дерево. Подробнее... |
|
| void | addPointFromCloud (uindex_t point_idx_arg, IndicesPtr indices_arg) |
| Добавить точку по заданному индексу из входного облака точек в ок-дерево. Подробнее... |
|
| void | addPointToCloud (const PointT &point_arg, PointCloudPtr cloud_arg) |
| Добавить точку одновременно в ок-дерево и входное облако точек. Подробнее... |
|
| void | addPointToCloud (const PointT &point_arg, PointCloudPtr cloud_arg, IndicesPtr indices_arg) |
| Добавить точку одновременно в ок-дерево и входное облако точек. Подробнее... |
|
| bool | isVoxelOccupiedAtPoint (const PointT &point_arg) const |
| Проверить, существует ли ячейка в заданной точке. Подробнее... |
|
| bool | isVoxelOccupiedAtPoint (const double point_x_arg, const double point_y_arg, const double point_z_arg) const |
| Проверить, существует ли ячейка в заданных координатах точки. Подробнее... |
|
| bool | isVoxelOccupiedAtPoint (const index_t &point_idx_arg) const |
| Проверить, существует ли ячейка в заданной точке из входного облака. Подробнее... |
|
| void | deleteTree () |
| Удалить структуру ок-дерева и его узлы листьев. Подробнее... |
|
| uindex_t | getOccupiedVoxelCenters (AlignedPointTVector &voxel_center_list_arg) const |
| Получить вектор PointT координат центров всех занятых ячеек. Подробнее... |
|
| uindex_t | getApproxIntersectedVoxelCentersBySegment (const Eigen::Vector3f &origin, const Eigen::Vector3f &end, AlignedPointTVector &voxel_center_list, float precision=0.2) |
| Получить вектор PointT координат центров объёмов, пересечённых отрезком прямой. Подробнее... |
|
| void | deleteVoxelAtPoint (const PointT &point_arg) |
| Удалить лист узла/объём в заданной точке. Подробнее... |
|
| void | deleteVoxelAtPoint (const index_t &point_idx_arg) |
| Удалить лист узла/объём в заданной точке из входного облака. Подробнее... |
|
| void | defineBoundingBox () |
| Исследовать размеры набора данных точек и определить соответствующую ограничивающую рамку для октодерева. Подробнее... |
|
| void | defineBoundingBox (const double min_x_arg, const double min_y_arg, const double min_z_arg, const double max_x_arg, const double max_y_arg, const double max_z_arg) |
| Определить ограничивающую рамку для октодерева. Подробнее... |
|
| void | defineBoundingBox (const double max_x_arg, const double max_y_arg, const double max_z_arg) |
| Определить ограничивающую рамку для октодерева. Подробнее... |
|
| void | defineBoundingBox (const double cubeLen_arg) |
| Определить кубообразную ограничивающую рамку для октодерева. Подробнее... |
|
| void | getBoundingBox (double &min_x_arg, double &min_y_arg, double &min_z_arg, double &max_x_arg, double &max_y_arg, double &max_z_arg) const |
| Получить ограничивающую рамку октодерева. Подробнее... |
|
| double | getVoxelSquaredDiameter (uindex_t tree_depth_arg) const |
| Вычисляет квадрат диаметра объёма на заданной глубине дерева. Подробнее... |
|
| double | getVoxelSquaredDiameter () const |
| Вычисляет квадрат диаметра объёма на глубине листа. Подробнее... |
|
| double | getVoxelSquaredSideLen (uindex_t tree_depth_arg) const |
| Вычисляет квадрат длины стороны куба объёма на заданной глубине дерева. Подробнее... |
|
| double | getVoxelSquaredSideLen () const |
| Вычисляет квадрат длины стороны куба объёма на уровне листа. Подробнее... |
|
| 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) |
| Разобрать описание двоичного октодерева и создать соответствующую структуру октодерева. Подробнее... |
|
Защищённые члены класса | |
| void | addPointIdx (uindex_t point_idx_arg) override |
| Добавление точки с указанным индексом из набора точек в ок-дерево. Подробнее... |
|
| void | computeNeighbors (OctreeKey &key_arg, LeafContainerT *leaf_container) |
| Заполнение полей соседей для новых ячеек. Подробнее... |
|
| void | genOctreeKeyforPoint (const PointT &point_arg, OctreeKey &key_arg) const |
| Генерирует ключ ок-дерева для заданной точки (использует преобразование, если оно задано). Подробнее... |
|
|
| |
| void | expandLeafNode (LeafNode *leaf_node, BranchNode *parent_branch, unsigned char child_idx, uindex_t depth_mask) |
| Добавление точки с указанным индексом из набора точек в ок-дерево. Подробнее... |
|
| const PointT & | getPointByIndex (uindex_t index_arg) const |
| Получение точки по индексу из набора точек. Подробнее... |
|
| OctreePointCloudAdjacencyContainer< PointT > * | findLeafAtPoint (const PointT &point_arg) const |
| Поиск узла ок-дерева в заданной точке. Подробнее... |
|
| void | getKeyBitSize () |
| Определение размера ключа ок-дерева и глубины ок-дерева на основе заданного прямоугольника. Подробнее... |
|
| void | adoptBoundingBoxToPoint (const PointT &point_idx_arg) |
| Расширение прямоугольника/ок-дерева до включения точки. Подробнее... |
|
| bool | isPointWithinBoundingBox (const PointT &point_idx_arg) const |
| Проверка, находится ли заданная точка внутри прямоугольника ок-дерева. Подробнее... |
|
| void | genOctreeKeyforPoint (const PointT &point_arg, OctreeKey &key_arg) const |
| Генерирует ключ ок-дерева для ячейки в заданной точке. Подробнее... |
|
| void | genOctreeKeyforPoint (const double point_x_arg, const double point_y_arg, const double point_z_arg, OctreeKey &key_arg) const |
| Генерирует ключ ок-дерева для ячейки в заданной точке. Подробнее... |
|
| virtual bool | genOctreeKeyForDataT (const index_t &data_arg, OctreeKey &key_arg) const |
| Виртуальный метод для генерации ключа ок-дерева для заданного индекса точки. Подробнее... |
|
| void | genLeafNodeCenterFromOctreeKey (const OctreeKey &key_arg, PointT &point_arg) const |
| Генерация точки в центре вокселя узла листа. Подробнее... |
|
| void | genVoxelCenterFromOctreeKey (const OctreeKey &key_arg, uindex_t tree_depth_arg, PointT &point_arg) const |
| Генерация точки в центре вокселя octree на заданном уровне дерева. Подробнее... |
|
| void | genVoxelBoundsFromOctreeKey (const OctreeKey &key_arg, uindex_t tree_depth_arg, Eigen::Vector3f &min_pt, Eigen::Vector3f &max_pt) const |
| Генерация границ вокселя octree с использованием ключа octree и аргумента глубины дерева. Подробнее... |
|
| uindex_t | getOccupiedVoxelCentersRecursive (const BranchNode *node_arg, const OctreeKey &key_arg, AlignedPointTVector &voxel_center_list_arg) const |
| Рекурсивный поиск всех узлов листа в дереве и возвращение вектора центров вокселей. Подробнее... |
|
|
| |
| LeafContainerT * | createLeaf (const OctreeKey &key_arg) |
| Создание узла листа. Подробнее... |
|
| LeafContainerT * | findLeaf (const OctreeKey &key_arg) const |
| Поиск узла листа. Подробнее... |
|
| bool | existLeaf (const OctreeKey &key_arg) const |
| Проверка существования узла листа в octree. Подробнее... |
|
| void | removeLeaf (const OctreeKey &key_arg) |
| Удаление узла листа из octree. Подробнее... |
|
| 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) |
| Назначить новый дочерний узел ветви. More... |
|
| char | getBranchBitPattern (const BranchNode &branch_arg) const |
| Сгенерировать битовую маску, отражающую наличие указателей на дочерние узлы. More... |
|
| void | deleteBranchChild (BranchNode &branch_arg, unsigned char child_idx_arg) |
| Удалить дочерний узел и все его подузлы из октри. More... |
|
| void | deleteBranch (BranchNode &branch_arg) |
| Удалить ветвь и все ее подузлы из октри. More... |
|
| BranchNode * | createBranchChild (BranchNode &branch_arg, unsigned char child_idx_arg) |
| Создать и добавить новый дочерний узел ветви к классу ветви. More... |
|
| LeafNode * | createLeafChild (BranchNode &branch_arg, unsigned char child_idx_arg) |
| Создать и добавить новый дочерний узел листа к классу ветви. More... |
|
| uindex_t | createLeafRecursive (const OctreeKey &key_arg, uindex_t depth_mask_arg, BranchNode *branch_arg, LeafNode *&return_leaf_arg, BranchNode *&parent_of_leaf_arg) |
| Создать узел листа по ключу октри. More... |
|
| void | findLeafRecursive (const OctreeKey &key_arg, uindex_t depth_mask_arg, BranchNode *branch_arg, LeafContainerT *&result_arg) const |
| Рекурсивно искать заданный узел листа и вернуть указатель. More... |
|
| bool | deleteLeafRecursive (const OctreeKey &key_arg, uindex_t depth_mask_arg, BranchNode *branch_arg) |
| Рекурсивно искать и удалить узел листа. More... |
|
| 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. More... |
|
| 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) |
| Рекурсивный метод для десериализации структуры октри. More... |
|
| virtual void | serializeTreeCallback (LeafContainerT &, const OctreeKey &) const |
| Обработчик, вызываемый для каждого листового узла во время сериализации. Подробнее... |
|
| virtual void | deserializeTreeCallback (LeafContainerT &, const OctreeKey &) |
| Обработчик, вызываемый для каждого листового узла во время десериализации. Подробнее... |
|
| bool | octreeCanResize () const |
| Проверка возможности динамического изменения глубины ок-дерева. Подробнее... |
|
Дополнительные унаследованные члены | |
|
| |
| PointCloudConstPtr | input_ |
| Указатель на входной набор данных облака точек. Подробнее... |
|
| IndicesConstPtr | indices_ |
| Указатель на вектор индексов точек для использования. Подробнее... |
|
| double | epsilon_ |
| Точность (предел ошибки) для поиска ближайших соседей. Подробнее... |
|
| double | resolution_ |
| Разрешение октодерева. Подробнее... |
|
| double | min_x_ |
| double | max_x_ |
| double | min_y_ |
| double | max_y_ |
| double | min_z_ |
| double | max_z_ |
| bool | bounding_box_defined_ |
| Флаг, указывающий, определена ли у октодерева ограничивающая рамка. Подробнее... |
|
| std::size_t | max_objs_per_leaf_ |
| Количество объектов DataT на листе перед расширением ветви. Подробнее... |
|
|
| |
| std::size_t | leaf_count_ |
| Количество листов Подробнее... |
|
| std::size_t | branch_count_ |
| Количество узлов ветвей Подробнее... |
|
| BranchNode * | root_node_ |
| Указатель на корневой узел ветви октодерева Подробнее... |
|
| uindex_t | depth_mask_ |
| Маска глубины на основе глубины октодерева Подробнее... |
|
| uindex_t | octree_depth_ |
| Глубина октодерева. Подробнее... |
|
| bool | dynamic_depth_enabled_ |
| Включить динамическую глубину. Подробнее... |
|
| OctreeKey | max_key_ |
| Диапазон ключей Подробнее... |
|
Подробное описание
шаблон<typename PointT, typename LeafContainerT = OctreePointCloudAdjacencyContainer<PointT>, typename BranchContainerT = OctreeContainerEmpty>
класс pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >
Класс октодерева облака точек, который сохраняет информацию о смежности для своих объемов.
Этот класс октодерева облака точек генерирует октодерево из облака точек (без копирования). Октодерево облака точек инициализируется с разрешением своего объема. Его ограничивающая коробка автоматически подстраивается или может быть предварительно определена.
Класс OctreePointCloudAdjacencyContainer можно использовать для хранения данных в узлах листьев.
Можно указать необязательную функцию преобразования, которая изменяет способ вычисления сетки объемов - это можно использовать, например, для увеличения размеров объемов ячеек по мере увеличения их расстояния от начала координат (камеры).
- Примечание
- См. SupervoxelClustering для примера того, как предоставить функцию преобразования.
Если вы используете это в научной работе, пожалуйста, процитируйте:
- J. Papon, A. Abramov, M. Schoeler, F. Woergoetter Voxel Cloud Connectivity Segmentation - Supervoxels from PointClouds В материалах конференции IEEE по компьютерному зрению и распознаванию образов (CVPR) 2013
Определение в строке 78 файла octree_pointcloud_adjacency.h.
Документация по typedef-членам
BranchNode
| используемый pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::BranchNode = typename OctreePointCloudT::BranchNode |
Определение в строке 92 файла octree_pointcloud_adjacency.h.
const_iterator
| используемый pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::const_iterator = typename LeafVectorT::const_iterator |
Определение в строке 109 файла octree_pointcloud_adjacency.h.
ConstPtr
| используемый pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::ConstPtr = shared_ptr<const OctreeAdjacencyT> |
Определение в строке 87 файла octree_pointcloud_adjacency.h.
EdgeID
| используемый pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::EdgeID = typename VoxelAdjacencyList::edge_descriptor |
Определение в строке 102 файла octree_pointcloud_adjacency.h.
iterator
| используемый pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::iterator = typename LeafVectorT::iterator |
Определение в строке 108 файла octree_pointcloud_adjacency.h.
LeafNode
| using pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::LeafNode = typename OctreePointCloudT::LeafNode |
Definition at line 91 of file octree_pointcloud_adjacency.h.
LeafVectorT
| using pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::LeafVectorT = std::vector<LeafContainerT*> |
Definition at line 105 of file octree_pointcloud_adjacency.h.
OctreeAdjacencyT
| using pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::OctreeAdjacencyT = OctreePointCloudAdjacency<PointT, LeafContainerT, BranchContainerT> |
Definition at line 84 of file octree_pointcloud_adjacency.h.
OctreeBaseT
| using pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::OctreeBaseT = OctreeBase<LeafContainerT, BranchContainerT> |
Definition at line 82 of file octree_pointcloud_adjacency.h.
OctreePointCloudT
| using pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::OctreePointCloudT = OctreePointCloud<PointT, LeafContainerT, BranchContainerT, OctreeBaseT> |
Definition at line 89 of file octree_pointcloud_adjacency.h.
PointCloud
| using pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::PointCloud = pcl::PointCloud<PointT> |
Definition at line 94 of file octree_pointcloud_adjacency.h.
PointCloudConstPtr
| using pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::PointCloudConstPtr = typename PointCloud::ConstPtr |
Definition at line 96 of file octree_pointcloud_adjacency.h.
PointCloudPtr
| using pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::PointCloudPtr = typename PointCloud::Ptr |
Definition at line 95 of file octree_pointcloud_adjacency.h.
Ptr
| using pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::Ptr = shared_ptr<OctreeAdjacencyT> |
Definition at line 86 of file octree_pointcloud_adjacency.h.
VoxelAdjacencyList
| using pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::VoxelAdjacencyList = boost:: adjacency_list<boost::setS, boost::setS, boost::undirectedS, PointT, float> |
Определение в строке 99 файла octree_pointcloud_adjacency.h.
VoxelID
| using pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::VoxelID = typename VoxelAdjacencyList::vertex_descriptor |
Определение в строке 101 файла octree_pointcloud_adjacency.h.
Конструктор и деструктор
OctreePointCloudAdjacency()
| pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::OctreePointCloudAdjacency | ( | const double | resolution_arg | ) |
Конструктор.
- Параметры
-
[in] resolution_arg Разрешение октального дерева на нижнем уровне (размер вокселя)
Определение в строке 54 файла octree_pointcloud_adjacency.hpp.
Документация функций-членов
addPointIdx()
| overrideprotectedvirtual |
Добавление точки по индексу из входного набора точек в октальное дерево.
- Параметры
-
[in] point_idx_arg Индекс, представляющий точку в наборе данных, заданном методом setInputCloud()
- Примечание
- Это виртуальная реализация, позволяющая использовать функцию преобразования для вычисления ключей.
Переопределяет метод pcl::octree::OctreePointCloud< PointT, OctreePointCloudAdjacencyContainer< PointT >, OctreeContainerEmpty >.
Определение в строке 149 файла octree_pointcloud_adjacency.hpp.
Ссылки на pcl::isFinite().
addPointsFromInputCloud()
| void pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::addPointsFromInputCloud |
Добавляет точки из облака в октальное дерево.
- Примечание
- Это переопределяет addPointsFromInputCloud() из класса OctreePointCloud.
Определение в строке 65 файла octree_pointcloud_adjacency.hpp.
Ссылки на pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::addPointsFromInputCloud() и pcl::isFinite().
at()
| inline |
Определение в строке 122 файла octree_pointcloud_adjacency.h.
begin()
| inline |
Определение в строке 112 файла octree_pointcloud_adjacency.h.
computeNeighbors()
| protected |
Заполняет поля соседей для новых объёмов.
- Parameters
-
[in] key_arg Ключ объёма для проверки соседей [in] leaf_container Указатель на контейнер листа для проверки соседей
Определение в строке 170 файла octree_pointcloud_adjacency.hpp.
Ссылается на pcl::octree::OctreeKey::x, pcl::octree::OctreeKey::y, и pcl::octree::OctreeKey::z.
computeVoxelAdjacencyGraph()
| void pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::computeVoxelAdjacencyGraph | ( | VoxelAdjacencyList & | voxel_adjacency_graph | ) |
Вычисляет граф смежности объёмов.
- Предупреждение
- Это быстро замедляется по мере увеличения размера облака из-за количества рёбер.
- Parameters
-
[out] voxel_adjacency_graph Граф смежности Boost Graph Library отношений касания объёмов. Вершины — PointT, рёбра представляют касание, а длина ребра — расстояние между точками.
Определение в строке 223 файла octree_pointcloud_adjacency.hpp.
end()
| inline |
Определение в строке 117 файла octree_pointcloud_adjacency.h.
genOctreeKeyforPoint()
| protected |
Генерирует ключ octree для указанной точки (использует преобразование, если оно предоставлено).
- Parameters
-
[in] point_arg Точка для генерации ключа [out] key_arg Полученный ключ octree
Определение в строке 120 файла octree_pointcloud_adjacency.hpp.
Ссылки на pcl::isFinite(), pcl::octree::OctreeKey::x, pcl::octree::OctreeKey::y, и pcl::octree::OctreeKey::z.
getLeafContainerAtPoint()
| LeafContainerT * pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::getLeafContainerAtPoint | ( | const PointT & | point_arg | ) | const |
Получает контейнер листа для заданной точки.
- Parameters
-
[in] point_arg Точка поиска
- Returns
- Указатель на контейнер листа — null, если контейнер листа не найден.
Определение в строке 207 файла octree_pointcloud_adjacency.hpp.
setTransformFunction()
| inline |
Устанавливает преобразование точки (и обратное преобразование), используемое для преобразования пространства входного облака.
Это полезно для изменения способа вычисления смежности, например, для смягчения критерия смежности для точек, удалённых от камеры.
- Parameters
-
[in] transform_func Указатель boost::function на используемое преобразование. Преобразование должно иметь один параметр (точку), который он изменяет на месте.
Определение в строке 173 файла octree_pointcloud_adjacency.h.
size()
| inline |
Определение в строке 129 файла octree_pointcloud_adjacency.h.
testForOcclusion()
| bool pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::testForOcclusion | ( | const PointT & | point_arg, |
| const PointXYZ & |
camera_pos = PointXYZ(0, 0, 0) | ||
| ) |
Проверяет, заблокирован ли путь к заданной точке от указанной камеры другими вокселями.
- Параметры
-
[in] point_arg Точка для проверки на перекрытие [in] camera_pos Позиция камеры, по умолчанию - начало координат
- Возвращает
- Истина, если путь к камере заблокирован вокселем, ложь в противном случае.
Определение в строке 269 файла octree_pointcloud_adjacency.hpp.
Ссылки на pcl::octree::OctreeKey::x, pcl::octree::OctreeKey::y и pcl::octree::OctreeKey::z.
Документация для этого класса была сгенерирована из следующих файлов:
- pcl/octree/octree_pointcloud_adjacency.h
- pcl/octree/impl/octree_pointcloud_adjacency.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_point_cloud_adjacency.html