Реализация отсекателя параллелепипедов в 3D. Фактически он поддерживает аффинные преобразования, а значит, может работать с параллелепипедами в произвольном положении. Аффинное преобразование применяется к точке перед её отсечением с помощью куба с центром в начале координат и границами от -1 до +1 по каждому измерению. Подробнее...
#include <pcl/filters/box_clipper3D.h>
Общедоступные типы | |
| using | Ptr = shared_ptr< BoxClipper3D< PointT > > |
| using | ConstPtr = shared_ptr< const BoxClipper3D< PointT > > |
|
| |
| using | Ptr = shared_ptr< Clipper3D< PointT > > |
| using | ConstPtr = shared_ptr< const Clipper3D< PointT > > |
Общедоступные функции-члены | |
| BoxClipper3D (const Eigen::Affine3f &transformation) | |
| Конструктор, принимающий матрицу аффинного преобразования, которая также позволяет выполнять сдвиг области отсечения. Подробнее... |
|
| BoxClipper3D (const Eigen::Vector3f &rodrigues, const Eigen::Vector3f &translation, const Eigen::Vector3f &box_size) | |
| Создаёт объект BoxClipper с масштабированным параллелепипедом в произвольном положении Подробнее... |
|
| void | setTransformation (const Eigen::Affine3f &transformation) |
| Задаёт аффинное преобразование. Подробнее... |
|
| void | setTransformation (const Eigen::Vector3f &rodrigues, const Eigen::Vector3f &translation, const Eigen::Vector3f &box_size) |
| Задаёт параллелепипед в произвольном положении, определяемом ориентацией, положением и размером Подробнее... |
|
| ~BoxClipper3D () noexcept override | |
| Виртуальный деструктор Подробнее... |
|
| bool | clipPoint3D (const PointT &point) const override |
| Интерфейс для отсечения одной точки Подробнее... |
|
| bool | clipLineSegment3D (PointT &from, PointT &to) const override |
| void | clipPlanarPolygon3D (std::vector< PointT, Eigen::aligned_allocator< PointT > > &polygon) const override |
| void | clipPlanarPolygon3D (const std::vector< PointT, Eigen::aligned_allocator< PointT > > &polygon, std::vector< PointT, Eigen::aligned_allocator< PointT > > &clipped_polygon) const override |
| void | clipPointCloud3D (const pcl::PointCloud< PointT > &cloud_in, Indices &clipped, const Indices &indices=Indices()) const override |
| Интерфейс для отсечения облака точек Подробнее... |
|
| Clipper3D< PointT > * | clone () const override |
| Полиморфный метод для создания копии используемого отсекателя вместе с его параметрами. Подробнее... |
|
|
| |
| virtual | ~Clipper3D () noexcept=default |
| Виртуальный деструктор. Подробнее... |
|
Защищённые функции-члены | |
| float | getDistance (const PointT &point) const |
| void | transformPoint (const PointT &pointIn, PointT &pointOut) const |
Подробное описание
template<typename PointT>
class pcl::BoxClipper3D< PointT >
Реализация отсекателя параллелепипедов в 3D. Фактически он поддерживает аффинные преобразования, а значит, может работать с параллелепипедами в произвольном положении. Аффинное преобразование применяется к точке перед её отсечением с помощью куба с центром в начале координат и границами от -1 до +1 по каждому измерению.
- См. также
- CropBox
Определение в строке 54 файла box_clipper3D.h.
Документация по псевдонимам типов-членов
ConstPtr
| using pcl::BoxClipper3D< PointT >::ConstPtr = shared_ptr<const BoxClipper3D<PointT> > |
Определение в строке 59 файла box_clipper3D.h.
Ptr
| using pcl::BoxClipper3D< PointT >::Ptr = shared_ptr<BoxClipper3D<PointT> > |
Определение в строке 58 файла box_clipper3D.h.
Документация по конструкторам и деструкторам
BoxClipper3D() [1/2]
| pcl::BoxClipper3D< PointT >::BoxClipper3D | ( | const Eigen::Affine3f & | transformation | ) |
Конструктор, принимающий матрицу аффинного преобразования, которая также позволяет выполнять сдвиг области отсечения.
- Параметры
-
[in] transformation трёхмерное аффинное преобразование, описывающее куб ([-1; +1] по каждому измерению). Преобразование применяется к точке (точкам)!
Определение в строке 41 файла box_clipper3D.hpp.
BoxClipper3D() [2/2]
| pcl::BoxClipper3D< PointT >::BoxClipper3D | ( | const Eigen::Vector3f & | rodrigues, |
| const Eigen::Vector3f & | translation, | ||
| const Eigen::Vector3f & | box_size | ||
| ) |
Создаёт объект BoxClipper с масштабированным параллелепипедом в произвольном положении
- Параметры
-
[in] rodrigues ось и угол поворота, заданные соответственно направлением и длиной вектора [in] translation положение центра параллелепипеда [in] box_size размер параллелепипеда по каждому измерению
Определение в строке 48 файла box_clipper3D.hpp.
~BoxClipper3D()
| overridedefaultnoexcept |
Виртуальный деструктор
Документация по функциям-членам
clipLineSegment3D()
| overridevirtual |
- Внимание
- непроверенный код
Реализует pcl::Clipper3D< PointT >.
Определение в строке 119 файла box_clipper3D.hpp.
clipPlanarPolygon3D() [1/2]
| overridevirtual |
- Внимание
- непроверенный код
Реализует pcl::Clipper3D< PointT >.
Определение в строке 173 файла box_clipper3D.hpp.
clipPlanarPolygon3D() [2/2]
| overridevirtual |
- Внимание
- непроверенный код
Реализует pcl::Clipper3D< PointT >.
Определение в строке 185 файла box_clipper3D.hpp.
clipPoint3D()
| overridevirtual |
Интерфейс для отсечения одной точки
- Параметры
-
[in] point проверяемая точка
- Возвращает
- true, если точка остаётся, false, если она отсечена
Реализует pcl::Clipper3D< PointT >.
Определение в строке 107 файла box_clipper3D.hpp.
clipPointCloud3D()
| overridevirtual |
Интерфейс для отсечения облака точек
- Параметры
-
[in] cloud_in входное облако точек [out] clipped индексы точек, оставшихся после отсечения входного облака [in] indices индексы точек в облаке точек, которые необходимо отсечь.
- Возвращает
- список индексов точек, оставшихся после отсечения.
Реализует pcl::Clipper3D< PointT >.
Определение в строке 195 файла box_clipper3D.hpp.
Ссылки: pcl::PointCloud< PointT >::size().
clone()
| overridevirtual |
полиморфный метод для клонирования базового отсекателя со всеми его параметрами.
- Возвращает
- новый объект отсекателя конкретного подкласса со всеми его параметрами.
Реализует pcl::Clipper3D< PointT >.
Определение в строке 74 файла box_clipper3D.hpp.
getDistance()
| protected |
setTransformation() [1/2]
| void pcl::BoxClipper3D< PointT >::setTransformation | ( | const Eigen::Affine3f & | transformation | ) |
Задать аффинное преобразование.
- Параметры
-
[in] transformation применяется к точке (точкам)
Определение в строке 60 файла box_clipper3D.hpp.
setTransformation() [2/2]
| void pcl::BoxClipper3D< PointT >::setTransformation | ( | const Eigen::Vector3f & | rodrigues, |
| const Eigen::Vector3f & | translation, | ||
| const Eigen::Vector3f & | box_size | ||
| ) |
задает коробку в произвольном положении, определяемом ориентацией, положением и размером
- Параметры
-
[in] rodrigues ось и угол поворота, задаваемые соответственно направлением и длиной вектора [in] translation положение центра коробки [in] box_size размер коробки по каждому измерению
Определение в строке 67 файла box_clipper3D.hpp.
transformPoint()
| protected |
Определение в строке 81 файла box_clipper3D.hpp.
Документация этого класса создана на основе следующих файлов:
- pcl/filters/box_clipper3D.h
- pcl/filters/impl/box_clipper3D.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_box_clipper3_d.html