Spec-Zone.ru › PointCloudLibrary

ConvexHull с использованием библиотеки libqhull. Подробнее...

#include <pcl/surface/convex_hull.h>

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

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

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
- Общедоступные типы, унаследованные от pcl::MeshConstruction< PointInT >
using Ptr = shared_ptr< MeshConstruction< PointInT > >
using ConstPtr = shared_ptr< const MeshConstruction< PointInT > >
- Общедоступные типы, унаследованные от pcl::PCLSurfaceBase< 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
- Общедоступные типы, унаследованные от pcl::PCLBase< PointInT >
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
Получает индексы точек входного облака, образующих выпуклую оболочку. Подробнее...
- Открытые функции-члены, унаследованные от pcl::MeshConstruction< PointInT >
MeshConstruction ()=default
Конструктор. Подробнее...
~MeshConstruction () override=default
Деструктор. Подробнее...
void reconstruct (pcl::PolygonMesh &output) override
Базовый метод восстановления поверхности для всех точек, заданных в <setInputCloud (), setIndices ()> Подробнее...
virtual void reconstruct (std::vector< pcl::Vertices > &polygons)
Базовый метод построения сетки для всех точек, заданных в <setInputCloud (), setIndices ()> Подробнее...
- Открытые функции-члены, унаследованные от pcl::PCLSurfaceBase< PointInT >
PCLSurfaceBase ()
Пустой конструктор. Подробнее...
~PCLSurfaceBase () override=default
Пустой деструктор. Подробнее...
void setSearchMethod (const KdTreePtr &tree)
Задаёт необязательный указатель на объект поиска. Подробнее...
KdTreePtr getSearchMethod ()
Возвращает указатель на используемый метод поиска. Подробнее...
- Открытые функции-члены, унаследованные от pcl::PCLBase< PointInT >
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
Метод получения имени класса. Подробнее...
- Защищённые функции-члены, унаследованные от pcl::PCLBase< PointInT >
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_
- Защищённые атрибуты, унаследованные от pcl::MeshConstruction< PointInT >
bool check_tree_ {true}
Флаг, указывающий, требуется ли алгоритму реконструкции производного класса объект поиска tree. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::PCLSurfaceBase< PointInT >
KdTreePtr tree_
Указатель на объект пространственного поиска. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::PCLBase< PointInT >
PointCloudConstPtr input_
Входной набор облака точек. Подробнее...
IndicesPtr indices_
Указатель на вектор используемых индексов точек. Подробнее...
bool use_indices_
Установите значение true, если используются индексы точек. Подробнее...
bool fake_indices_
Если набор индексов не задан, создаётся набор фиктивных индексов, имитирующий входное облако точек. Подробнее...

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

template<typename PointInT>
class pcl::ConvexHull< PointInT >

ConvexHull с использованием библиотеки libqhull.

Автор
Aitor Aldoma, Alex Trevor

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

Описание псевдонимов типов-членов

ConstPtr

template<typename PointInT >
using pcl::ConvexHull< PointInT >::ConstPtr = shared_ptr<const ConvexHull<PointInT> >

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

PointCloud

template<typename PointInT >
using pcl::ConvexHull< PointInT >::PointCloud = pcl::PointCloud<PointInT>

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

PointCloudConstPtr

template<typename PointInT >
using pcl::ConvexHull< PointInT >::PointCloudConstPtr = typename PointCloud::ConstPtr

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

PointCloudPtr

template<typename PointInT >
using pcl::ConvexHull< PointInT >::PointCloudPtr = typename PointCloud::Ptr

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

Ptr

template<typename PointInT >
using pcl::ConvexHull< PointInT >::Ptr = shared_ptr<ConvexHull<PointInT> >

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

Описание конструкторов и деструкторов

ConvexHull()

template<typename PointInT >
pcl::ConvexHull< PointInT >::ConvexHull ( )
default

Пустой конструктор.

~ConvexHull()

template<typename PointInT >
pcl::ConvexHull< PointInT >::~ConvexHull ( )
overridedefault

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

Описание функций-членов

calculateInputDimension()

template<typename PointInT >
void pcl::ConvexHull< PointInT >::calculateInputDimension
protected

Автоматически определяет размерность входных данных — 2D или 3D.

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

Ссылки: pcl::compute3DCentroid(), pcl::computeCovarianceMatrixNormalized() и pcl::eigen33().

getClassName()

template<typename PointInT >
std::string pcl::ConvexHull< PointInT >::getClassName ( ) const
inlineoverrideprotectedvirtual

Метод получения имени класса.

Переопределяет метод из pcl::PCLSurfaceBase< PointInT >.

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

Используется в pcl::ConvexHull< PointInT >::setDimension().

getDimension()

template<typename PointInT >
int pcl::ConvexHull< PointInT >::getDimension ( ) const
inline

Возвращает размерность (2 или 3) вычисленной оболочки.

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

Ссылка на pcl::ConvexHull< PointInT >::dimension_.

getHullPointIndices()

template<typename PointInT >
void pcl::ConvexHull< PointInT >::getHullPointIndices ( pcl::PointIndices & hull_point_indices ) const

Возвращает индексы точек входного облака, образующих выпуклую оболочку.

Примечание
Вызывать только после выполнения реконструкции.
Параметры
[out] hull_point_indices Индексы точек, образующих облако точек

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

getTotalArea()

template<typename PointInT >
double pcl::ConvexHull< PointInT >::getTotalArea ( ) const

Возвращает общую площадь выпуклой оболочки.

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

Ссылка на pcl::ConvexHull< PointInT >::total_area_.

getTotalVolume()

template<typename PointInT >
double pcl::ConvexHull< PointInT >::getTotalVolume ( ) const

Возвращает общий объём выпуклой оболочки.

Корректно только для трёхмерных наборов. Для 2D-наборов объём равен нулю.

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

Ссылка на pcl::ConvexHull< PointInT >::total_volume_.

performReconstruction() [1/3]

template<typename PointInT >
void pcl::ConvexHull< PointInT >::performReconstruction ( PointCloud & points,
std::vector< pcl::Vertices > & polygons,
bool fill_polygon_data = false
)
protected

Метод, выполняющий реконструкцию.

Параметры
[out] points результирующие точки, лежащие на выпуклой оболочке
[out] polygons результирующие многоугольники выпуклой оболочки в виде набора вершин. Структура Vertices содержит массив индексов точек.
[in] fill_polygon_data true, если нужно заполнить многоугольники, иначе false

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

performReconstruction() [2/3]

template<typename PointInT >
void pcl::ConvexHull< PointInT >::performReconstruction ( PolygonMesh & output )
overrideprotectedvirtual

Метод реконструкции, возвращающий полигональную сетку.

Параметры
[out] output объект PolygonMesh, представляющий выпуклую оболочку входных данных.

Реализует метод из pcl::MeshConstruction< PointInT >.

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

Ссылки: pcl::PolygonMesh::cloud, pcl::PolygonMesh::polygons и pcl::toPCLPointCloud2().

performReconstruction() [3/3]

template<typename PointInT >
void pcl::ConvexHull< PointInT >::performReconstruction ( std::vector< pcl::Vertices > & polygons )
overrideprotectedvirtual

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

Параметры
[out] polygons многоугольник(и), представляющий(ие) выпуклую оболочку входных данных.

Реализует метод из pcl::MeshConstruction< PointInT >.

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

performReconstruction2D()

template<typename PointInT >
void pcl::ConvexHull< PointInT >::performReconstruction2D ( PointCloud & points,
std::vector< pcl::Vertices > & polygons,
bool fill_polygon_data = false
)
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()

template<typename PointInT >
void pcl::ConvexHull< PointInT >::performReconstruction3D ( PointCloud & points,
std::vector< pcl::Vertices > & polygons,
bool fill_polygon_data = false
)
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]

template<typename PointInT >
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]

template<typename PointInT >
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()

template<typename PointInT >
void pcl::ConvexHull< PointInT >::setComputeAreaVolume ( bool value )
inline

Если установить значение true, библиотека qhull будет вызвана для вычисления общей площади и объёма выпуклой оболочки.

ПРИМЕЧАНИЕ: при включении этого параметра библиотека qhull выводит данные в консоль.

Параметры
[in] value указывает, следует ли вычислять площадь и объём; по умолчанию — false

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

Ссылки: pcl::ConvexHull< PointInT >::compute_area_ и pcl::ConvexHull< PointInT >::qhull_flags.

setDimension()

template<typename PointInT >
void pcl::ConvexHull< PointInT >::setDimension ( int dimension )
inline

Задаёт размерность входных данных: 2D или 3D.

Параметры
[in] dimension Размерность входных данных. Если она не задана, размерность определяется автоматически.

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

Ссылки: pcl::ConvexHull< PointInT >::dimension_ и pcl::ConvexHull< PointInT >::getClassName().

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

compute_area_

template<typename PointInT >
bool pcl::ConvexHull< PointInT >::compute_area_ {false}
protected

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

Используется в pcl::ConvexHull< PointInT >::setComputeAreaVolume().

dimension_

template<typename PointInT >
int pcl::ConvexHull< PointInT >::dimension_ {0}
protected

Размерность невыпуклой оболочки (2D или 3D).

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

Используется в pcl::ConvexHull< PointInT >::getDimension() и pcl::ConvexHull< PointInT >::setDimension().

hull_indices_

template<typename PointInT >
pcl::PointIndices pcl::ConvexHull< PointInT >::hull_indices_
protected

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

projection_angle_thresh_

template<typename PointInT >
double pcl::ConvexHull< PointInT >::projection_angle_thresh_ {std::cos (0.174532925)}
protected

Насколько близко нормаль плоскости 2D может располагаться к оси, прежде чем проекция станет проблематичной.

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

qhull_flags

template<typename PointInT >
std::string pcl::ConvexHull< PointInT >::qhull_flags {"qhull "}
protected

Строка флагов параметров, используемая при вызове qhull.

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

Используется в pcl::ConvexHull< PointInT >::setComputeAreaVolume().

total_area_

template<typename PointInT >
double pcl::ConvexHull< PointInT >::total_area_ {0.0}
protected

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

Используется в pcl::ConvexHull< PointInT >::getTotalArea().

total_volume_

template<typename PointInT >
double pcl::ConvexHull< PointInT >::total_volume_ {0.0}
protected

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

Используется в pcl::ConvexHull< PointInT >::getTotalVolume().

x_axis_

template<typename PointInT >
const Eigen::Vector3d pcl::ConvexHull< PointInT >::x_axis_ {1.0, 0.0, 0.0}
protected

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

y_axis_

template<typename PointInT >
const Eigen::Vector3d pcl::ConvexHull< PointInT >::y_axis_ {0.0, 1.0, 0.0}
protected

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

z_axis_

template<typename PointInT >
const Eigen::Vector3d pcl::ConvexHull< PointInT >::z_axis_ {0.0, 0.0, 1.0}
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

Spec-Zone.ru

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