Проверка того, удовлетворяют ли компоненты (x,y,z) заданной точки условию (p'Ap + 2v'p + c [OP] 0). Подробнее...
#include <pcl/filters/conditional_removal.h>
Общедоступные типы | |
| using | Ptr = shared_ptr< TfQuadraticXYZComparison< PointT > > |
| using | ConstPtr = shared_ptr< const TfQuadraticXYZComparison< 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 |
| Определить результат этого сравнения. Подробнее... |
|
|
| |
| ComparisonBase ()=default | |
| Конструктор. Подробнее... |
|
| virtual | ~ComparisonBase ()=default |
| Деструктор. Подробнее... |
|
| bool | isCapable () const |
| Возвращает, возможно ли выполнить сравнение. Подробнее... |
|
Защищённые атрибуты | |
| Eigen::Matrix4f | comp_matr_ |
| Eigen::Vector4f | comp_vect_ |
| float | comp_scalar_ |
|
| |
| 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:
- боковая поверхность: A = [0 0 0, 0 1 0, 0 0 1]; v = [0, 0, 0]; c = -radius²; OP = LT (означает «<»)
- нижнее основание: A = 0; v = [0.5, 0, 0]; c = -x_min; OP = GT
- верхнее основание: A = 0; v = [0.5, 0, 0]; c = -x_max; OP = LT
Определение в строке 311 файла conditional_removal.h.
Описание псевдонимов типов-членов
ConstPtr
| using pcl::TfQuadraticXYZComparison< PointT >::ConstPtr = shared_ptr<const TfQuadraticXYZComparison<PointT> > |
Определение в строке 317 файла conditional_removal.h.
Ptr
| using pcl::TfQuadraticXYZComparison< PointT >::Ptr = shared_ptr<TfQuadraticXYZComparison<PointT> > |
Определение в строке 316 файла conditional_removal.h.
Описание конструкторов и деструктора
TfQuadraticXYZComparison() [1/2]
| 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()
| overridedefault |
Пустой деструктор.
TfQuadraticXYZComparison() [2/2]
| 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()
| 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]
| 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]
| inline |
Задаёт матрицу «A» для сравнения «p'Ap + 2v'p + c [OP] 0».
Определение в строке 360 файла conditional_removal.h.
Ссылки на pcl::TfQuadraticXYZComparison< PointT >::comp_matr_.
setComparisonOperator()
| inline |
Задаёт оператор «[OP]» для сравнения «p'Ap + 2v'p + c [OP] 0».
Определение в строке 340 файла conditional_removal.h.
Ссылка на pcl::ComparisonBase< PointT >::op_.
setComparisonScalar()
| inline |
Задаёт скаляр «c» для сравнения «p'Ap + 2v'p + c [OP] 0».
Определение в строке 387 файла conditional_removal.h.
Ссылка на pcl::TfQuadraticXYZComparison< PointT >::comp_scalar_.
setComparisonVector() [1/2]
| 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]
| inline |
Задаёт вектор «v» для сравнения «p'Ap + 2v'p + c [OP] 0».
Определение в строке 378 файла conditional_removal.h.
Ссылка на pcl::TfQuadraticXYZComparison< PointT >::comp_vect_.
transformComparison() [1/2]
| inline |
Преобразует систему координат сравнения.
Если считать преобразование переносом и поворотом сравнения в той же системе координат, необходимо передать обратное преобразование. Эта функция не изменяет исходное определение сравнения. Поэтому при каждом вызове этой функции исходное определение сравнения используется как начальная точка преобразования.
- Параметры
-
transform преобразование (поворот и перенос), заданное аффинной матрицей.
Определение в строке 418 файла conditional_removal.h.
Ссылка на pcl::TfQuadraticXYZComparison< PointT >::transformComparison().
transformComparison() [2/2]
| 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_
| protected |
comp_scalar_
| protected |
Определение в строке 437 файла conditional_removal.h.
Используется в pcl::TfQuadraticXYZComparison< PointT >::setComparisonScalar().
comp_vect_
| protected |
Документация этого класса создана на основе следующих файлов:
- 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