ConvexHull using libqhull library. Подробнее...
#include <pcl/surface/convex_hull.h>
Public Types | |
| 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 () | |
| Конструктор по умолчанию. Подробнее... |
|
| ~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 () | |
| Конструктор. Подробнее... |
|
| ~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[] для сокращения кода. Подробнее... |
|
Защищенные члены-функции | |
| 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) |
| Метод реконструкции для 2D данных. Подробнее... |
|
| void | performReconstruction3D (PointCloud &points, std::vector< pcl::Vertices > &polygons, bool fill_polygon_data=false) |
| Метод реконструкции для 3D данных. Подробнее... |
|
| void | performReconstruction (PolygonMesh &output) override |
| Метод реконструкции, возвращающий polygonmesh. Подробнее... |
|
| void | performReconstruction (std::vector< pcl::Vertices > &polygons) override |
| Метод реконструкции, возвращающий многоугольник выпуклой оболочки. Подробнее... |
|
| void | calculateInputDimension () |
| Автоматически определяет размерность входных данных - 2D или 3D. Подробнее... |
|
| std::string | getClassName () const override |
| Метод получения имени класса. Подробнее... |
|
|
| |
| bool | initCompute () |
| Этот метод должен вызываться перед началом фактического вычисления. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод должен вызываться после завершения фактического вычисления. Подробнее... |
|
Защищенные атрибуты | |
| bool | compute_area_ |
| double | total_area_ |
| double | total_volume_ |
| int | dimension_ |
| Размерность вогнутой оболочки (2D или 3D). Подробнее... |
|
| double | projection_angle_thresh_ |
| Насколько близко должна быть нормаль 2D-плоскости к оси, чтобы возникли проблемы с проекцией. Подробнее... |
|
| std::string | qhull_flags |
| Строка флагов опций для вызова qhull. Подробнее... |
|
| const Eigen::Vector3d | x_axis_ |
| const Eigen::Vector3d | y_axis_ |
| const Eigen::Vector3d | z_axis_ |
| pcl::PointIndices | hull_indices_ |
|
| |
| bool | check_tree_ |
| Флаг, указывающий, нужно ли производному алгоритму реконструкции использовать объект поиска tree. Подробнее... |
|
|
| |
| KdTreePtr | tree_ |
| Указатель на объект пространственного поиска. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Набор входных точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор индексов точек для использования. Подробнее... |
|
| bool | use_indices_ |
| Устанавливается в true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, создается набор фиктивных индексов, имитирующих входной PointCloud. Подробнее... |
|
Подробное описание
шаблон<typename PointInT>
класс 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()
| inline |
Пустой конструктор.
Определение в строке 91 файла convex_hull.h.
~ConvexHull()
| overridedefault |
Пустой деструктор.
Документация по членам-функциям
calculateInputDimension()
| protected |
Автоматически определяет размерность входных данных — 2D или 3D.
Определение в строке 57 файла convex_hull.hpp.
Ссылки на pcl::compute3DCentroid(), pcl::computeCovarianceMatrixNormalized() и pcl::eigen33().
getClassName()
| inlineoverrideprotectedvirtual |
Метод получения имени класса.
Переопределено из pcl::PCLSurfaceBase< PointInT >.
Определение в строке 234 файла convex_hull.h.
Используется в pcl::ConvexHull< PointInT >::setDimension().
getDimension()
| inline |
Возвращает размерность (2 или 3) вычисленной оболочки.
Определение в строке 164 файла convex_hull.h.
Ссылки на pcl::ConvexHull< PointInT >::dimension_.
getHullPointIndices()
| void pcl::ConvexHull< PointInT >::getHullPointIndices | ( | pcl::PointIndices & | hull_point_indices | ) | const |
Получение индексов точек входного облака точек, образующих выпуклую оболочку.
- Примечание
- Должно вызываться только после завершения построения.
- Параметры
-
[out] hull_point_indices Индексы точек, образующих облако точек
Определение в строке 503 файла convex_hull.hpp.
getTotalArea()
| inline |
Возвращает общую площадь выпуклой оболочки.
Определение в строке 136 файла convex_hull.h.
Ссылки на pcl::ConvexHull< PointInT >::total_area_.
getTotalVolume()
| inline |
Возвращает общий объём выпуклой оболочки.
Действительно только для 3-мерных множеств. Для 2D-множеств объём равен нулю.
Определение в строке 145 файла convex_hull.h.
Ссылки на pcl::ConvexHull< PointInT >::total_volume_.
performReconstruction() [1/3]
| protected |
Фактический метод реконструкции.
- Параметры
-
[out] points результирующие точки, лежащие на выпуклой оболочке [out] polygons результирующие многоугольники выпуклой оболочки, как набор вершин. Структура Vertices содержит массив индексов точек. [in] fill_polygon_data true, если многоугольники должны быть заполнены, в противном случае false
Определение в строке 425 файла convex_hull.hpp.
performReconstruction() [2/3]
| overrideprotectedvirtual |
Метод реконструкции, возвращающий polygonmesh.
- Параметры
-
[out] output PolygonMesh, представляющий выпуклую оболочку входных данных.
Реализует pcl::MeshConstruction< PointInT >.
Определение в строке 463 файла convex_hull.hpp.
Ссылки на pcl::PolygonMesh::cloud, pcl::PolygonMesh::polygons и pcl::toPCLPointCloud2().
performReconstruction() [3/3]
| overrideprotectedvirtual |
Метод реконструкции, возвращающий многоугольник выпуклой оболочки.
- Параметры
-
[out] polygons многоугольник(и) представляющий(ют) выпуклую оболочку входных данных.
Реализует pcl::MeshConstruction< PointInT >.
Определение в строке 475 файла 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::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
Определение в строке 292 файла convex_hull.hpp.
Ссылки на pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::resize(), pcl::PointCloud< PointT >::size() и pcl::PointCloud< PointT >::width.
reconstruct() [1/2]
| void pcl::ConvexHull< PointInT >::reconstruct | ( | PointCloud & | points | ) |
Вычисление выпуклой оболочки для всех заданных точек.
- Параметры
-
[out] points результирующие точки, лежащие на выпуклой оболочке.
Определение в строке 440 файла 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 содержит массив индексов точек.
Определение в строке 483 файла 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
Определение в строке 125 файла convex_hull.h.
Ссылки на pcl::ConvexHull< PointInT >::compute_area_, и pcl::ConvexHull< PointInT >::qhull_flags.
setDimension()
| inline |
Устанавливает размер входных данных, 2D или 3D.
- Параметры
-
[in] dimension Размерность входных данных. Если не установлено, это будет определено автоматически.
Определение в строке 154 файла convex_hull.h.
Ссылки на pcl::ConvexHull< PointInT >::dimension_, и pcl::ConvexHull< PointInT >::getClassName().
Данные членов
compute_area_
| protected |
Определение в строке 240 файла convex_hull.h.
Ссылка на pcl::ConvexHull< PointInT >::setComputeAreaVolume().
dimension_
| protected |
Размерность выпуклой оболочки (2D или 3D).
Определение в строке 249 файла convex_hull.h.
Ссылка на pcl::ConvexHull< PointInT >::getDimension(), и pcl::ConvexHull< PointInT >::setDimension().
hull_indices_
| protected |
Определение в строке 267 файла convex_hull.h.
projection_angle_thresh_
| protected |
Насколько близко может быть нормаль 2D плоскости к оси, чтобы сделать проекцию проблемной.
Определение в строке 252 файла convex_hull.h.
qhull_flags
| protected |
Строка флагов для вызова qhull.
Определение в строке 255 файла convex_hull.h.
Используется в pcl::ConvexHull< PointInT >::setComputeAreaVolume().
total_area_
| protected |
Определение в строке 243 файла convex_hull.h.
Используется в pcl::ConvexHull< PointInT >::getTotalArea().
total_volume_
| protected |
Определение в строке 246 файла convex_hull.h.
Используется в pcl::ConvexHull< PointInT >::getTotalVolume().
x_axis_
| protected |
Определение в строке 258 файла convex_hull.h.
y_axis_
| protected |
Определение в строке 261 файла convex_hull.h.
z_axis_
| protected |
Определение в строке 264 файла 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