Spec-Zone.ru › PointCloudLibrary

Октодерево класс облака точек Подробнее...

#include <pcl/octree/octree_pointcloud.h>

Inheritance graph
[легенда]
Collaboration graph
[легенда]

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

using Base = OctreeT
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 PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using SingleBuffer = OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeBase< LeafContainerT > >
using Ptr = shared_ptr< OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT > >
using ConstPtr = shared_ptr< const OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT > >
using AlignedPointTVector = std::vector< PointT, Eigen::aligned_allocator< PointT > >
using AlignedPointXYZVector = std::vector< PointXYZ, Eigen::aligned_allocator< PointXYZ > >
- Общедоступные типы, унаследованные от pcl::octree::OctreeBase< OctreeContainerPointIndices, OctreeContainerEmpty >
using OctreeT = OctreeBase< OctreeContainerPointIndices, OctreeContainerEmpty >
using BranchNode = OctreeBranchNode< OctreeContainerEmpty >
using LeafNode = OctreeLeafNode< OctreeContainerPointIndices >
using BranchContainer = OctreeContainerEmpty
using LeafContainer = OctreeContainerPointIndices
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 >

Общедоступные члены-функции

OctreePointCloud (const double resolution_arg)
Конструктор облака точек Octree. Подробнее...
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
Получить точность поиска epsilon (предел ошибки) для поиска ближайших соседей. Подробнее...
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
Проверка наличия ячейки октодерева в заданной точке. Подробнее...
void deleteTree ()
Удаление структуры октодерева и его узлов листа. Подробнее...
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
Проверка, существует ли ячейка-воксел в заданной точке входного облака. Подробнее...
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 ()
Определение границ ограничивающего прямоугольника для octree на основе размерностей данных облака точек. Подробнее...
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)
Определение границ ограничивающего прямоугольника для octree. Подробнее...
void defineBoundingBox (const double max_x_arg, const double max_y_arg, const double max_z_arg)
Определение границ ограничивающего прямоугольника для octree. Подробнее...
void defineBoundingBox (const double cubeLen_arg)
Определение границ ограничивающего куба для octree. Подробнее...
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
Получение границ ограничивающего прямоугольника octree. Подробнее...
double getVoxelSquaredDiameter (uindex_t tree_depth_arg) const
Вычисление квадрата диаметра вокселя при заданной глубине дерева. Подробнее...
double getVoxelSquaredDiameter () const
Вычисление квадрата диаметра вокселя на уровне листа. Подробнее...
double getVoxelSquaredSideLen (uindex_t tree_depth_arg) const
Вычисление квадрата длины стороны куба вокселя при заданной глубине дерева. Подробнее...
double getVoxelSquaredSideLen () const
Вычисление квадрата длины стороны куба вокселя на уровне листа. Подробнее...
void getVoxelBounds (const OctreeIteratorBase< OctreeT > &iterator, Eigen::Vector3f &min_pt, Eigen::Vector3f &max_pt) const
Генерация границ текущего вокселя итератора octree. Подробнее...
void enableDynamicDepth (std::size_t maxObjsPerLeaf)
Включить динамическую структуру октри. Подробнее...
- Public Member Functions inherited from pcl::octree::OctreeBase< OctreeContainerPointIndices, OctreeContainerEmpty >
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 ()
Пустой конструктор. Подробнее...
OctreeBase (const OctreeBase &source)
Конструктор копирования. Подробнее...
virtual ~OctreeBase ()
Пустой деструктор. Подробнее...
OctreeBase & operator= (const OctreeBase &source)
Оператор копирования. Подробнее...
void setMaxVoxelIndex (uindex_t max_voxel_index_arg)
Устанавливает максимальное количество объёмов по каждой оси. Подробнее...
void setTreeDepth (uindex_t max_depth_arg)
Устанавливает максимальную глубину octree. Подробнее...
uindex_t getTreeDepth () const
Получить максимальную глубину octree. Подробнее...
OctreeContainerPointIndices * 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). Подробнее...
OctreeContainerPointIndices * 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< OctreeContainerPointIndices * > &leaf_container_vector_arg) const
Сериализовать октодерево в двоичный вектор вывода, описывающий структуру его ветвей и добавить все элементы LeafContainerT, хранящиеся в октодереве, в вектор. Подробнее...
void serializeLeafs (std::vector< OctreeContainerPointIndices * > &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< OctreeContainerPointIndices * > &leaf_container_vector_arg)
Десериализовать двоичное описание октального дерева и создать соответствующую структуру октального дерева. Подробнее...

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

virtual void addPointIdx (uindex_t point_idx_arg)
Добавить точку по индексу из входного облака точек в октодерево. Подробнее...
void expandLeafNode (LeafNode *leaf_node, BranchNode *parent_branch, unsigned char child_idx, uindex_t depth_mask)
Добавить точку по индексу из входного облака точек в октодерево. Подробнее...
const PointT & getPointByIndex (uindex_t index_arg) const
Получить точку по индексу из входного облака точек. Подробнее...
LeafContainerT * 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
Создать точку в центре ячейки октодерева на заданном уровне дерева. Подробнее...
void genVoxelBoundsFromOctreeKey (const OctreeKey &key_arg, uindex_t tree_depth_arg, Eigen::Vector3f &min_pt, Eigen::Vector3f &max_pt) const
Сгенерировать границы ячейки октодерева, используя ключ октодерева и аргумент глубины дерева. Подробнее...
uindex_t getOccupiedVoxelCentersRecursive (const BranchNode *node_arg, const OctreeKey &key_arg, AlignedPointTVector &voxel_center_list_arg) const
Рекурсивно искать все узлы листа в дереве и вернуть вектор центров ячеек. Подробнее...
- Защищенные методы-члены, унаследованные от pcl::octree::OctreeBase< OctreeContainerPointIndices, OctreeContainerEmpty >
OctreeContainerPointIndices * createLeaf (const OctreeKey &key_arg)
Создать узел листа. Подробнее...
OctreeContainerPointIndices * 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)
Создать узел листа в ключе octree. Подробнее...
void findLeafRecursive (const OctreeKey &key_arg, uindex_t depth_mask_arg, BranchNode *branch_arg, OctreeContainerPointIndices *&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< OctreeContainerPointIndices * > *leaf_container_vector_arg) const
Рекурсивно исследовать octree и вывести двоичное описание octree вместе с вектором узлов листа 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< OctreeContainerPointIndices * >::const_iterator *leaf_container_vector_it_arg, typename std::vector< OctreeContainerPointIndices * >::const_iterator *leaf_container_vector_it_end_arg)
Рекурсивный метод для десериализации структуры octree. Подробнее...
virtual void serializeTreeCallback (OctreeContainerPointIndices &, const OctreeKey &) const
Обратный вызов, выполняемый для каждого узла листа во время сериализации. Подробнее...
virtual void deserializeTreeCallback (OctreeContainerPointIndices &, const OctreeKey &)
Обратный вызов, выполняемый для каждого узла листа во время десериализации. Подробнее...
bool octreeCanResize () const
Проверить, может ли octree динамически изменить свою глубину. Подробнее...

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

PointCloudConstPtr input_
Указатель на набор данных входного облака точек. Подробнее...
IndicesConstPtr indices_
Указатель на вектор индексов точек для использования. Подробнее...
double epsilon_
Точность 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 на узел листа перед расширением ветви. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::octree::OctreeBase< OctreeContainerPointIndices, OctreeContainerEmpty >
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_
Включить dynamic_depth. Подробнее...
OctreeKey max_key_
Диапазон ключей Подробнее...

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

шаблон<typename PointT, typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
класс pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >

Класс облака точек Octree

Примечание
Реализация Octree для облаков точек. Лишь индексы хранятся в узлах листа octree (без копирования).
Класс облака точек Octree необходимо инициализировать с разрешением ячейки. Его ограничивающая рамка автоматически подстраивается
в соответствии с размерами облака точек, или может быть задана предварительно.
Примечание: глубина дерева соответствует разрешению и размеру ограничивающей рамки octree.
Параметры шаблона
PointT тип точки, используемой в облаке точек
LeafContainerT контейнер узлов листа
BranchContainerT контейнер узлов ветви
OctreeT реализация octree
Автор
Julius Kammerl * (juliu.nosp@m.s@ka.nosp@m.mmerl.nosp@m..de)

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

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

AlignedPointTVector

шаблон<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
используя pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::AlignedPointTVector = std::vector<PointT, Eigen::aligned_allocator<PointT> >

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

AlignedPointXYZVector

шаблон<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
используя pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::AlignedPointXYZVector = std::vector<PointXYZ, Eigen::aligned_allocator<PointXYZ> >

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

Base

шаблон<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
используя pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::Base = OctreeT

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

BranchNode

шаблон<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
используя pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::BranchNode = typename OctreeT::BranchNode

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

ConstPtr

шаблон<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
используя pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::ConstPtr = shared_ptr< const OctreePointCloud<PointT, LeafContainerT, BranchContainerT, OctreeT> >

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

IndicesConstPtr

шаблон<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
используя pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::IndicesConstPtr = shared_ptr<const Indices>

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

IndicesPtr

шаблон<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
используя pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::IndicesPtr = shared_ptr<Indices>

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

LeafNode

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
using pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::LeafNode = typename OctreeT::LeafNode

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

PointCloud

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
using pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::PointCloud = pcl::PointCloud<PointT>

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

PointCloudConstPtr

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
using pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::PointCloudConstPtr = typename PointCloud::ConstPtr

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

PointCloudPtr

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
using pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::PointCloudPtr = typename PointCloud::Ptr

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

Ptr

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
using pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::Ptr = shared_ptr<OctreePointCloud<PointT, LeafContainerT, BranchContainerT, OctreeT> >

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

SingleBuffer

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
using pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::SingleBuffer = OctreePointCloud<PointT, LeafContainerT, BranchContainerT, OctreeBase<LeafContainerT> >

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

Конструктор и деструктор

OctreePointCloud()

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::OctreePointCloud ( const double resolution_arg )

Конструктор octree pointcloud.

Parameters
[in] resolution_arg разрешение octree на самом низком уровне octree

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

Функция-член

addPointFromCloud()

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::addPointFromCloud ( uindex_t point_idx_arg,
IndicesPtr indices_arg
)

Добавить точку с заданным индексом из входного облака точек в octree.

Индекс также будет добавлен в вектор индексов.

Parameters
[in] point_idx_arg индекс добавляемой точки
[in] indices_arg указатель на вектор индексов набора данных (переданный с помощью setInputCloud)

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

addPointIdx()

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::addPointIdx ( uindex_t point_idx_arg )
protectedvirtual

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

Параметры
[in] point_idx_arg индекс, представляющий точку в наборе данных, заданном setInputCloud, для добавления

Переопределено в pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >, pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT > и pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >.

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

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

Используется в pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::addPointIdx().

addPointsFromInputCloud()

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::addPointsFromInputCloud

Добавить точки из входного облака точек в ок-дерево.

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

Используется в pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT, BranchContainerT >::addPointsFromInputCloud(), pcl::applyMorphologicalOperator(), pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::computeFeature(), pcl::TextureMapping< PointInT >::removeOccludedPoints() и pcl::TextureMapping< PointInT >::showOcclusions().

addPointToCloud() [1/2]

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::addPointToCloud ( const PointT & point_arg,
PointCloudPtr cloud_arg
)

Добавить точку одновременно в ок-дерево и входное облако точек.

Параметры
[in] point_arg точка, которую нужно добавить
[in] cloud_arg указатель на входной набор данных облака точек (заданный setInputCloud)

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

addPointToCloud() [2/2]

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::addPointToCloud ( const PointT & point_arg,
PointCloudPtr cloud_arg,
IndicesPtr indices_arg
)

Добавить точку одновременно в ок-дерево и входное облако точек.

Соответствующий индекс будет добавлен в вектор индексов.

Параметры
[in] point_arg точка, которую нужно добавить
[in] cloud_arg указатель на входной набор данных облака точек (заданный setInputCloud)
[in] indices_arg указатель на вектор индексов набора данных (заданный setInputCloud)

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

adoptBoundingBoxToPoint()

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::adoptBoundingBoxToPoint ( const PointT & point_idx_arg )
protected

Расширить ограничивающую рамку/ок-дерево до тех пор, пока точка не уложится.

Параметры
[in] point_idx_arg точка, которая должна находиться внутри ограничивающей рамки;

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

defineBoundingBox() [1/4]

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::defineBoundingBox

Исследовать размеры набора данных точек и определить соответствующую ограничивающую рамку для октального дерева.

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

Используется в pcl::TextureMapping< PointInT >::removeOccludedPoints() и pcl::TextureMapping< PointInT >::showOcclusions().

defineBoundingBox() [2/4]

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::defineBoundingBox ( const double cubeLen_arg )

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

Примечание
Угол нижней ограничивающей рамки установлен в (0, 0, 0)
Ограничивающую рамку нельзя изменить после того, как октальное дерево содержит элементы.
Параметры
[in] cubeLen_arg длина стороны куба ограничивающей рамки.

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

defineBoundingBox() [3/4]

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::defineBoundingBox ( const double max_x_arg,
const double max_y_arg,
const double max_z_arg
)

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

Примечание
Точка нижней ограничивающей рамки установлена в (0, 0, 0)
Ограничивающую рамку нельзя изменить после того, как октальное дерево содержит элементы.
Параметры
[in] max_x_arg Координата X верхнего угла ограничивающей рамки
[in] max_y_arg Координата Y верхнего угла ограничивающей рамки
[in] max_z_arg Координата Z верхнего угла ограничивающей рамки

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

defineBoundingBox() [4/4]

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::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
)

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

Примечание
Ограничивающая рамка не может быть изменена после того, как октальное дерево содержит элементы.
Параметры
[in] min_x_arg Координата X нижнего угла ограничивающей рамки
[in] min_y_arg Координата Y нижнего угла ограничивающей рамки
[in] min_z_arg Координата Z нижнего угла ограничивающей рамки
[in] max_x_arg Координата X верхнего угла ограничивающей рамки
[in] max_y_arg Координата Y верхнего угла ограничивающей рамки
[in] max_z_arg Координата Z верхнего угла ограничивающей рамки

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

deleteTree()

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::deleteTree ( )
inline

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

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

Ссылки на pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::bounding_box_defined_, pcl::octree::OctreeBase< OctreeContainerPointIndices, OctreeContainerEmpty >::deleteTree(), pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::max_x_, pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::max_y_, pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::max_z_, pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::min_x_, pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::min_y_, и pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::min_z_.

deleteVoxelAtPoint() [1/2]

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::deleteVoxelAtPoint ( const index_t & point_idx_arg )

Удалить лист-узел/воксeль в заданной точке из входного облака.

Параметры
[in] point_idx_arg индекс точки, определяющий воксель, который нужно удалить.

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

deleteVoxelAtPoint() [2/2]

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::deleteVoxelAtPoint ( const PointT & point_arg )

Удалить лист-узел / воксель в заданной точке.

Параметры
[in] point_arg точка, определяющая воксель, который нужно удалить.

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

enableDynamicDepth()

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::enableDynamicDepth ( std::size_t maxObjsPerLeaf )
inline

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

Примечание
Листовые узлы хранятся как можно ближе к корню и расширяются только в том случае, если количество объектов DataT в узле листа превышает заданное ограничение.
Параметры
maxObjsPerLeaf максимальное число объектов DataT на лист

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

Ссылки на pcl::octree::OctreeBase< OctreeContainerPointIndices, OctreeContainerEmpty >::dynamic_depth_enabled_, pcl::octree::OctreeBase< OctreeContainerPointIndices, OctreeContainerEmpty >::leaf_count_ и pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::max_objs_per_leaf_.

expandLeafNode()

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::expandLeafNode ( LeafNode * leaf_node,
BranchNode * parent_branch,
unsigned char child_idx,
uindex_t depth_mask
)
protected

Добавить точку с индексом из набора входных точек в октальное дерево.

Параметры
[in] leaf_node для расширения
[in] parent_branch родительский узел листа, который нужно расширить
[in] child_idx индекс дочернего узла (в родительском ветвящемся узле)
[in] depth_mask листа узла, который нужно расширить

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

findLeafAtPoint()

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
LeafContainerT* pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::findLeafAtPoint ( const PointT & point_arg ) const
inlineprotected

Найти узел листа octree в заданной точке.

Параметры
[in] point_arg точка запроса
Возвращает
указатель на узел листа. Если узел листа не существует, указатель равен 0.

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

Ссылки на pcl::octree::OctreeBase< OctreeContainerPointIndices, OctreeContainerEmpty >::findLeaf() и pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::genOctreeKeyforPoint().

genLeafNodeCenterFromOctreeKey()

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::genLeafNodeCenterFromOctreeKey ( const OctreeKey & key_arg,
PointT & point_arg
) const
protected

Генерация точки в центре объёма ячейки узла листа.

Параметры
[in] key_arg ключ octree, указывающий на узел листа.
[out] point_arg запись центра объёма ячейки узла листа в это значение точки.

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

Ссылки на pcl::octree::OctreeKey::x, pcl::octree::OctreeKey::y, и pcl::octree::OctreeKey::z.

genOctreeKeyForDataT()

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
bool pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::genOctreeKeyForDataT ( const index_t & data_arg,
OctreeKey & key_arg
) const
protectedvirtual

Виртуальный метод для генерации ключа octree для заданного индекса точки.

Примечание
Этот метод позволяет назначать индексы узлам листа во время десериализации octree.
Параметры
[in] data_arg значение индекса, представляющее точку в наборе данных, заданном с помощью setInputCloud
[out] key_arg запись ключа octree в это значение ссылки
Возвращает
"true" - ключи octree можно назначить

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

genOctreeKeyforPoint() [1/2]

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::genOctreeKeyforPoint ( const double point_x_arg,
const double point_y_arg,
const double point_z_arg,
OctreeKey & key_arg
) const
protected

Генерация ключа octree для объёма ячейки в заданной точке.

Параметры
[in] point_x_arg координата X точки, указывающей на объём ячейки
[in] point_y_arg координата Y точки, указывающей на объём ячейки
[in] point_z_arg координата Z точки, указывающей на объём ячейки
[out] key_arg запись ключа octree в это значение ссылки

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

genOctreeKeyforPoint() [2/2]

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::genOctreeKeyforPoint ( const PointT & point_arg,
OctreeKey & key_arg
) const
protected

Генерация ключа octree для объёма ячейки в заданной точке.

Параметры
[in] point_arg точка, указывающая на объём ячейки
[out] key_arg запись ключа octree в это значение ссылки

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

Ссылки на pcl::octree::OctreeKey::x, pcl::octree::OctreeKey::y, и pcl::octree::OctreeKey::z.

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

genVoxelBoundsFromOctreeKey()

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::genVoxelBoundsFromOctreeKey ( const OctreeKey & key_arg,
uindex_t tree_depth_arg,
Eigen::Vector3f & min_pt,
Eigen::Vector3f & max_pt
) const
protected

Генерировать границы объёма октального дерева используя ключ октального дерева и глубину дерева.

Параметры
[in] key_arg ключ октального дерева, определяющий узел октального дерева.
[in] tree_depth_arg глубина октального дерева запрошенного объёма
[out] min_pt нижняя граница объёма
[out] max_pt верхняя граница объёма

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

Ссылки на pcl::octree::OctreeKey::x, pcl::octree::OctreeKey::y, и pcl::octree::OctreeKey::z.

Ссылка на pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getVoxelBounds().

genVoxelCenterFromOctreeKey()

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::genVoxelCenterFromOctreeKey ( const OctreeKey & key_arg,
uindex_t tree_depth_arg,
PointT & point_arg
) const
protected

Генерирует точку в центре объёма октального дерева на заданном уровне дерева.

Параметры
[in] key_arg ключ октального дерева, определяющий узел октального дерева.
[in] tree_depth_arg глубина октального дерева запрошенного объёма
[out] point_arg записывает координаты центра узла листа в данную ссылку

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

Ссылки на pcl::octree::OctreeKey::x, pcl::octree::OctreeKey::y, и pcl::octree::OctreeKey::z.

getApproxIntersectedVoxelCentersBySegment()

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
pcl::uindex_t pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getApproxIntersectedVoxelCentersBySegment ( const Eigen::Vector3f & origin,
const Eigen::Vector3f & end,
AlignedPointTVector & voxel_center_list,
float precision = 0.2
)

Получить вектор PointT координат центров объёмов, пересекаемых отрезком прямой.

Возвращает приближение фактических пересечённых объёмов, перемещаясь вдоль прямой с небольшими шагами. Объёмы упорядочены от ближайшего к начальной точке до наиболее удалённого.

Параметры
[in] origin начало отрезка прямой
[in] end конец отрезка прямой
[out] voxel_center_list результаты записываются в этот вектор элементов PointT
[in] precision определяет размер шагов: step_size = octree_resolution x precision
Возвращает
количество пересечённых объёмов

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

Ссылка на pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::computeFeature().

getBoundingBox()

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::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

Получить ограничивающий прямоугольный параллелепипед для октального дерева.

Примечание
Ограничивающий прямоугольный параллелепипед не может быть изменён, после того как октальное дерево содержит элементы.
Параметры
[in] min_x_arg X координата нижней вершины ограничивающего прямоугольного параллелепипеда
[in] min_y_arg Y координата нижней вершины ограничивающего прямоугольного параллелепипеда
[in] min_z_arg Z координата нижней вершины ограничивающего прямоугольного параллелепипеда
[in] max_x_arg X координата верхней вершины ограничивающего прямоугольного параллелепипеда
[in] max_y_arg Y координата верхней вершины ограничивающего прямоугольного параллелепипеда
[in] max_z_arg Z координата верхней вершины ограничивающего прямоугольного параллелепипеда

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

getEpsilon()

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getEpsilon ( ) const
inline

Получить точность поиска epsilon (предел ошибки) для поиска ближайших соседей.

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

Ссылки на pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::epsilon_.

getIndices()

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
IndicesConstPtr const pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getIndices ( ) const
inline

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

Возвращает
Указатель на вектор индексов.

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

Ссылки на pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::indices_.

getInputCloud()

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
PointCloudConstPtr pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getInputCloud ( ) const
inline

Получить указатель на входные данные облака точек.

Возвращает
Указатель на входное облако точек.

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

Ссылки на pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::input_.

getKeyBitSize()

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getKeyBitSize
protected

Определение настроек ключа ок-дерева и глубины ок-дерева на основе заданной ограничивающей рамки.

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

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

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

getOccupiedVoxelCenters()

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
pcl::uindex_t pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getOccupiedVoxelCenters ( AlignedPointTVector & voxel_center_list_arg ) const

Получить вектор координат центров всех заполненных объёмов.

Аргументы
[out] voxel_center_list_arg В этот вектор PointT записываются результаты.
Возвращает
Количество заполненных объёмов

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

Ссылки на pcl::octree::OctreeKey::x, pcl::octree::OctreeKey::y, и pcl::octree::OctreeKey::z.

Используется в pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::computeFeature().

getOccupiedVoxelCentersRecursive()

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
pcl::uindex_t pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getOccupiedVoxelCentersRecursive ( const BranchNode * node_arg,
const OctreeKey & key_arg,
AlignedPointTVector & voxel_center_list_arg
) const
protected

Рекурсивно ищет все узлы-листья в дереве и возвращает вектор центров объёмов.

Parameters
[in] node_arg текущий узел ок-дерева для исследования
[in] key_arg ключ ок-дерева, указывающий на узел-лист.
[out] voxel_center_list_arg результаты записываются в этот вектор элементов PointT
Returns
количество найденных объёмов

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

Ссылки на pcl::octree::BRANCH_NODE, pcl::octree::OctreeNode::getNodeType(), pcl::octree::LEAF_NODE, pcl::octree::OctreeKey::x, pcl::octree::OctreeKey::y, и pcl::octree::OctreeKey::z.

getPointByIndex()

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
const PointT & pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getPointByIndex ( uindex_t index_arg ) const
protected

Получение точки по индексу из входного облака точек.

Parameters
[in] index_arg индекс, представляющий точку в наборе данных, заданном setInputCloud
Returns
PointT из входного облака точек

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

getResolution()

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getResolution ( ) const
inline

Получение разрешения ок-дерева по объёму.

Returns
разрешение объёма на самом низком уровне дерева

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

Ссылки на pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::resolution_.

getTreeDepth()

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
uindex_t pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getTreeDepth ( ) const
inline

Получение максимальной глубины ок-дерева.

Returns
глубина_arg: максимальная глубина ок-дерева

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

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

getVoxelBounds()

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getVoxelBounds ( const OctreeIteratorBase< OctreeT > & iterator,
Eigen::Vector3f & min_pt,
Eigen::Vector3f & max_pt
) const
inline

Генерация границ текущего объёма по итератору ок-дерева.

Parameters
[in] iterator итератор ок-дерева
[out] min_pt нижняя граница объёма
[out] max_pt верхняя граница объёма

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

Ссылки на pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::genVoxelBoundsFromOctreeKey(), pcl::octree::OctreeIteratorBase< OctreeT >::getCurrentOctreeDepth(), и pcl::octree::OctreeIteratorBase< OctreeT >::getCurrentOctreeKey().

END_OF_DOCUMENT_MARKER ```

getVoxelSquaredDiameter() [1/2]

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getVoxelSquaredDiameter ( ) const
inline

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

Возвращает
квадрат диаметра

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

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

getVoxelSquaredDiameter() [2/2]

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getVoxelSquaredDiameter ( uindex_t tree_depth_arg ) const

Вычисляет квадрат диаметра ячейки на заданной глубине дерева.

Параметры
[in] tree_depth_arg глубина/уровень в октодереве
Возвращает
квадрат диаметра

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

getVoxelSquaredSideLen() [1/2]

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getVoxelSquaredSideLen ( ) const
inline

Вычисляет квадрат длины стороны куба ячейки на уровне листовой глубины.

Возвращает
квадрат длины стороны куба ячейки

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

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

getVoxelSquaredSideLen() [2/2]

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getVoxelSquaredSideLen ( uindex_t tree_depth_arg ) const

Вычисляет квадрат длины стороны куба ячейки на заданной глубине дерева.

Параметры
[in] tree_depth_arg глубина/уровень в октодереве
Возвращает
квадрат длины стороны куба ячейки

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

isPointWithinBoundingBox()

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
bool pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::isPointWithinBoundingBox ( const PointT & point_idx_arg ) const
inlineprotected

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

Параметры
[in] point_idx_arg точка, для которой проверяется нарушение границ
Возвращает
"true" - нет нарушения границ

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

Ссылки на pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::max_x_, pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::max_y_, pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::max_z_, pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::min_x_, pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::min_y_, и pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::min_z_.

isVoxelOccupiedAtPoint() [1/3]

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
bool pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::isVoxelOccupiedAtPoint ( const double point_x_arg,
const double point_y_arg,
const double point_z_arg
) const

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

Parameters
[in] point_x_arg Координата X точки для проверки
[in] point_y_arg Координата Y точки для проверки
[in] point_z_arg Координата Z точки для проверки
Возвращает
"true", если ячейка существует; "false" в противном случае

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

isVoxelOccupiedAtPoint() [2/3]

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
bool pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::isVoxelOccupiedAtPoint ( const index_t & point_idx_arg ) const

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

Parameters
[in] point_idx_arg Точка для проверки
Возвращает
"true", если ячейка существует; "false" в противном случае

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

isVoxelOccupiedAtPoint() [3/3]

template<typename PointT , typename LeafContainerT , typename BranchContainerT , typename OctreeT >
bool pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::isVoxelOccupiedAtPoint ( const PointT & point_arg ) const

Проверка существования ячейки по заданной точке.

Parameters
[in] point_arg Точка для проверки
Возвращает
"true", если ячейка существует; "false" в противном случае

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

setEpsilon()

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::setEpsilon ( double eps )
inline

Установить точность поиска ближайших соседей (предел ошибки).

Parameters
[in] eps точность (предел ошибки) для поиска ближайших соседей

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

Ссылки на pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::epsilon_.

setInputCloud()

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::setInputCloud ( const PointCloudConstPtr & cloud_arg,
const IndicesConstPtr & indices_arg = IndicesConstPtr()
)
inline

Указать указатель на набор входных данных.

Parameters
[in] cloud_arg постоянный boost shared указатель на сообщение PointCloud
[in] indices_arg подмножество индексов точек, которые должны быть взяты из cloud - если 0, используется все облако точек

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

Ссылки на pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::indices_ и pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::input_.

Обращается к pcl::applyMorphologicalOperator(), pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::computeFeature(), pcl::TextureMapping< PointInT >::removeOccludedPoints() и pcl::TextureMapping< PointInT >::showOcclusions().

setResolution()

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
void pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::setResolution ( double resolution_arg )
inline

Установить/изменить разрешение октодерева.

Параметры
[in] resolution_arg длина стороны ячеек на нижнем уровне дерева

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

Ссылки на pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getKeyBitSize(), pcl::octree::OctreeBase< OctreeContainerPointIndices, OctreeContainerEmpty >::leaf_count_ и pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::resolution_.

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

bounding_box_defined_

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
bool pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::bounding_box_defined_
protected

Флаг, указывающий, определена ли ограничивающая коробка октодерева.

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

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

epsilon_

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::epsilon_
protected

Точность ε (предел ошибки) для поиска ближайших соседей.

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

Используется в pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getEpsilon() и pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::setEpsilon().

indices_

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
IndicesConstPtr pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::indices_
protected

Указатель на вектор индексов точек для использования.

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

Используется в pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getIndices() и pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::setInputCloud().

input_

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
PointCloudConstPtr pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::input_
protected

Указатель на входные данные облака точек.

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

Используется в pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getInputCloud() и pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::setInputCloud().

max_objs_per_leaf_

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
std::size_t pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::max_objs_per_leaf_
protected

Количество объектов DataT на лист узла перед расширением ветви.

Примечание
ноль указывает на фиксированную/максимальную глубину структуры октодерева

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

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

max_x_

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::max_x_
protected

Definition at line 585 of file octree_pointcloud.h.

Referenced by pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::deleteTree(), and pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::isPointWithinBoundingBox().

max_y_

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::max_y_
protected

Definition at line 588 of file octree_pointcloud.h.

Referenced by pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::deleteTree(), and pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::isPointWithinBoundingBox().

max_z_

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::max_z_
protected

Definition at line 591 of file octree_pointcloud.h.

Referenced by pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::deleteTree(), and pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::isPointWithinBoundingBox().

min_x_

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::min_x_
protected

Definition at line 584 of file octree_pointcloud.h.

Referenced by pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::deleteTree(), and pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::isPointWithinBoundingBox().

min_y_

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::min_y_
protected

Definition at line 587 of file octree_pointcloud.h.

Referenced by pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::deleteTree(), and pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::isPointWithinBoundingBox().

min_z_

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::min_z_
protected

Definition at line 590 of file octree_pointcloud.h.

Referenced by pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::deleteTree(), and pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::isPointWithinBoundingBox().

resolution_

template<typename PointT , typename LeafContainerT = OctreeContainerPointIndices, typename BranchContainerT = OctreeContainerEmpty, typename OctreeT = OctreeBase<LeafContainerT, BranchContainerT>>
double pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::resolution_
protected

Разрешение октодерева.

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

Используется в pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::getResolution() и pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::setResolution().


Документация для этого класса была сгенерирована из следующих файлов:
  • pcl/octree/octree_pointcloud.h
  • pcl/octree/impl/octree_pointcloud.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.html

Spec-Zone.ru

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