ConvexHull с использованием библиотеки libqhull. Подробнее...
#include <pcl/surface/convex_hull.h>
Общедоступные типы | |
| using | Ptr = shared_ptr< ConvexHull< PointInT > > |
| using | ConstPtr = shared_ptr< const ConvexHull< PointInT > > |
| using | PointCloud = pcl::PointCloud< PointInT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
|
| |
| using | Ptr = shared_ptr< MeshConstruction< PointInT > > |
| using | ConstPtr = shared_ptr< const MeshConstruction< PointInT > > |
|
| |
| using | Ptr = shared_ptr< PCLSurfaceBase< PointInT > > |
| using | ConstPtr = shared_ptr< const PCLSurfaceBase< PointInT > > |
| using | KdTree = pcl::search::Search< PointInT > |
| using | KdTreePtr = typename KdTree::Ptr |
|
| |
| using | PointCloud = pcl::PointCloud< PointInT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | PointIndicesPtr = PointIndices::Ptr |
| using | PointIndicesConstPtr = PointIndices::ConstPtr |
Открытые функции-члены | |
| ConvexHull ()=default | |
| Пустой конструктор. Подробнее... |
|
| ~ConvexHull () override=default | |
| Пустой деструктор. Подробнее... |
|
| void | reconstruct (PointCloud &points, std::vector< pcl::Vertices > &polygons) |
| Вычисляет выпуклую оболочку для всех заданных точек. Подробнее... |
|
| void | reconstruct (PointCloud &points) |
| Вычисляет выпуклую оболочку для всех заданных точек. Подробнее... |
|
| void | setComputeAreaVolume (bool value) |
| Если задано значение true, библиотека qhull вызывается для вычисления общей площади и объёма выпуклой оболочки. Подробнее... |
|
| double | getTotalArea () const |
| Возвращает общую площадь выпуклой оболочки. Подробнее... |
|
| double | getTotalVolume () const |
| Возвращает общий объём выпуклой оболочки. Подробнее... |
|
| void | setDimension (int dimension) |
| Задаёт размерность входных данных: 2D или 3D. Подробнее... |
|
| int | getDimension () const |
| Возвращает размерность (2 или 3) вычисленной оболочки. Подробнее... |
|
| void | getHullPointIndices (pcl::PointIndices &hull_point_indices) const |
| Получает индексы точек входного облака, образующих выпуклую оболочку. Подробнее... |
|
|
| |
| MeshConstruction ()=default | |
| Конструктор. Подробнее... |
|
| ~MeshConstruction () override=default | |
| Деструктор. Подробнее... |
|
| void | reconstruct (pcl::PolygonMesh &output) override |
| Базовый метод восстановления поверхности для всех точек, заданных в <setInputCloud (), setIndices ()> Подробнее... |
|
| virtual void | reconstruct (std::vector< pcl::Vertices > &polygons) |
| Базовый метод построения сетки для всех точек, заданных в <setInputCloud (), setIndices ()> Подробнее... |
|
|
| |
| PCLSurfaceBase () | |
| Пустой конструктор. Подробнее... |
|
| ~PCLSurfaceBase () override=default | |
| Пустой деструктор. Подробнее... |
|
| void | setSearchMethod (const KdTreePtr &tree) |
| Задаёт необязательный указатель на объект поиска. Подробнее... |
|
| KdTreePtr | getSearchMethod () |
| Возвращает указатель на используемый метод поиска. Подробнее... |
|
|
| |
| PCLBase () | |
| Пустой конструктор. Подробнее... |
|
| PCLBase (const PCLBase &base) | |
| Конструктор копирования. Подробнее... |
|
| virtual | ~PCLBase ()=default |
| Деструктор. Подробнее... |
|
| virtual void | setInputCloud (const PointCloudConstPtr &cloud) |
| Задаёт указатель на входной набор данных. Подробнее... |
|
| PointCloudConstPtr const | getInputCloud () const |
| Возвращает указатель на входной набор облака точек. Подробнее... |
|
| virtual void | setIndices (const IndicesPtr &indices) |
| Задаёт указатель на вектор индексов, представляющий входные данные. Подробнее... |
|
| virtual void | setIndices (const IndicesConstPtr &indices) |
| Задаёт указатель на вектор индексов, представляющий входные данные. Подробнее... |
|
| virtual void | setIndices (const PointIndicesConstPtr &indices) |
| Задаёт указатель на вектор индексов, представляющий входные данные. Подробнее... |
|
| virtual void | setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols) |
| Задаёт индексы точек, расположенных в области интереса облака точек. Подробнее... |
|
| IndicesPtr | getIndices () |
| Возвращает указатель на используемый вектор индексов. Подробнее... |
|
| IndicesConstPtr const | getIndices () const |
| Возвращает указатель на используемый вектор индексов. Подробнее... |
|
| const PointInT & | operator[] (std::size_t pos) const |
| Переопределяет оператор PointCloud operator[] для сокращения кода. Подробнее... |
|
Защищённые функции-члены | |
| void | performReconstruction (PointCloud &points, std::vector< pcl::Vertices > &polygons, bool fill_polygon_data=false) |
| Метод, непосредственно выполняющий восстановление. Подробнее... |
|
| void | performReconstruction2D (PointCloud &points, std::vector< pcl::Vertices > &polygons, bool fill_polygon_data=false) |
| Метод восстановления для двумерных данных. Подробнее... |
|
| void | performReconstruction3D (PointCloud &points, std::vector< pcl::Vertices > &polygons, bool fill_polygon_data=false) |
| Метод восстановления для трёхмерных данных. Подробнее... |
|
| void | performReconstruction (PolygonMesh &output) override |
| Метод восстановления, возвращающий полигональную сетку. Подробнее... |
|
| void | performReconstruction (std::vector< pcl::Vertices > &polygons) override |
| Метод восстановления, возвращающий полигон выпуклой оболочки. Подробнее... |
|
| void | calculateInputDimension () |
| Автоматически определяет размерность входных данных: 2D или 3D. Подробнее... |
|
| std::string | getClassName () const override |
| Метод получения имени класса. Подробнее... |
|
|
| |
| bool | initCompute () |
| Этот метод следует вызвать перед началом фактических вычислений. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод следует вызвать после завершения фактических вычислений. Подробнее... |
|
Защищённые атрибуты | |
| bool | compute_area_ {false} |
| double | total_area_ {0.0} |
| double | total_volume_ {0.0} |
| int | dimension_ {0} |
| Размерность вогнутой оболочки (2D или 3D). Подробнее... |
|
| double | projection_angle_thresh_ {std::cos (0.174532925)} |
| Насколько близкой к оси может быть нормаль плоскости 2D, чтобы проекция стала проблематичной. Подробнее... |
|
| std::string | qhull_flags {"qhull "} |
| Строка флагов параметров для вызова qhull. Подробнее... |
|
| const Eigen::Vector3d | x_axis_ {1.0, 0.0, 0.0} |
| const Eigen::Vector3d | y_axis_ {0.0, 1.0, 0.0} |
| const Eigen::Vector3d | z_axis_ {0.0, 0.0, 1.0} |
| pcl::PointIndices | hull_indices_ |
|
| |
| bool | check_tree_ {true} |
| Флаг, указывающий, требуется ли алгоритму реконструкции производного класса объект поиска tree. Подробнее... |
|
|
| |
| KdTreePtr | tree_ |
| Указатель на объект пространственного поиска. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Входной набор облака точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор используемых индексов точек. Подробнее... |
|
| bool | use_indices_ |
| Установите значение true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, создаётся набор фиктивных индексов, имитирующий входное облако точек. Подробнее... |
|
Подробное описание
template<typename PointInT>
class pcl::ConvexHull< PointInT >
ConvexHull с использованием библиотеки libqhull.
Определение в строке 72 файла convex_hull.h.
Описание псевдонимов типов-членов
ConstPtr
| using pcl::ConvexHull< PointInT >::ConstPtr = shared_ptr<const ConvexHull<PointInT> > |
Определение в строке 82 файла convex_hull.h.
PointCloud
| using pcl::ConvexHull< PointInT >::PointCloud = pcl::PointCloud<PointInT> |
Определение в строке 86 файла convex_hull.h.
PointCloudConstPtr
| using pcl::ConvexHull< PointInT >::PointCloudConstPtr = typename PointCloud::ConstPtr |
Определение в строке 88 файла convex_hull.h.
PointCloudPtr
| using pcl::ConvexHull< PointInT >::PointCloudPtr = typename PointCloud::Ptr |
Определение в строке 87 файла convex_hull.h.
Ptr
| using pcl::ConvexHull< PointInT >::Ptr = shared_ptr<ConvexHull<PointInT> > |
Определение в строке 81 файла convex_hull.h.
Описание конструкторов и деструкторов
ConvexHull()
| default |
Пустой конструктор.
~ConvexHull()
| overridedefault |
Пустой деструктор.
Описание функций-членов
calculateInputDimension()
| protected |
Автоматически определяет размерность входных данных — 2D или 3D.
Определение в строке 57 файла convex_hull.hpp.
Ссылки: pcl::compute3DCentroid(), pcl::computeCovarianceMatrixNormalized() и pcl::eigen33().
getClassName()
| inlineoverrideprotectedvirtual |
Метод получения имени класса.
Переопределяет метод из pcl::PCLSurfaceBase< PointInT >.
Определение в строке 230 файла convex_hull.h.
Используется в pcl::ConvexHull< PointInT >::setDimension().
getDimension()
| inline |
Возвращает размерность (2 или 3) вычисленной оболочки.
Определение в строке 160 файла convex_hull.h.
Ссылка на pcl::ConvexHull< PointInT >::dimension_.
getHullPointIndices()
| void pcl::ConvexHull< PointInT >::getHullPointIndices | ( | pcl::PointIndices & | hull_point_indices | ) | const |
Возвращает индексы точек входного облака, образующих выпуклую оболочку.
- Примечание
- Вызывать только после выполнения реконструкции.
- Параметры
-
[out] hull_point_indices Индексы точек, образующих облако точек
Определение в строке 502 файла convex_hull.hpp.
getTotalArea()
| double pcl::ConvexHull< PointInT >::getTotalArea | ( | ) | const |
Возвращает общую площадь выпуклой оболочки.
Определение в строке 132 файла convex_hull.h.
Ссылка на pcl::ConvexHull< PointInT >::total_area_.
getTotalVolume()
| double pcl::ConvexHull< PointInT >::getTotalVolume | ( | ) | const |
Возвращает общий объём выпуклой оболочки.
Корректно только для трёхмерных наборов. Для 2D-наборов объём равен нулю.
Определение в строке 141 файла convex_hull.h.
Ссылка на pcl::ConvexHull< PointInT >::total_volume_.
performReconstruction() [1/3]
| protected |
Метод, выполняющий реконструкцию.
- Параметры
-
[out] points результирующие точки, лежащие на выпуклой оболочке [out] polygons результирующие многоугольники выпуклой оболочки в виде набора вершин. Структура Vertices содержит массив индексов точек. [in] fill_polygon_data true, если нужно заполнить многоугольники, иначе false
Определение в строке 424 файла convex_hull.hpp.
performReconstruction() [2/3]
| overrideprotectedvirtual |
Метод реконструкции, возвращающий полигональную сетку.
- Параметры
-
[out] output объект PolygonMesh, представляющий выпуклую оболочку входных данных.
Реализует метод из pcl::MeshConstruction< PointInT >.
Определение в строке 462 файла convex_hull.hpp.
Ссылки: pcl::PolygonMesh::cloud, pcl::PolygonMesh::polygons и pcl::toPCLPointCloud2().
performReconstruction() [3/3]
|
Метод реконструкции, возвращающий многоугольник выпуклой оболочки.
- Параметры
-
[out] polygons многоугольник(и), представляющий(ие) выпуклую оболочку входных данных.
Реализует метод из pcl::MeshConstruction< PointInT >.
Определение в строке 474 файла convex_hull.hpp.
performReconstruction2D()
| protected |
Метод реконструкции для 2D-данных.
Не требует задания размерности.
- Параметры
-
[out] points результирующие точки, лежащие на выпуклой оболочке [out] polygons результирующие многоугольники выпуклой оболочки в виде набора вершин. Структура Vertices содержит массив индексов точек. [in] fill_polygon_data true, если многоугольники следует заполнить, и false в противном случае
Определение в строке 76 файла convex_hull.hpp.
Ссылки: pcl::PointCloud< PointT >::clear(), pcl::comparePoints2D(), pcl::compute3DCentroid(), pcl::computeCovarianceMatrixNormalized(), pcl::eigen33(), pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::console::isVerbosityLevelEnabled(), pcl::isXYZFinite(), pcl::console::L_DEBUG, pcl::PointCloud< PointT >::resize(), pcl::PointCloud< PointT >::size() и pcl::PointCloud< PointT >::width.
performReconstruction3D()
| protected |
Метод реконструкции для 3D-данных.
Не требует задания размерности.
- Параметры
-
[out] points результирующие точки, лежащие на выпуклой оболочке [out] polygons результирующие многоугольники выпуклой оболочки в виде набора вершин. Структура Vertices содержит массив индексов точек. [in] fill_polygon_data true, если многоугольники следует заполнить, и false в противном случае
Определение в строке 291 файла convex_hull.hpp.
Ссылки: pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::console::isVerbosityLevelEnabled(), pcl::console::L_DEBUG, pcl::PointCloud< PointT >::resize(), pcl::PointCloud< PointT >::size() и pcl::PointCloud< PointT >::width.
reconstruct() [1/2]
| void pcl::ConvexHull< PointInT >::reconstruct | ( | PointCloud & | points | ) |
Вычисляет выпуклую оболочку для всех заданных точек.
- Параметры
-
[out] points результирующие точки, лежащие на выпуклой оболочке.
Определение в строке 439 файла convex_hull.hpp.
Ссылки: pcl::PointCloud< PointT >::clear(), pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::size() и pcl::PointCloud< PointT >::width.
reconstruct() [2/2]
| void pcl::ConvexHull< PointInT >::reconstruct | ( | PointCloud & | points, |
| std::vector< pcl::Vertices > & | polygons | ||
| ) |
Вычисляет выпуклую оболочку для всех заданных точек.
- Примечание
- В 2D-случае (то есть если входные точки принадлежат одной плоскости) вектор polygons будет содержать один элемент, тогда как в 3D-случае он будет содержать по одному элементу для каждой грани оболочки.
- Параметры
-
[out] points результирующие точки, лежащие на выпуклой оболочке. [out] polygons результирующие многоугольники выпуклой оболочки в виде набора вершин. Структура Vertices содержит массив индексов точек.
Определение в строке 482 файла convex_hull.hpp.
Ссылки: pcl::PointCloud< PointT >::clear(), pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::size() и pcl::PointCloud< PointT >::width.
setComputeAreaVolume()
| inline |
Если установить значение true, библиотека qhull будет вызвана для вычисления общей площади и объёма выпуклой оболочки.
ПРИМЕЧАНИЕ: при включении этого параметра библиотека qhull выводит данные в консоль.
- Параметры
-
[in] value указывает, следует ли вычислять площадь и объём; по умолчанию — false
Определение в строке 121 файла convex_hull.h.
Ссылки: pcl::ConvexHull< PointInT >::compute_area_ и pcl::ConvexHull< PointInT >::qhull_flags.
setDimension()
| inline |
Задаёт размерность входных данных: 2D или 3D.
- Параметры
-
[in] dimension Размерность входных данных. Если она не задана, размерность определяется автоматически.
Определение в строке 150 файла convex_hull.h.
Ссылки: pcl::ConvexHull< PointInT >::dimension_ и pcl::ConvexHull< PointInT >::getClassName().
Документация по данным-членам
compute_area_
| protected |
Определение в строке 236 файла convex_hull.h.
Используется в pcl::ConvexHull< PointInT >::setComputeAreaVolume().
dimension_
| protected |
Размерность невыпуклой оболочки (2D или 3D).
Определение в строке 245 файла convex_hull.h.
Используется в pcl::ConvexHull< PointInT >::getDimension() и pcl::ConvexHull< PointInT >::setDimension().
hull_indices_
| protected |
Определение в строке 263 файла convex_hull.h.
projection_angle_thresh_
| protected |
Насколько близко нормаль плоскости 2D может располагаться к оси, прежде чем проекция станет проблематичной.
Определение в строке 248 файла convex_hull.h.
qhull_flags
| protected |
Строка флагов параметров, используемая при вызове qhull.
Определение в строке 251 файла convex_hull.h.
Используется в pcl::ConvexHull< PointInT >::setComputeAreaVolume().
total_area_
| protected |
Определение в строке 239 файла convex_hull.h.
Используется в pcl::ConvexHull< PointInT >::getTotalArea().
total_volume_
| protected |
Определение в строке 242 файла convex_hull.h.
Используется в pcl::ConvexHull< PointInT >::getTotalVolume().
x_axis_
| protected |
Определение в строке 254 файла convex_hull.h.
y_axis_
| protected |
Определение в строке 257 файла convex_hull.h.
z_axis_
| protected |
Определение в строке 260 файла convex_hull.h.
Документация по этому классу создана на основе следующих файлов:
- pcl/surface/convex_hull.h
- pcl/surface/impl/convex_hull.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_convex_hull.html