Сравнение, удовлетворяют ли компоненты (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 () | |
| Конструктор. Подробнее... |
|
| virtual | ~ComparisonBase ()=default |
| Деструктор. Подробнее... |
|
| bool | isCapable () const |
| Возвращает, если сравнение выполнимо. Подробнее... |
|
Защищённые атрибуты | |
| Eigen::Matrix4f | comp_matr_ |
| Eigen::Vector4f | comp_vect_ |
| float | comp_scalar_ |
|
| |
| bool | capable_ |
| Истина, если способно. Подробнее... |
|
| std::string | field_name_ |
| Имя поля для сравнения данных. Подробнее... |
|
| std::uint32_t | offset_ |
| Смещение данных. Подробнее... |
|
| ComparisonOps::CompareOp | op_ |
| Тип оператора сравнения. Подробнее... |
|
Подробное описание
шаблон<typename PointT>
класс 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) определённого радиуса и длины, необходимо объединить три сравнения как условие И:
- сторона: A = [0 0 0, 0 1 0, 0 0 1]; v = [0, 0, 0]; c = -радиус²; 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
| используя pcl::TfQuadraticXYZComparison< PointT >::ConstPtr = shared_ptr<const TfQuadraticXYZComparison<PointT> > |
Определение в строке 317 файла conditional_removal.h.
Ptr
| используя 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()
| переопределёнпо умолчанию |
Пустой деструктор.
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 () | ||
| ) |
Конструктор.
- Parameters
-
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 |
Определить результат этого сравнения.
- Parameters
-
point точка для оценки
- Returns
- результат этого сравнения.
Реализует 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 |
The documentation for this class was generated from the following files:
- 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