Spec-Zone.ru › PointCloudLibrary

Проверка того, удовлетворяют ли компоненты (x,y,z) заданной точки условию (p'Ap + 2v'p + c [OP] 0). Подробнее...

#include <pcl/filters/conditional_removal.h>

Inheritance graph
[обозначения]
Collaboration graph
[обозначения]

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

using Ptr = shared_ptr< TfQuadraticXYZComparison< PointT > >
using ConstPtr = shared_ptr< const TfQuadraticXYZComparison< PointT > >
- Общедоступные типы, унаследованные от pcl::ComparisonBase< PointT >
using Ptr = shared_ptr< ComparisonBase< PointT > >
using ConstPtr = shared_ptr< const ComparisonBase< PointT > >

Общедоступные функции-члены

TfQuadraticXYZComparison ()
Конструктор. Подробнее...
~TfQuadraticXYZComparison () override=default
Пустой деструктор. Подробнее...
TfQuadraticXYZComparison (const pcl::ComparisonOps::CompareOp op, const Eigen::Matrix3f &comparison_matrix, const Eigen::Vector3f &comparison_vector, const float &comparison_scalar, const Eigen::Affine3f &comparison_transform=Eigen::Affine3f::Identity())
Конструктор. Подробнее...
void setComparisonOperator (const pcl::ComparisonOps::CompareOp op)
Задать оператор «[OP]» сравнения «p'Ap + 2v'p + c [OP] 0». Подробнее...
void setComparisonMatrix (const Eigen::Matrix3f &matrix)
Задать матрицу «A» сравнения «p'Ap + 2v'p + c [OP] 0». Подробнее...
void setComparisonMatrix (const Eigen::Matrix4f &homogeneousMatrix)
Задать матрицу «A» сравнения «p'Ap + 2v'p + c [OP] 0». Подробнее...
void setComparisonVector (const Eigen::Vector3f &vector)
Задать вектор «v» сравнения «p'Ap + 2v'p + c [OP] 0». Подробнее...
void setComparisonVector (const Eigen::Vector4f &homogeneousVector)
Задать вектор «v» сравнения «p'Ap + 2v'p + c [OP] 0». Подробнее...
void setComparisonScalar (const float &scalar)
Задать скаляр «c» сравнения «p'Ap + 2v'p + c [OP] 0». Подробнее...
void transformComparison (const Eigen::Matrix4f &transform)
Преобразовать систему координат сравнения. Подробнее...
void transformComparison (const Eigen::Affine3f &transform)
Преобразовать систему координат сравнения. Подробнее...
bool evaluate (const PointT &point) const override
Определить результат этого сравнения. Подробнее...
- Общедоступные функции-члены, унаследованные от pcl::ComparisonBase< PointT >
ComparisonBase ()=default
Конструктор. Подробнее...
virtual ~ComparisonBase ()=default
Деструктор. Подробнее...
bool isCapable () const
Возвращает, возможно ли выполнить сравнение. Подробнее...

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

Eigen::Matrix4f comp_matr_
Eigen::Vector4f comp_vect_
float comp_scalar_
- Защищённые атрибуты, унаследованные от pcl::ComparisonBase< PointT >
bool capable_ {false}
Истинно, если сравнение возможно. Подробнее...
std::string field_name_
Имя поля, по которому сравниваются данные. Подробнее...
std::uint32_t offset_ {0}
Смещение данных. Подробнее...
ComparisonOps::CompareOp op_ {ComparisonOps::GT}
Тип оператора сравнения. Подробнее...

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

template<typename PointT>
class pcl::TfQuadraticXYZComparison< PointT >

Проверка того, удовлетворяют ли компоненты (x,y,z) заданной точки условию (p'Ap + 2v'p + c [OP] 0).

Здесь [OP] обозначает заданный оператор из pcl::ComparisonOps, то есть GT, GE, LT, LE или EQ; p = (x,y,z) — точка облака точек; A — матрица 3x3; v — вектор 3x1; c — скаляр.

TfQuadraticXYZComparison также можно использовать для более простых геометрических фигур, задав квадратичные составляющие (то есть матрицу A) равными нулю. Комбинируя разные экземпляры TfQuadraticXYZComparison, можно получить более сложные фигуры. Например, чтобы задать простой цилиндр (вдоль оси x) с определёнными радиусом и длиной, нужно объединить три сравнения условием AND:

  1. боковая поверхность: A = [0 0 0, 0 1 0, 0 0 1]; v = [0, 0, 0]; c = -radius²; OP = LT (означает «<»)
  2. нижнее основание: A = 0; v = [0.5, 0, 0]; c = -x_min; OP = GT
  3. верхнее основание: A = 0; v = [0.5, 0, 0]; c = -x_max; OP = LT
Автор
Julian Löchner

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

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

ConstPtr

template<typename PointT >
using pcl::TfQuadraticXYZComparison< PointT >::ConstPtr = shared_ptr<const TfQuadraticXYZComparison<PointT> >

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

Ptr

template<typename PointT >
using pcl::TfQuadraticXYZComparison< PointT >::Ptr = shared_ptr<TfQuadraticXYZComparison<PointT> >

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

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

TfQuadraticXYZComparison() [1/2]

template<typename PointT >
pcl::TfQuadraticXYZComparison< PointT >::TfQuadraticXYZComparison

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

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

Ссылки: pcl::ComparisonBase< PointT >::capable_, pcl::TfQuadraticXYZComparison< PointT >::comp_matr_, pcl::TfQuadraticXYZComparison< PointT >::comp_vect_, pcl::ComparisonOps::EQ и pcl::ComparisonBase< PointT >::op_.

~TfQuadraticXYZComparison()

template<typename PointT >
pcl::TfQuadraticXYZComparison< PointT >::~TfQuadraticXYZComparison ( )
overridedefault

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

TfQuadraticXYZComparison() [2/2]

template<typename PointT >
pcl::TfQuadraticXYZComparison< PointT >::TfQuadraticXYZComparison ( const pcl::ComparisonOps::CompareOp op,
const Eigen::Matrix3f & comparison_matrix,
const Eigen::Vector3f & comparison_vector,
const float & comparison_scalar,
const Eigen::Affine3f & comparison_transform = Eigen::Affine3f::Identity ()
)

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

Параметры
op оператор «[OP]» сравнения «p'Ap + 2v'p + c [OP] 0».
comparison_matrix матрица «A» сравнения «p'Ap + 2v'p + c [OP] 0».
comparison_vector вектор «v» сравнения «p'Ap + 2v'p + c [OP] 0».
comparison_scalar скаляр «c» сравнения «p'Ap + 2v'p + c [OP] 0».
comparison_transform преобразование сравнения.

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

Ссылки: pcl::ComparisonBase< PointT >::capable_, pcl::ComparisonBase< PointT >::op_, pcl::TfQuadraticXYZComparison< PointT >::setComparisonMatrix(), pcl::TfQuadraticXYZComparison< PointT >::setComparisonVector() и pcl::TfQuadraticXYZComparison< PointT >::transformComparison().

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

evaluate()

template<typename PointT >
bool pcl::TfQuadraticXYZComparison< PointT >::evaluate ( const PointT & point ) const
overridevirtual

Определяет результат этого сравнения.

Параметры
point точка для проверки
Возвращает
результат этого сравнения.

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

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

Ссылки на pcl::ComparisonOps::EQ, pcl::ComparisonOps::GE, pcl::ComparisonOps::GT, pcl::ComparisonOps::LE и pcl::ComparisonOps::LT.

setComparisonMatrix() [1/2]

template<typename PointT >
void pcl::TfQuadraticXYZComparison< PointT >::setComparisonMatrix ( const Eigen::Matrix3f & matrix )
inline

Задаёт матрицу «A» для сравнения «p'Ap + 2v'p + c [OP] 0».

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

Ссылки на pcl::TfQuadraticXYZComparison< PointT >::comp_matr_.

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

setComparisonMatrix() [2/2]

template<typename PointT >
void pcl::TfQuadraticXYZComparison< PointT >::setComparisonMatrix ( const Eigen::Matrix4f & homogeneousMatrix )
inline

Задаёт матрицу «A» для сравнения «p'Ap + 2v'p + c [OP] 0».

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

Ссылки на pcl::TfQuadraticXYZComparison< PointT >::comp_matr_.

setComparisonOperator()

template<typename PointT >
void pcl::TfQuadraticXYZComparison< PointT >::setComparisonOperator ( const pcl::ComparisonOps::CompareOp op )
inline

Задаёт оператор «[OP]» для сравнения «p'Ap + 2v'p + c [OP] 0».

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

Ссылка на pcl::ComparisonBase< PointT >::op_.

setComparisonScalar()

template<typename PointT >
void pcl::TfQuadraticXYZComparison< PointT >::setComparisonScalar ( const float & scalar )
inline

Задаёт скаляр «c» для сравнения «p'Ap + 2v'p + c [OP] 0».

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

Ссылка на pcl::TfQuadraticXYZComparison< PointT >::comp_scalar_.

setComparisonVector() [1/2]

template<typename PointT >
void pcl::TfQuadraticXYZComparison< PointT >::setComparisonVector ( const Eigen::Vector3f & vector )
inline

Задаёт вектор «v» для сравнения «p'Ap + 2v'p + c [OP] 0».

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

Ссылка на pcl::TfQuadraticXYZComparison< PointT >::comp_vect_.

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

setComparisonVector() [2/2]

template<typename PointT >
void pcl::TfQuadraticXYZComparison< PointT >::setComparisonVector ( const Eigen::Vector4f & homogeneousVector )
inline

Задаёт вектор «v» для сравнения «p'Ap + 2v'p + c [OP] 0».

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

Ссылка на pcl::TfQuadraticXYZComparison< PointT >::comp_vect_.

transformComparison() [1/2]

template<typename PointT >
void pcl::TfQuadraticXYZComparison< PointT >::transformComparison ( const Eigen::Affine3f & transform )
inline

Преобразует систему координат сравнения.

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

Параметры
transform преобразование (поворот и перенос), заданное аффинной матрицей.

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

Ссылка на pcl::TfQuadraticXYZComparison< PointT >::transformComparison().

transformComparison() [2/2]

template<typename PointT >
void pcl::TfQuadraticXYZComparison< PointT >::transformComparison ( const Eigen::Matrix4f & transform )
inline

Преобразует систему координат сравнения.

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

Параметры
transform преобразование (поворот и перенос), заданное аффинной матрицей.

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

Ссылки на pcl::TfQuadraticXYZComparison< PointT >::comp_matr_ и pcl::TfQuadraticXYZComparison< PointT >::comp_vect_.

Используется в pcl::TfQuadraticXYZComparison< PointT >::TfQuadraticXYZComparison() и pcl::TfQuadraticXYZComparison< PointT >::transformComparison().

Описание данных-членов

comp_matr_

template<typename PointT >
Eigen::Matrix4f pcl::TfQuadraticXYZComparison< PointT >::comp_matr_
protected

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

Используется в pcl::TfQuadraticXYZComparison< PointT >::setComparisonMatrix(), pcl::TfQuadraticXYZComparison< PointT >::TfQuadraticXYZComparison() и pcl::TfQuadraticXYZComparison< PointT >::transformComparison().

comp_scalar_

template<typename PointT >
float pcl::TfQuadraticXYZComparison< PointT >::comp_scalar_
protected

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

Используется в pcl::TfQuadraticXYZComparison< PointT >::setComparisonScalar().

comp_vect_

template<typename PointT >
Eigen::Vector4f pcl::TfQuadraticXYZComparison< PointT >::comp_vect_
protected

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

Используется в pcl::TfQuadraticXYZComparison< PointT >::setComparisonVector(), pcl::TfQuadraticXYZComparison< PointT >::TfQuadraticXYZComparison() и pcl::TfQuadraticXYZComparison< PointT >::transformComparison().


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

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

Spec-Zone.ru

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