Spec-Zone.ru › PointCloudLibrary

Алгоритм реконструкции поверхности методом marching cubes с использованием функции знакового расстояния, основанной на расстоянии от касательных плоскостей, предложенный Hoppe и др. Подробнее...

#include <pcl/surface/marching_cubes_hoppe.h>

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

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

using Ptr = shared_ptr< MarchingCubesHoppe< PointNT > >
using ConstPtr = shared_ptr< const MarchingCubesHoppe< PointNT > >
using PointCloudPtr = typename pcl::PointCloud< PointNT >::Ptr
using KdTree = pcl::KdTree< PointNT >
using KdTreePtr = typename KdTree::Ptr
- Общедоступные типы, унаследованные от pcl::MarchingCubes< PointNT >
using Ptr = shared_ptr< MarchingCubes< PointNT > >
using ConstPtr = shared_ptr< const MarchingCubes< PointNT > >
using PointCloudPtr = typename pcl::PointCloud< PointNT >::Ptr
using KdTree = pcl::KdTree< PointNT >
using KdTreePtr = typename KdTree::Ptr
- Общедоступные типы, унаследованные от pcl::SurfaceReconstruction< PointNT >
using Ptr = shared_ptr< SurfaceReconstruction< PointNT > >
using ConstPtr = shared_ptr< const SurfaceReconstruction< PointNT > >
- Общедоступные типы, унаследованные от 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

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

MarchingCubesHoppe (const float dist_ignore=-1.0f, const float percentage_extend_grid=0.0f, const float iso_level=0.0f)
Конструктор. Подробнее...
~MarchingCubesHoppe () override
Деструктор. Подробнее...
void voxelizeData () override
Преобразует облако точек в воксельные данные. Подробнее...
void setDistanceIgnore (const float dist_ignore)
Задаёт расстояние, за пределами которого воксели, удалённые от облака точек, игнорируются. Подробнее...
float getDistanceIgnore () const
Возвращает расстояние, за пределами которого воксели, удалённые от облака точек, игнорируются. Подробнее...
- Открытые функции-члены, унаследованные от pcl::MarchingCubes< PointNT >
MarchingCubes (const float percentage_extend_grid=0.0f, const float iso_level=0.0f)
Конструктор. Подробнее...
~MarchingCubes () override
Деструктор. Подробнее...
void setIsoLevel (float iso_level)
Задаёт изоуровень извлекаемой поверхности. Подробнее...
float getIsoLevel ()
Возвращает изоуровень извлекаемой поверхности. Подробнее...
void setGridResolution (int res_x, int res_y, int res_z)
Задаёт разрешение сетки алгоритма marching cubes. Подробнее...
void getGridResolution (int &res_x, int &res_y, int &res_z)
Возвращает разрешение сетки алгоритма marching cubes. Подробнее...
void setPercentageExtendGrid (float percentage)
Задаёт параметр, определяющий, сколько свободного пространства следует оставить внутри сетки между ограничивающим параллелепипедом облака точек и границами сетки. Подробнее...
float getPercentageExtendGrid ()
Возвращает параметр, определяющий, сколько свободного пространства следует оставить внутри сетки между ограничивающим параллелепипедом облака точек и границами сетки; значение задаётся в процентах от ограничивающего параллелепипеда. Подробнее...
- Открытые функции-члены, унаследованные от pcl::SurfaceReconstruction< PointNT >
SurfaceReconstruction ()=default
Конструктор. Подробнее...
~SurfaceReconstruction () override=default
Деструктор. Подробнее...
void reconstruct (pcl::PolygonMesh &output) override
Базовый метод реконструкции поверхности по всем точкам, заданным в <setInputCloud (), setIndices ()> Подробнее...
virtual void reconstruct (pcl::PointCloud< PointNT > &points, 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[] для сокращения кода. Подробнее...

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

float dist_ignore_
Игнорировать функцию расстояния, если она отрицательна или если расстояние между центроидом вокселя и точкой превышает это значение. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::MarchingCubes< PointNT >
std::vector< float > grid_
Структура данных, в которой хранится трёхмерная сетка. Подробнее...
int res_x_ = 32
Разрешение сетки. Подробнее...
int res_y_ = 32
int res_z_ = 32
Eigen::Array3f upper_boundary_
Ограничивающий параллелепипед Подробнее...
Eigen::Array3f lower_boundary_
Eigen::Array3f size_voxel_
Размер вокселей Подробнее...
float percentage_extend_grid_
Параметр, задающий размер свободного пространства, которое должно оставаться внутри сетки между ограничивающим параллелепипедом облака точек и границами сетки, в процентах от размера ограничивающего параллелепипеда. Подробнее...
float iso_level_
Извлекаемый изоуровень. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::SurfaceReconstruction< PointNT >
bool check_tree_
Флаг, указывающий, требуется ли алгоритму реконструкции производного класса объект поиска tree. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::PCLSurfaceBase< PointInT >
KdTreePtr tree_
Указатель на объект пространственного поиска. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::PCLBase< PointInT >
PointCloudConstPtr input_
Входной набор данных облака точек. Подробнее...
IndicesPtr indices_
Указатель на вектор индексов точек, которые следует использовать. Подробнее...
bool use_indices_
Установите значение true, если используются индексы точек. Подробнее...
bool fake_indices_
Если набор индексов не задан, создаётся набор фиктивных индексов, соответствующий входному PointCloud. Подробнее...

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

- Защищённые функции-члены, унаследованные от pcl::MarchingCubes< PointNT >
void interpolateEdge (Eigen::Vector3f &p1, Eigen::Vector3f &p2, float val_p1, float val_p2, Eigen::Vector3f &output)
Интерполировать вдоль ребра вокселя. Подробнее...
void createSurface (const std::vector< float > &leaf_node, const Eigen::Vector3i &index_3d, pcl::PointCloud< PointNT > &cloud)
Вычислить соответствующие многоугольники в листовом узле. Подробнее...
void getBoundingBox ()
Получить ограничивающий параллелепипед для входных точек данных. Подробнее...
virtual float getGridValue (Eigen::Vector3i pos)
Метод, возвращающий скалярное значение в заданной позиции сетки. Подробнее...
void getNeighborList1D (std::vector< float > &leaf, Eigen::Vector3i &index3d)
Метод, возвращающий скалярные значения соседей заданной трёхмерной позиции в сетке. Подробнее...
std::string getClassName () const override
Метод получения имени класса. Подробнее...
void performReconstruction (pcl::PolygonMesh &output) override
Извлечь поверхность. Подробнее...
void performReconstruction (pcl::PointCloud< PointNT > &points, std::vector< pcl::Vertices > &polygons) override
Извлечь поверхность. Подробнее...
- Защищённые функции-члены, унаследованные от pcl::PCLBase< PointInT >
bool initCompute ()
Этот метод следует вызывать перед началом собственно вычислений. Подробнее...
bool deinitCompute ()
Этот метод следует вызывать после завершения собственно вычислений. Подробнее...

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

template<typename PointNT>
class pcl::MarchingCubesHoppe< PointNT >

Алгоритм реконструкции поверхности методом марширующих кубов с использованием знаковой функции расстояния, основанной на расстоянии до касательных плоскостей и предложенной Hoppe et al.

в работе: Hoppe H., DeRose T., Duchamp T., MC-Donald J., Stuetzle W., «Реконструкция поверхности по неупорядоченным точкам», SIGGRAPH '92

Параметры шаблона
PointNT Используйте pcl::PointNormal или pcl::PointXYZRGBNormal или pcl::PointXYZINormal
Автор
Alexandru E. Ichim

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

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

ConstPtr

template<typename PointNT >
using pcl::MarchingCubesHoppe< PointNT >::ConstPtr = shared_ptr<const MarchingCubesHoppe<PointNT> >

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

KdTree

template<typename PointNT >
using pcl::MarchingCubesHoppe< PointNT >::KdTree = pcl::KdTree<PointNT>

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

KdTreePtr

template<typename PointNT >
using pcl::MarchingCubesHoppe< PointNT >::KdTreePtr = typename KdTree::Ptr

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

PointCloudPtr

template<typename PointNT >
using pcl::MarchingCubesHoppe< PointNT >::PointCloudPtr = typename pcl::PointCloud<PointNT>::Ptr

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

Ptr

template<typename PointNT >
using pcl::MarchingCubesHoppe< PointNT >::Ptr = shared_ptr<MarchingCubesHoppe<PointNT> >

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

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

MarchingCubesHoppe()

template<typename PointNT >
pcl::MarchingCubesHoppe< PointNT >::MarchingCubesHoppe ( const float dist_ignore = -1.0f,
const float percentage_extend_grid = 0.0f,
const float iso_level = 0.0f
)
inline

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

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

~MarchingCubesHoppe()

template<typename PointNT >
pcl::MarchingCubesHoppe< PointNT >::~MarchingCubesHoppe ( )
overridedefault

Деструктор.

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

getDistanceIgnore()

template<typename PointNT >
float pcl::MarchingCubesHoppe< PointNT >::getDistanceIgnore ( ) const
inline

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

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

Ссылки: pcl::MarchingCubesHoppe< PointNT >::dist_ignore_.

setDistanceIgnore()

template<typename PointNT >
void pcl::MarchingCubesHoppe< PointNT >::setDistanceIgnore ( const float dist_ignore )
inline

Метод, задающий расстояние для исключения вокселей, удалённых от облака точек.

Если расстояние отрицательное, функции расстояния вычисляются для всех вокселей; в противном случае при построении марширующих кубов используются только воксели, расстояние до которых меньше dist_ignore.

Параметры
[in] dist_ignore пороговое расстояние. Значение по умолчанию — -1.0. Задайте отрицательное значение, если нужно использовать все воксели.

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

См. также pcl::MarchingCubesHoppe< PointNT >::dist_ignore_.

voxelizeData()

template<typename PointNT >
void pcl::MarchingCubesHoppe< PointNT >::voxelizeData
overridevirtual

Преобразует облако точек в данные вокселей.

Реализует pcl::MarchingCubes< PointNT >.

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

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

dist_ignore_

template<typename PointNT >
float pcl::MarchingCubesHoppe< PointNT >::dist_ignore_
protected

Не вычислять функцию расстояния, если это значение отрицательное или расстояние между центроидом вокселя и точкой превышает его.

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

Используется в pcl::MarchingCubesHoppe< PointNT >::getDistanceIgnore() и pcl::MarchingCubesHoppe< PointNT >::setDistanceIgnore().


Документация этого класса создана на основе следующих файлов:
  • pcl/surface/marching_cubes_hoppe.h
  • pcl/surface/impl/marching_cubes_hoppe.hpp

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_marching_cubes_hoppe.html

Spec-Zone.ru

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