Spec-Zone.ru › PointCloudLibrary

SampleConsensusModelCylinder определяет модель для сегментации 3D-цилиндров. Подробнее...

#include <pcl/sample_consensus/sac_model_cylinder.h>

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

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

using PointCloud = typename SampleConsensusModel< PointT >::PointCloud
using PointCloudPtr = typename SampleConsensusModel< PointT >::PointCloudPtr
using PointCloudConstPtr = typename SampleConsensusModel< PointT >::PointCloudConstPtr
using Ptr = shared_ptr< SampleConsensusModelCylinder< PointT, PointNT > >
using ConstPtr = shared_ptr< const SampleConsensusModelCylinder< PointT, PointNT > >
- Общедоступные типы, унаследованные от pcl::SampleConsensusModel< PointT >
using PointCloud = pcl::PointCloud< PointT >
using PointCloudConstPtr = typename PointCloud::ConstPtr
using PointCloudPtr = typename PointCloud::Ptr
using SearchPtr = typename pcl::search::Search< PointT >::Ptr
using Ptr = shared_ptr< SampleConsensusModel< PointT > >
using ConstPtr = shared_ptr< const SampleConsensusModel< PointT > >
- Общедоступные типы, унаследованные от pcl::SampleConsensusModelFromNormals< PointT, PointNT >
using PointCloudNConstPtr = typename pcl::PointCloud< PointNT >::ConstPtr
using PointCloudNPtr = typename pcl::PointCloud< PointNT >::Ptr
using Ptr = shared_ptr< SampleConsensusModelFromNormals< PointT, PointNT > >
using ConstPtr = shared_ptr< const SampleConsensusModelFromNormals< PointT, PointNT > >

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

SampleConsensusModelCylinder (const PointCloudConstPtr &cloud, bool random=false)
Конструктор базового класса SampleConsensusModelCylinder. Подробнее...
SampleConsensusModelCylinder (const PointCloudConstPtr &cloud, const Indices &indices, bool random=false)
Конструктор базового класса SampleConsensusModelCylinder. Подробнее...
SampleConsensusModelCylinder (const SampleConsensusModelCylinder &source)
Конструктор копирования. Подробнее...
~SampleConsensusModelCylinder () override=default
Пустой деструктор. Подробнее...
SampleConsensusModelCylinder & operator= (const SampleConsensusModelCylinder &source)
Конструктор копирования. Подробнее...
void setEpsAngle (const double ea)
Задать пороговое значение углового допуска (дельты). Подробнее...
double getEpsAngle () const
Получить пороговое значение углового допуска (дельты). Подробнее...
void setAxis (const Eigen::Vector3f &ax)
Задать ось, вдоль которой нужно искать направление цилиндра. Подробнее...
Eigen::Vector3f getAxis () const
Получить ось, вдоль которой нужно искать направление цилиндра. Подробнее...
bool computeModelCoefficients (const Indices &samples, Eigen::VectorXf &model_coefficients) const override
Проверить, могут ли заданные выборки индексов образовать допустимую модель цилиндра, вычислить по ним коэффициенты модели и сохранить их в model_coefficients. Подробнее...
void getDistancesToModel (const Eigen::VectorXf &model_coefficients, std::vector< double > &distances) const override
Вычислить расстояния от всех точек облака данных до заданной модели цилиндра. Подробнее...
void selectWithinDistance (const Eigen::VectorXf &model_coefficients, const double threshold, Indices &inliers) override
Выбрать все точки, соответствующие заданным коэффициентам модели, в качестве внутренних точек. Подробнее...
std::size_t countWithinDistance (const Eigen::VectorXf &model_coefficients, const double threshold) const override
Подсчитать все точки, соответствующие заданным коэффициентам модели, в качестве внутренних точек. Подробнее...
void optimizeModelCoefficients (const Indices &inliers, const Eigen::VectorXf &model_coefficients, Eigen::VectorXf &optimized_coefficients) const override
Повторно вычислить коэффициенты цилиндра по заданному набору внутренних точек и вернуть их пользователю. Подробнее...
void projectPoints (const Indices &inliers, const Eigen::VectorXf &model_coefficients, PointCloud &projected_points, bool copy_data_fields=true) const override
Создать новое облако точек, спроецировав внутренние точки на модель цилиндра. Подробнее...
bool doSamplesVerifyModel (const std::set< index_t > &indices, const Eigen::VectorXf &model_coefficients, const double threshold) const override
Проверить, соответствует ли подмножество индексов заданным коэффициентам модели цилиндра. Подробнее...
pcl::SacModel getModelType () const override
Вернуть уникальный идентификатор этой модели (SACMODEL_CYLINDER). Подробнее...
- Унаследованные открытые функции-члены класса pcl::SampleConsensusModel< PointT >
SampleConsensusModel (const PointCloudConstPtr &cloud, bool random=false)
Конструктор базового класса SampleConsensusModel. Подробнее...
SampleConsensusModel (const PointCloudConstPtr &cloud, const Indices &indices, bool random=false)
Конструктор базового класса SampleConsensusModel. Подробнее...
virtual ~SampleConsensusModel ()=default
Деструктор базового класса SampleConsensusModel. Подробнее...
virtual void getSamples (int &iterations, Indices &samples)
Получить набор случайных выборок данных и вернуть их в виде индексов точек. Подробнее...
virtual void setInputCloud (const PointCloudConstPtr &cloud)
Передать указатель на входной набор данных. Подробнее...
PointCloudConstPtr getInputCloud () const
Получить указатель на входной набор данных облака точек. Подробнее...
void setIndices (const IndicesPtr &indices)
Передать указатель на вектор индексов, представляющий входные данные. Подробнее...
void setIndices (const Indices &indices)
Передать вектор индексов, представляющий входные данные. Подробнее...
IndicesPtr getIndices () const
Получить указатель на используемый вектор индексов. Подробнее...
const std::string & getClassName () const
Получить строковое представление имени этого класса. Подробнее...
unsigned int getSampleSize () const
Вернуть размер выборки, по которой вычисляется модель. Подробнее...
unsigned int getModelSize () const
Вернуть количество коэффициентов модели. Подробнее...
void setRadiusLimits (const double &min_radius, const double &max_radius)
Задать минимальное и максимальное допустимые значения радиуса модели (применимо к моделям, оценивающим радиус). Подробнее...
void getRadiusLimits (double &min_radius, double &max_radius) const
Получить заданные пользователем минимальное и максимальное допустимые значения радиуса модели. Подробнее...
void setModelConstraints (std::function< bool(const Eigen::VectorXf &)> function)
Этот метод позволяет накладывать на модель любые ограничения, например. Подробнее...
void setSamplesMaxDist (const double &radius, SearchPtr search)
Задать максимальное расстояние при случайном выборе выборок. Подробнее...
void getSamplesMaxDist (double &radius) const
Получить максимальное расстояние при случайном выборе выборок. Подробнее...
double computeVariance (const std::vector< double > &error_sqr_dists) const
Вычислить дисперсию ошибок модели. Подробнее...
double computeVariance () const
Вычислить дисперсию ошибок модели по внутренне рассчитанному вектору расстояний. Подробнее...
- Унаследованные открытые функции-члены класса pcl::SampleConsensusModelFromNormals< PointT, PointNT >
SampleConsensusModelFromNormals ()
Пустой конструктор базового класса SampleConsensusModelFromNormals. Подробнее...
virtual ~SampleConsensusModelFromNormals ()=default
Деструктор. Подробнее...
void setNormalDistanceWeight (const double w)
Задать вес углового расстояния для нормалей. Подробнее...
double getNormalDistanceWeight () const
Получить вес углового расстояния для нормалей. Подробнее...
void setInputNormals (const PointCloudNConstPtr &normals)
Передать указатель на входной набор данных, содержащий нормали точек набора данных XYZ. Подробнее...
PointCloudNConstPtr getInputNormals () const
Получить указатель на нормали входного набора данных облака точек XYZ. Подробнее...

Защищённые функции-члены

double pointToLineDistance (const Eigen::Vector4f &pt, const Eigen::VectorXf &model_coefficients) const
Получить расстояние от точки до прямой (заданной точкой и направлением). Подробнее...
void projectPointToLine (const Eigen::Vector4f &pt, const Eigen::Vector4f &line_pt, const Eigen::Vector4f &line_dir, Eigen::Vector4f &pt_proj) const
Спроецировать точку на прямую, заданную точкой и вектором направления. Подробнее...
void projectPointToCylinder (const Eigen::Vector4f &pt, const Eigen::VectorXf &model_coefficients, Eigen::Vector4f &pt_proj) const
Спроецировать точку на цилиндр, заданный коэффициентами модели (point_on_axis, axis_direction, cylinder_radius_R). Подробнее...
bool isModelValid (const Eigen::VectorXf &model_coefficients) const override
Проверить, удовлетворяет ли модель пользовательским ограничениям. Подробнее...
bool isSampleGood (const Indices &samples) const override
Проверить, образуют ли индексы выборки допустимую выборку точек. Подробнее...
- Защищённые функции-члены, унаследованные от pcl::SampleConsensusModel< PointT >
SampleConsensusModel (bool random=false)
Пустой конструктор базового класса SampleConsensusModel. Подробнее...
void drawIndexSample (Indices &sample)
Заполняет массив выборки случайными элементами из вектора indices_. Подробнее...
void drawIndexSampleRadius (Indices &sample)
Заполняет массив выборки одним случайным элементом из вектора indices_ и другими случайными элементами, расположенными ближе, чем samples_radius_. Подробнее...
int rnd ()
Генератор случайных чисел на основе Boost. Подробнее...

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

- Защищённые атрибуты, унаследованные от pcl::SampleConsensusModel< PointT >
std::string model_name_
Имя модели. Подробнее...
PointCloudConstPtr input_
Общий указатель Boost на массив данных облака точек. Подробнее...
IndicesPtr indices_
Указатель на вектор используемых индексов точек. Подробнее...
double radius_min_
Минимальное и максимальное ограничения радиуса модели. Подробнее...
double radius_max_
double samples_radius_
Максимальное расстояние от первой выборки до последующих (поиск по радиусу). Подробнее...
SearchPtr samples_radius_search_
Объект поиска для выбора последующих выборок с помощью поиска по радиусу. Подробнее...
Indices shuffled_indices_
Данные, содержащие перемешанную версию индексов. Подробнее...
boost::mt19937 rng_alg_
Алгоритм генератора случайных чисел на основе Boost. Подробнее...
std::shared_ptr< boost::uniform_int<> > rng_dist_
Распределение генератора случайных чисел на основе Boost. Подробнее...
std::shared_ptr< boost::variate_generator< boost::mt19937 &, boost::uniform_int<> > > rng_gen_
Генератор случайных чисел на основе Boost. Подробнее...
std::vector< double > error_sqr_dists_
Вектор расстояний до вычисленной модели. Подробнее...
unsigned int sample_size_
Размер выборки, по которой вычисляется модель. Подробнее...
unsigned int model_size_
Количество коэффициентов модели. Подробнее...
std::function< bool(const Eigen::VectorXf &)> custom_model_constraints_
Пользовательская функция, принимающая коэффициенты модели и возвращающая признак допустимости модели. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::SampleConsensusModelFromNormals< PointT, PointNT >
double normal_distance_weight_ {0.0}
Относительный вес (от 0 до 1), назначаемый угловому расстоянию (от 0 до pi/2) между нормалями точек и нормалью плоскости. Подробнее...
PointCloudNConstPtr normals_
Указатель на входной набор данных, содержащий нормали точек набора данных XYZ. Подробнее...
- Статические защищённые атрибуты, унаследованные от pcl::SampleConsensusModel< PointT >
static const unsigned int max_sample_checks_ = 1000
Максимальное количество проверяемых выборок до нахождения подходящей. Подробнее...

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

template<typename PointT, typename PointNT>
class pcl::SampleConsensusModelCylinder< PointT, PointNT >

SampleConsensusModelCylinder задаёт модель для сегментации 3D-цилиндров.

Коэффициенты модели определяются следующим образом:

  • point_on_axis.x : координата X точки, расположенной на оси цилиндра
  • point_on_axis.y : координата Y точки, расположенной на оси цилиндра
  • point_on_axis.z : координата Z точки, расположенной на оси цилиндра
  • axis_direction.x : координата X вектора направления оси цилиндра
  • axis_direction.y : координата Y вектора направления оси цилиндра
  • axis_direction.z : координата Z вектора направления оси цилиндра
  • radius : радиус цилиндра
Автор
Radu Bogdan Rusu

Определение находится в строке 68 файла sac_model_cylinder.h.

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

ConstPtr

template<typename PointT , typename PointNT >
using pcl::SampleConsensusModelCylinder< PointT, PointNT >::ConstPtr = shared_ptr<const SampleConsensusModelCylinder<PointT, PointNT> >

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

PointCloud

template<typename PointT , typename PointNT >
using pcl::SampleConsensusModelCylinder< PointT, PointNT >::PointCloud = typename SampleConsensusModel<PointT>::PointCloud

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

PointCloudConstPtr

template<typename PointT , typename PointNT >
using pcl::SampleConsensusModelCylinder< PointT, PointNT >::PointCloudConstPtr = typename SampleConsensusModel<PointT>::PointCloudConstPtr

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

PointCloudPtr

template<typename PointT , typename PointNT >
using pcl::SampleConsensusModelCylinder< PointT, PointNT >::PointCloudPtr = typename SampleConsensusModel<PointT>::PointCloudPtr

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

Ptr

template<typename PointT , typename PointNT >
using pcl::SampleConsensusModelCylinder< PointT, PointNT >::Ptr = shared_ptr<SampleConsensusModelCylinder<PointT, PointNT> >

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

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

SampleConsensusModelCylinder() [1/3]

template<typename PointT , typename PointNT >
pcl::SampleConsensusModelCylinder< PointT, PointNT >::SampleConsensusModelCylinder ( const PointCloudConstPtr & cloud,
bool random = false
)
inline

Конструктор базового класса SampleConsensusModelCylinder.

Параметры
[in] cloud входной набор данных облака точек
[in] random если значение true, начальное значение генератора случайных чисел устанавливается равным текущему времени, иначе — 12345 (по умолчанию: false)

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

Ссылки: pcl::SampleConsensusModel< PointT >::model_name_, pcl::SampleConsensusModel< PointT >::model_size_ и pcl::SampleConsensusModel< PointT >::sample_size_.

SampleConsensusModelCylinder() [2/3]

template<typename PointT , typename PointNT >
pcl::SampleConsensusModelCylinder< PointT, PointNT >::SampleConsensusModelCylinder ( const PointCloudConstPtr & cloud,
const Indices & indices,
bool random = false
)
inline

Конструктор базового класса SampleConsensusModelCylinder.

Параметры
[in] cloud входной набор данных облака точек
[in] indices вектор индексов точек из cloud, которые следует использовать
[in] random если значение true, начальное значение генератора случайных чисел устанавливается равным текущему времени, иначе — 12345 (по умолчанию: false)

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

Ссылки: pcl::SampleConsensusModel< PointT >::model_name_, pcl::SampleConsensusModel< PointT >::model_size_ и pcl::SampleConsensusModel< PointT >::sample_size_.

SampleConsensusModelCylinder() [3/3]

template<typename PointT , typename PointNT >
pcl::SampleConsensusModelCylinder< PointT, PointNT >::SampleConsensusModelCylinder ( const SampleConsensusModelCylinder< PointT, PointNT > & source )
inline

Конструктор копирования.

Параметры
[in] source модель, которую следует скопировать в этот объект

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

Ссылки: pcl::SampleConsensusModel< PointT >::model_name_.

~SampleConsensusModelCylinder()

template<typename PointT , typename PointNT >
pcl::SampleConsensusModelCylinder< PointT, PointNT >::~SampleConsensusModelCylinder ( )
overridedefault

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

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

computeModelCoefficients()

template<typename PointT , typename PointNT >
bool pcl::SampleConsensusModelCylinder< PointT, PointNT >::computeModelCoefficients ( const Indices & samples,
Eigen::VectorXf & model_coefficients
) const
overridevirtual

Проверяет, могут ли заданные индексы выборки образовать допустимую модель цилиндра, вычисляет коэффициенты модели по этим точкам и сохраняет их в model_coefficients.

Коэффициенты цилиндра: точка на оси, направление оси, радиус цилиндра R

Параметры
[in] samples индексы точек, выбранных в качестве возможных кандидатов для построения допустимой модели
[out] model_coefficients полученные коэффициенты модели

Реализует pcl::SampleConsensusModel< PointT >.

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

Ссылки: pcl::sqrPointToLineDistance().

countWithinDistance()

template<typename PointT , typename PointNT >
std::size_t pcl::SampleConsensusModelCylinder< PointT, PointNT >::countWithinDistance ( const Eigen::VectorXf & model_coefficients,
const double threshold
) const
overridevirtual

Подсчитывает все точки, соответствующие заданным коэффициентам модели, то есть являющиеся внутренними точками.

Параметры
[in] model_coefficients коэффициенты модели, относительно которой необходимо вычислить расстояния
[in] threshold максимально допустимый порог расстояния для определения внутренних и внешних точек
Возвращает
полученное количество внутренних точек

Реализует pcl::SampleConsensusModel< PointT >.

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

Ссылки: pcl::getAngle3D() и M_PI.

doSamplesVerifyModel()

template<typename PointT , typename PointNT >
bool pcl::SampleConsensusModelCylinder< PointT, PointNT >::doSamplesVerifyModel ( const std::set< index_t > & indices,
const Eigen::VectorXf & model_coefficients,
const double threshold
) const
overridevirtual

Проверяет, соответствует ли подмножество индексов заданным коэффициентам модели цилиндра.

Параметры
[in] indices индексы данных, которые необходимо проверить на соответствие модели цилиндра
[in] model_coefficients коэффициенты модели цилиндра
[in] threshold максимально допустимый порог расстояния для определения внутренних и внешних точек

Реализует pcl::SampleConsensusModel< PointT >.

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

getAxis()

template<typename PointT , typename PointNT >
Eigen::Vector3f pcl::SampleConsensusModelCylinder< PointT, PointNT >::getAxis ( ) const
inline

Возвращает ось, вдоль которой необходимо искать направление цилиндра.

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

Используется в pcl::SACSegmentationFromNormals< PointT, PointNT >::initSACModel().

getDistancesToModel()

template<typename PointT , typename PointNT >
void pcl::SampleConsensusModelCylinder< PointT, PointNT >::getDistancesToModel ( const Eigen::VectorXf & model_coefficients,
std::vector< double > & distances
) const
overridevirtual

Вычисляет расстояния от всех точек облака до заданной модели цилиндра.

Параметры
[in] model_coefficients коэффициенты модели цилиндра, относительно которой необходимо вычислить расстояния
[out] distances полученные оценочные расстояния

Реализует pcl::SampleConsensusModel< PointT >.

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

Ссылки: pcl::getAngle3D() и M_PI.

getEpsAngle()

template<typename PointT , typename PointNT >
double pcl::SampleConsensusModelCylinder< PointT, PointNT >::getEpsAngle ( ) const
inline

Возвращает пороговое значение угла эпсилон (дельта).

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

Используется в pcl::SACSegmentationFromNormals< PointT, PointNT >::initSACModel().

getModelType()

template<typename PointT , typename PointNT >
pcl::SacModel pcl::SampleConsensusModelCylinder< PointT, PointNT >::getModelType ( ) const
inlineoverridevirtual

Возвращает уникальный идентификатор этой модели (SACMODEL_CYLINDER).

Реализует pcl::SampleConsensusModel< PointT >.

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

Ссылки: pcl::SACMODEL_CYLINDER.

isModelValid()

template<typename PointT , typename PointNT >
bool pcl::SampleConsensusModelCylinder< PointT, PointNT >::isModelValid ( const Eigen::VectorXf & model_coefficients ) const
overrideprotectedvirtual

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

Параметры
[in] model_coefficients набор коэффициентов модели

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

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

Ссылки: pcl::getAngle3D() и M_PI.

isSampleGood()

template<typename PointT , typename PointNT >
bool pcl::SampleConsensusModelCylinder< PointT, PointNT >::isSampleGood ( const Indices & samples ) const
overrideprotectedvirtual

Проверить, является ли выборка индексов подходящей выборкой индексов точек.

Чисто виртуальная функция.

Параметры
[in] samples результирующая выборка индексов

Реализует pcl::SampleConsensusModel< PointT >.

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

operator=()

template<typename PointT , typename PointNT >
SampleConsensusModelCylinder& pcl::SampleConsensusModelCylinder< PointT, PointNT >::operator= ( const SampleConsensusModelCylinder< PointT, PointNT > & source )
inline

Конструктор копирования.

Параметры
[in] source модель, которая копируется в этот объект

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

optimizeModelCoefficients()

template<typename PointT , typename PointNT >
void pcl::SampleConsensusModelCylinder< PointT, PointNT >::optimizeModelCoefficients ( const Indices & inliers,
const Eigen::VectorXf & model_coefficients,
Eigen::VectorXf & optimized_coefficients
) const
overridevirtual

Пересчитать коэффициенты цилиндра с использованием заданного набора внутренних точек и вернуть их пользователю.

Примечание
: это коэффициенты модели цилиндра после уточнения (например, после SVD)
Параметры
[in] inliers внутренние точки данных, определённые как поддерживающие модель
[in] model_coefficients начальное приближение для оптимизации
[out] optimized_coefficients результирующие пересчитанные коэффициенты после нелинейной оптимизации

Реализует pcl::SampleConsensusModel< PointT >.

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

Ссылки: pcl::internal::optimizeModelCoefficientsCylinder().

pointToLineDistance()

template<typename PointT , typename PointNT >
double pcl::SampleConsensusModelCylinder< PointT, PointNT >::pointToLineDistance ( const Eigen::Vector4f & pt,
const Eigen::VectorXf & model_coefficients
) const
protected

Получить расстояние от точки до прямой (заданной точкой и направлением).

Параметры
[in] pt точка
[in] model_coefficients коэффициенты прямой (точка на прямой, направление прямой)

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

Ссылки: pcl::sqrPointToLineDistance().

projectPoints()

template<typename PointT , typename PointNT >
void pcl::SampleConsensusModelCylinder< PointT, PointNT >::projectPoints ( const Indices & inliers,
const Eigen::VectorXf & model_coefficients,
PointCloud & projected_points,
bool copy_data_fields = true
) const
overridevirtual

Создать новое облако точек, проецируя внутренние точки на модель цилиндра.

Параметры
[in] inliers внутренние точки данных, которые требуется спроецировать на модель цилиндра
[in] model_coefficients коэффициенты модели цилиндра
[out] projected_points результирующие спроецированные точки
[in] copy_data_fields установите значение true, если необходимо скопировать остальные поля данных

Реализует pcl::SampleConsensusModel< PointT >.

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

Ссылки: pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::resize(), pcl::PointCloud< PointT >::size() и pcl::PointCloud< PointT >::width.

projectPointToCylinder()

template<typename PointT , typename PointNT >
void pcl::SampleConsensusModelCylinder< PointT, PointNT >::projectPointToCylinder ( const Eigen::Vector4f & pt,
const Eigen::VectorXf & model_coefficients,
Eigen::Vector4f & pt_proj
) const
protected

Спроецировать точку на цилиндр, заданный его коэффициентами модели (point_on_axis, axis_direction, cylinder_radius_R).

Параметры
[in] pt входная точка для проецирования
[in] model_coefficients коэффициенты цилиндра (point_on_axis, axis_direction, cylinder_radius_R)
[out] pt_proj результирующая спроецированная точка

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

projectPointToLine()

template<typename PointT , typename PointNT >
void pcl::SampleConsensusModelCylinder< PointT, PointNT >::projectPointToLine ( const Eigen::Vector4f & pt,
const Eigen::Vector4f & line_pt,
const Eigen::Vector4f & line_dir,
Eigen::Vector4f & pt_proj
) const
inlineprotected

Спроецировать точку на прямую, заданную точкой и вектором направления.

Параметры
[in] pt входная точка для проецирования
[in] line_pt точка на прямой (убедитесь, что line_pt[3] = 0, так как внутренние проверки отсутствуют!)
[in] line_dir направление прямой (убедитесь, что line_dir[3] = 0, так как внутренние проверки отсутствуют!)
[out] pt_proj результирующая спроецированная точка

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

selectWithinDistance()

template<typename PointT , typename PointNT >
void pcl::SampleConsensusModelCylinder< PointT, PointNT >::selectWithinDistance ( const Eigen::VectorXf & model_coefficients,
const double threshold,
Indices & inliers
)
overridevirtual

Выбрать все точки, соответствующие заданным коэффициентам модели, в качестве внутренних точек.

Параметры
[in] model_coefficients коэффициенты модели цилиндра, относительно которой необходимо вычислить расстояния
[in] threshold максимально допустимый порог расстояния для определения внутренних точек среди выбросов
[out] inliers результирующие внутренние точки модели

Реализует pcl::SampleConsensusModel< PointT >.

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

Ссылки: pcl::geometry::distance(), pcl::getAngle3D() и M_PI.

setAxis()

template<typename PointT , typename PointNT >
void pcl::SampleConsensusModelCylinder< PointT, PointNT >::setAxis ( const Eigen::Vector3f & ax )
inline

Задать ось, вдоль которой необходимо искать направление цилиндра.

Параметры
[in] ax ось, вдоль которой необходимо искать направление цилиндра

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

Используется в: pcl::SACSegmentationFromNormals< PointT, PointNT >::initSACModel().

setEpsAngle()

template<typename PointT , typename PointNT >
void pcl::SampleConsensusModelCylinder< PointT, PointNT >::setEpsAngle ( const double ea )
inline

Задать пороговое значение углового эпсилон (дельта).

Параметры
[in] ea максимально допустимая разница между осью цилиндра и заданной осью.

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

Используется в: pcl::SACSegmentationFromNormals< PointT, PointNT >::initSACModel().


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

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

Spec-Zone.ru

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