Spec-Zone.ru › PointCloudLibrary

Octree класс центроида вокселя октодерева облака точек Подробнее...

#include <pcl/octree/octree_pointcloud_voxelcentroid.h>

Inheritance graph
[обозначения]
Collaboration graph
[обозначения]

Открытые типы

using Ptr = shared_ptr< OctreePointCloudVoxelCentroid< PointT, LeafContainerT > >
using ConstPtr = shared_ptr< const OctreePointCloudVoxelCentroid< PointT, LeafContainerT > >
using OctreeT = OctreePointCloud< PointT, LeafContainerT, BranchContainerT >
using LeafNode = typename OctreeT::LeafNode
using BranchNode = typename OctreeT::BranchNode
- Открытые типы, унаследованные от pcl::octree::OctreePointCloud< PointT, OctreePointCloudVoxelCentroidContainer< PointT >, OctreeContainerEmpty >
using Base = OctreeBase< OctreePointCloudVoxelCentroidContainer< 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 PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using SingleBuffer = OctreePointCloud< PointT, OctreePointCloudVoxelCentroidContainer< PointT >, OctreeContainerEmpty, OctreeBase< OctreePointCloudVoxelCentroidContainer< PointT > > >
using Ptr = shared_ptr< OctreePointCloud< PointT, OctreePointCloudVoxelCentroidContainer< PointT >, OctreeContainerEmpty, OctreeBase< OctreePointCloudVoxelCentroidContainer< PointT >, OctreeContainerEmpty > > >
using ConstPtr = shared_ptr< const OctreePointCloud< PointT, OctreePointCloudVoxelCentroidContainer< PointT >, OctreeContainerEmpty, OctreeBase< OctreePointCloudVoxelCentroidContainer< PointT >, OctreeContainerEmpty > > >
using AlignedPointTVector = std::vector< PointT, Eigen::aligned_allocator< PointT > >
using AlignedPointXYZVector = std::vector< PointXYZ, Eigen::aligned_allocator< PointXYZ > >
- Открытые типы, унаследованные от pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >
using OctreeT = OctreeBase< LeafContainerT, BranchContainerT >
using BranchNode = OctreeBranchNode< BranchContainerT >
using LeafNode = OctreeLeafNode< LeafContainerT >
using BranchContainer = BranchContainerT
using LeafContainer = LeafContainerT
using Iterator = OctreeDepthFirstIterator< OctreeT >
using ConstIterator = OctreeDepthFirstIterator< const OctreeT >
using LeafNodeIterator = OctreeLeafNodeDepthFirstIterator< OctreeT >
using ConstLeafNodeIterator = OctreeLeafNodeDepthFirstIterator< const OctreeT >
using LeafNodeDepthFirstIterator = OctreeLeafNodeDepthFirstIterator< OctreeT >
using ConstLeafNodeDepthFirstIterator = OctreeLeafNodeDepthFirstIterator< const OctreeT >
using DepthFirstIterator = OctreeDepthFirstIterator< OctreeT >
using ConstDepthFirstIterator = OctreeDepthFirstIterator< const OctreeT >
using BreadthFirstIterator = OctreeBreadthFirstIterator< OctreeT >
using ConstBreadthFirstIterator = OctreeBreadthFirstIterator< const OctreeT >
using FixedDepthIterator = OctreeFixedDepthIterator< OctreeT >
using ConstFixedDepthIterator = OctreeFixedDepthIterator< const OctreeT >
using LeafNodeBreadthFirstIterator = OctreeLeafNodeBreadthFirstIterator< OctreeT >
using ConstLeafNodeBreadthFirstIterator = OctreeLeafNodeBreadthFirstIterator< const OctreeT >

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

OctreePointCloudVoxelCentroid (const double resolution_arg)
Конструктор класса OctreePointCloudVoxelCentroids. Подробнее...
~OctreePointCloudVoxelCentroid () override=default
Пустой деструктор класса. Подробнее...
void addPointIdx (const uindex_t pointIdx_arg) override
Добавляет объект DataT в листовой узел с заданным ключом октодерева. Подробнее...
bool getVoxelCentroidAtPoint (const PointT &point_arg, PointT &voxel_centroid_arg) const
Получает центроид отдельного вокселя, заданного точкой PointT. Подробнее...
bool getVoxelCentroidAtPoint (const index_t &point_idx_arg, PointT &voxel_centroid_arg) const
Получает центроид отдельного вокселя, заданного точкой PointT из входного облака. Подробнее...
uindex_t getVoxelCentroids (typename OctreePointCloud< PointT, LeafContainerT, BranchContainerT >::AlignedPointTVector &voxel_centroid_list_arg) const
Получает вектор PointT с центроидами всех занятых вокселей. Подробнее...
void getVoxelCentroidsRecursive (const BranchNode *branch_arg, OctreeKey &key_arg, typename OctreePointCloud< PointT, LeafContainerT, BranchContainerT >::AlignedPointTVector &voxel_centroid_list_arg) const
Рекурсивно обходит октодерево и возвращает вектор PointT с центроидами всех занятых вокселей. Подробнее...
- Открытые функции-члены, унаследованные от pcl::octree::OctreePointCloud< PointT, OctreePointCloudVoxelCentroidContainer< PointT >, OctreeContainerEmpty >
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)
Задает точность эпсилон поиска (предел погрешности) для поиска ближайших соседей. Подробнее...
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 getVoxelBounds (const OctreeIteratorBase< OctreeBase< OctreePointCloudVoxelCentroidContainer< PointT >, OctreeContainerEmpty > > &iterator, Eigen::Vector3f &min_pt, Eigen::Vector3f &max_pt) const
Вычисляет границы текущего вокселя итератора октодерева. Подробнее...
void enableDynamicDepth (std::size_t maxObjsPerLeaf)
Включает динамическую структуру октодерева. Подробнее...
- Открытые функции-члены, унаследованные от pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >
Iterator begin (uindex_t max_depth_arg=0u)
ConstIterator begin (uindex_t max_depth_arg=0u) const
ConstIterator cbegin (uindex_t max_depth_arg=0u) const
const Iterator end ()
const ConstIterator end () const
const ConstIterator cend () const
LeafNodeDepthFirstIterator leaf_depth_begin (uindex_t max_depth_arg=0u)
ConstLeafNodeDepthFirstIterator leaf_depth_begin (uindex_t max_depth_arg=0u) const
const LeafNodeDepthFirstIterator leaf_depth_end ()
const ConstLeafNodeDepthFirstIterator leaf_depth_end () const
DepthFirstIterator depth_begin (uindex_t max_depth_arg=0u)
ConstDepthFirstIterator depth_begin (uindex_t max_depth_arg=0u) const
const DepthFirstIterator depth_end ()
const ConstDepthFirstIterator depth_end () const
BreadthFirstIterator breadth_begin (uindex_t max_depth_arg=0u)
ConstBreadthFirstIterator breadth_begin (uindex_t max_depth_arg=0u) const
const BreadthFirstIterator breadth_end ()
const ConstBreadthFirstIterator breadth_end () const
FixedDepthIterator fixed_depth_begin (uindex_t fixed_depth_arg=0u)
ConstFixedDepthIterator fixed_depth_begin (uindex_t fixed_depth_arg=0u) const
const FixedDepthIterator fixed_depth_end ()
const ConstFixedDepthIterator fixed_depth_end () const
LeafNodeBreadthFirstIterator leaf_breadth_begin (uindex_t max_depth_arg=0u)
ConstLeafNodeBreadthFirstIterator leaf_breadth_begin (uindex_t max_depth_arg=0u) const
const LeafNodeBreadthFirstIterator leaf_breadth_end ()
const ConstLeafNodeBreadthFirstIterator leaf_breadth_end () const
OctreeBase ()
Пустой конструктор. Подробнее...
virtual ~OctreeBase ()
Пустой деструктор. Подробнее...
OctreeBase (const OctreeBase &source)
Конструктор копирования. Подробнее...
OctreeBase & operator= (const OctreeBase &source)
Оператор копирующего присваивания. Подробнее...
void setMaxVoxelIndex (uindex_t max_voxel_index_arg)
Задаёт максимальное количество вокселей в каждом измерении. Подробнее...
void setTreeDepth (uindex_t max_depth_arg)
Задаёт максимальную глубину октодерева. Подробнее...
uindex_t getTreeDepth () const
Возвращает максимальную глубину октодерева. Подробнее...
LeafContainerT * createLeaf (uindex_t idx_x_arg, uindex_t idx_y_arg, uindex_t idx_z_arg)
Создаёт новый листовой узел в точке (idx_x_arg, idx_y_arg, idx_z_arg). Подробнее...
LeafContainerT * findLeaf (uindex_t idx_x_arg, uindex_t idx_y_arg, uindex_t idx_z_arg) const
Находит листовой узел в точке (idx_x_arg, idx_y_arg, idx_z_arg). Подробнее...
bool existLeaf (uindex_t idx_x_arg, uindex_t idx_y_arg, uindex_t idx_z_arg) const
idx_x_arg проверяет наличие листового узла в точке (idx_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)
Десериализовать двоичное описание октодерева и создать соответствующую структуру октодерева. Подробнее...
tr> tr> tr>

Дополнительные унаследованные члены

- Защищённые функции-члены, унаследованные от pcl::octree::OctreePointCloud< PointT, OctreePointCloudVoxelCentroidContainer< PointT >, OctreeContainerEmpty >
void expandLeafNode (LeafNode *leaf_node, BranchNode *parent_branch, unsigned char child_idx, uindex_t depth_mask)
Добавить точку с указанным индексом из входного набора данных облака точек в октодерево. Подробнее...
const PointT & getPointByIndex (uindex_t index_arg) const
Получить точку с указанным индексом из входного набора данных облака точек. Подробнее...
OctreePointCloudVoxelCentroidContainer< 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
Сгенерировать точку в центре вокселя октодерева на заданном уровне дерева. Подробнее...
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< LeafContainerT, BranchContainerT >
LeafContainerT * createLeaf (const OctreeKey &key_arg)
Создать листовой узел. Подробнее...
LeafContainerT * findLeaf (const OctreeKey &key_arg) const
Найти листовой узел. Подробнее...
bool existLeaf (const OctreeKey &key_arg) const
Проверить, существует ли листовой узел в октодереве. Подробнее...
void removeLeaf (const OctreeKey &key_arg)
Удалить листовой узел из октодерева. Подробнее...
OctreeNode * getRootNode () const
Получить корневой узел. Подробнее...
bool branchHasChild (const BranchNode &branch_arg, unsigned char child_idx_arg) const
Проверить, указывает ли ветвь на определённый дочерний узел. Подробнее...
OctreeNode * getBranchChildPtr (const BranchNode &branch_arg, unsigned char child_idx_arg) const
Получить указатель на дочерний узел с индексом child_idx. Подробнее...
void setBranchChildPtr (BranchNode &branch_arg, unsigned char child_idx_arg, OctreeNode *new_child_arg)
Назначить ветви новый дочерний узел. Подробнее...
char getBranchBitPattern (const BranchNode &branch_arg) const
Сформировать битовый шаблон, отражающий наличие указателей на дочерние узлы. Подробнее...
void deleteBranchChild (BranchNode &branch_arg, unsigned char child_idx_arg)
Удалить дочерний узел и все его дочерние узлы из октодерева. Подробнее...
void deleteBranch (BranchNode &branch_arg)
Удалить ветвь и все её дочерние узлы из октодерева. Подробнее...
BranchNode * createBranchChild (BranchNode &branch_arg, unsigned char child_idx_arg)
Создать и добавить новую дочернюю ветвь к классу ветви. Подробнее...
LeafNode * createLeafChild (BranchNode &branch_arg, unsigned char child_idx_arg)
Создать и добавить новый дочерний листовой узел к классу ветви. Подробнее...
uindex_t createLeafRecursive (const OctreeKey &key_arg, uindex_t depth_mask_arg, BranchNode *branch_arg, LeafNode *&return_leaf_arg, BranchNode *&parent_of_leaf_arg)
Создать листовой узел по ключу октодерева. Подробнее...
void findLeafRecursive (const OctreeKey &key_arg, uindex_t depth_mask_arg, BranchNode *branch_arg, LeafContainerT *&result_arg) const
Рекурсивно найти заданный листовой узел и вернуть указатель на него. Подробнее...
bool deleteLeafRecursive (const OctreeKey &key_arg, uindex_t depth_mask_arg, BranchNode *branch_arg)
Рекурсивно найти и удалить листовой узел. Подробнее...
void serializeTreeRecursive (const BranchNode *branch_arg, OctreeKey &key_arg, std::vector< char > *binary_tree_out_arg, typename std::vector< LeafContainerT * > *leaf_container_vector_arg) const
Рекурсивно обойти октодерево и сформировать его двоичное описание вместе с вектором LeafContainerT листовых узлов. Подробнее...
void deserializeTreeRecursive (BranchNode *branch_arg, uindex_t depth_mask_arg, OctreeKey &key_arg, typename std::vector< char >::const_iterator &binary_tree_input_it_arg, typename std::vector< char >::const_iterator &binary_tree_input_it_end_arg, typename std::vector< LeafContainerT * >::const_iterator *leaf_container_vector_it_arg, typename std::vector< LeafContainerT * >::const_iterator *leaf_container_vector_it_end_arg)
Рекурсивный метод десериализации структуры октодерева. Подробнее...
virtual void serializeTreeCallback (LeafContainerT &, const OctreeKey &) const
Обратный вызов, выполняемый для каждого узла-листа во время сериализации. Подробнее...
virtual void deserializeTreeCallback (LeafContainerT &, const OctreeKey &)
Обратный вызов, выполняемый для каждого узла-листа во время десериализации. Подробнее...
bool octreeCanResize () const
Проверяет, может ли октодерево динамически изменять свою глубину. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::octree::OctreePointCloud< PointT, OctreePointCloudVoxelCentroidContainer< PointT >, OctreeContainerEmpty >
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 в узле-листе до разбиения ветви. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::octree::OctreeBase< LeafContainerT, BranchContainerT >
std::size_t leaf_count_ {0}
Количество узлов-листьев
Подробнее...
std::size_t branch_count_ {1}
Количество узлов-ветвей
Подробнее...
BranchNode * root_node_
Указатель на корневой узел-ветвь октодерева
Подробнее...
uindex_t depth_mask_ {0}
Маска глубины, основанная на глубине октодерева
Подробнее...
uindex_t octree_depth_ {0}
Глубина октодерева. Подробнее...
bool dynamic_depth_enabled_ {false}
Включает dynamic_depth. Подробнее...
OctreeKey max_key_
Диапазон ключей Подробнее...

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

template<typename PointT, typename LeafContainerT = OctreePointCloudVoxelCentroidContainer<PointT>, typename BranchContainerT = OctreeContainerEmpty>
class pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >

Класс центроидов вокселей октодерева облака точек Octree

Примечание
Этот класс создаёт октодерево на основе облака точек (без копирования данных). Он предоставляет вектор центроидов для всех занятых вокселей.
Октодерево облака точек инициализируется разрешением вокселей. Его ограничивающая рамка настраивается автоматически или может быть задана заранее.
Параметры шаблона
PointT тип точки, используемой в облаке точек
Автор
Julius Kammerl (juliu.nosp@m.s@ka.nosp@m.mmerl.nosp@m..de)

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

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

BranchNode

template<typename PointT , typename LeafContainerT = OctreePointCloudVoxelCentroidContainer<PointT>, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::BranchNode = typename OctreeT::BranchNode

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

ConstPtr

template<typename PointT , typename LeafContainerT = OctreePointCloudVoxelCentroidContainer<PointT>, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::ConstPtr = shared_ptr<const OctreePointCloudVoxelCentroid<PointT, LeafContainerT> >

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

LeafNode

template<typename PointT , typename LeafContainerT = OctreePointCloudVoxelCentroidContainer<PointT>, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::LeafNode = typename OctreeT::LeafNode

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

OctreeT

template<typename PointT , typename LeafContainerT = OctreePointCloudVoxelCentroidContainer<PointT>, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::OctreeT = OctreePointCloud<PointT, LeafContainerT, BranchContainerT>

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

Ptr

template<typename PointT , typename LeafContainerT = OctreePointCloudVoxelCentroidContainer<PointT>, typename BranchContainerT = OctreeContainerEmpty>
using pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::Ptr = shared_ptr<OctreePointCloudVoxelCentroid<PointT, LeafContainerT> >

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

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

OctreePointCloudVoxelCentroid()

template<typename PointT , typename LeafContainerT = OctreePointCloudVoxelCentroidContainer<PointT>, typename BranchContainerT = OctreeContainerEmpty>
pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::OctreePointCloudVoxelCentroid ( const double resolution_arg )
inline

Конструктор класса OctreePointCloudVoxelCentroids.

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

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

~OctreePointCloudVoxelCentroid()

template<typename PointT , typename LeafContainerT = OctreePointCloudVoxelCentroidContainer<PointT>, typename BranchContainerT = OctreeContainerEmpty>
pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::~OctreePointCloudVoxelCentroid ( )
overridedefault

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

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

addPointIdx()

template<typename PointT , typename LeafContainerT = OctreePointCloudVoxelCentroidContainer<PointT>, typename BranchContainerT = OctreeContainerEmpty>
void pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::addPointIdx ( const uindex_t pointIdx_arg )
inlineoverridevirtual

Добавляет объект DataT в узел-лист по ключу октодерева.

Параметры
pointIdx_arg

Переопределено из pcl::octree::OctreePointCloud< PointT, OctreePointCloudVoxelCentroidContainer< PointT >, OctreeContainerEmpty >.

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

getVoxelCentroidAtPoint() [1/2]

template<typename PointT , typename LeafContainerT = OctreePointCloudVoxelCentroidContainer<PointT>, typename BranchContainerT = OctreeContainerEmpty>
bool pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::getVoxelCentroidAtPoint ( const index_t & point_idx_arg,
PointT & voxel_centroid_arg
) const
inline

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

Параметры
[in] point_idx_arg индекс точки во входном облаке, задающей воксель в октодереве
[out] voxel_centroid_arg центроид записывается в эту ссылку PointT
Возвращает
"true", если воксель найден; в противном случае — "false"

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

getVoxelCentroidAtPoint() [2/2]

template<typename PointT , typename LeafContainerT , typename BranchContainerT >
bool pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::getVoxelCentroidAtPoint ( const PointT & point_arg,
PointT & voxel_centroid_arg
) const

Получить центроид отдельного вокселя, заданного точкой PointT.

Параметры
[in] point_arg точка, задающая воксель в октодереве
[out] voxel_centroid_arg центроид записывается в эту ссылку PointT
Возвращает
"true", если воксель найден; в противном случае — "false"

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

getVoxelCentroids()

template<typename PointT , typename LeafContainerT , typename BranchContainerT >
pcl::uindex_t pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::getVoxelCentroids ( typename OctreePointCloud< PointT, LeafContainerT, BranchContainerT >::AlignedPointTVector & voxel_centroid_list_arg ) const

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

Параметры
[out] voxel_centroid_list_arg результаты записываются в этот вектор элементов PointT
Возвращает
количество занятых вокселей

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

getVoxelCentroidsRecursive()

template<typename PointT , typename LeafContainerT , typename BranchContainerT >
void pcl::octree::OctreePointCloudVoxelCentroid< PointT, LeafContainerT, BranchContainerT >::getVoxelCentroidsRecursive ( const BranchNode * branch_arg,
OctreeKey & key_arg,
typename OctreePointCloud< PointT, LeafContainerT, BranchContainerT >::AlignedPointTVector & voxel_centroid_list_arg
) const

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

Параметры
[in] branch_arg текущий узел ветви
[in] key_arg текущий ключ
[out] voxel_centroid_list_arg результаты записываются в этот вектор элементов PointT

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

Ссылки: pcl::octree::BRANCH_NODE, pcl::octree::OctreeBranchNode< ContainerT >::getChildPtr(), pcl::octree::OctreeLeafNode< ContainerT >::getContainer(), pcl::octree::OctreeNode::getNodeType(), pcl::octree::OctreeBranchNode< ContainerT >::hasChild(), pcl::octree::LEAF_NODE, pcl::octree::OctreeKey::popBranch() и pcl::octree::OctreeKey::pushBranch().


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

Spec-Zone.ru

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