Spec-Zone.ru › PointCloudLibrary

Grabber для устройств DINAST (например, IPA-1002, IPA-1110, IPA-2001) Подробнее...

#include <pcl/io/dinast_grabber.h>

Inheritance graph
[условные обозначения]
Collaboration graph
[условные обозначения]

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

DinastGrabber (const int device_position=1)
Конструктор, задающий константы grabber. Подробнее...
~DinastGrabber () noexcept override
Деструктор. Подробнее...
bool isRunning () const override
Проверяет, выполняется ли grabber. Подробнее...
std::string getName () const override
Возвращает имя конкретного подкласса — DinastGrabber. Подробнее...
void start () override
Запускает процесс получения данных. Подробнее...
void stop () override
Останавливает процесс получения данных. Подробнее...
float getFramesPerSecond () const override
Возвращает количество кадров в секунду (FPS). Подробнее...
std::string getDeviceVersion ()
Возвращает номер версии текущего открытого устройства. Подробнее...
- Открытые функции-члены, унаследованные от pcl::Grabber
Grabber ()=default
Конструктор по умолчанию. Подробнее...
Grabber (const Grabber &)=delete
Конструктор копирования отсутствует, поскольку Grabber нельзя копировать. Подробнее...
Grabber & operator= (const Grabber &)=delete
Оператор присваивания копированием отсутствует, поскольку Grabber нельзя копировать. Подробнее...
Grabber (Grabber &&)=default
Конструктор перемещения. Подробнее...
Grabber & operator= (Grabber &&)=default
Оператор присваивания перемещением. Подробнее...
virtual ~Grabber () noexcept=default
Виртуальный деструктор. Подробнее...
template<typename T >
boost::signals2::connection registerCallback (const std::function< T > &callback)
Регистрирует функцию/метод обратного вызова для сигнала с соответствующей сигнатурой Подробнее...
template<typename T >
bool providesCallback () const noexcept
Показывает, существует ли сигнал с заданным типом параметра Подробнее...
bool toggle ()
Для устройств, передающих поток данных: останавливает запущенный поток или запускает остановленный. Подробнее...

Защищённые типы

enum pixel_size { RAW8 =1 , RGB16 =2 , RGB24 =3 , RGB32 =4 }
Размер пикселя. Подробнее...
enum { CMD_READ_START =0xC7 , CMD_READ_STOP =0xC8 , CMD_GET_VERSION =0xDC , CMD_SEND_DATA =0xDE }
Значения команд устройства. Подробнее...

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

void onInit (const int device_id)
Обработка инициализации. Подробнее...
void setupDevice (int device_position, const int id_vendor=0x18d1, const int id_product=0x1402)
Настраивает устройство — 3D-камеру Dinast. Подробнее...
bool USBRxControlData (const unsigned char req_code, unsigned char *buffer, int length)
Отправляет запрос на получение пакета данных RX. Подробнее...
bool USBTxControlData (const unsigned char req_code, unsigned char *buffer, int length)
Отправляет запрос на передачу пакета данных TX. Подробнее...
int checkHeader ()
Проверяет наличие заголовка в глобальном буфере и возвращает позицию следующего корректного изображения. Подробнее...
void readImage ()
Считывает данные изображения и сохраняет их в image_. Подробнее...
pcl::PointCloud< pcl::PointXYZI >::Ptr getXYZIPointCloud ()
Получает облако точек XYZI из изображения камеры. Подробнее...
void captureThreadFunction ()
Функция, отвечающая за получение данных с камеры. Подробнее...
- Защищённые функции-члены, унаследованные от pcl::Grabber
virtual void signalsChanged ()
template<typename T >
boost::signals2::signal< T > * find_signal () const noexcept
template<typename T >
int num_slots () const noexcept
template<typename T >
void disconnect_all_slots ()
template<typename T >
void block_signal ()
template<typename T >
void unblock_signal ()
void block_signals ()
void unblock_signals ()
template<typename T >
boost::signals2::signal< T > * createSignal ()

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

int image_width_ {320}
Ширина изображения. Подробнее...
int image_height_ {240}
Высота изображения. Подробнее...
int image_size_ {image_width_ * image_height_}
Общий размер изображения. Подробнее...
int sync_packet_size_ {512}
Длина пакета синхронизации. Подробнее...
double dist_max_2d_ {1. / (image_width_ / 2.)}
double fov_ {64. * M_PI / 180.}
Диагональное поле зрения Подробнее...
libusb_context * context_ {nullptr}
Контекст libusb. Подробнее...
struct libusb_device_handle * device_handle_ {nullptr}
Дескриптор используемого устройства камеры Подробнее...
unsigned char * raw_buffer_ {nullptr}
Временный буфер чтения USB: поскольку за один раз считываются два изображения RGB16, его размер равен удвоенному размеру двух изображений плюс пакет синхронизации. Подробнее...
boost::circular_buffer< unsigned char > g_buffer_
Глобальный кольцевой буфер. Подробнее...
unsigned char bulk_ep_ {std::numeric_limits<unsigned char>::max ()}
Значение адреса конечной точки Bulk. Подробнее...
unsigned char * image_ {nullptr}
bool second_image_ {false}
Так как после первого изображения заголовка нет, необходимо сохранить состояние. Подробнее...
bool running_ {false}
std::thread capture_thread_
std::mutex capture_mutex_
boost::signals2::signal< sig_cb_dinast_point_cloud > * point_cloud_signal_
- Защищённые атрибуты, унаследованные от pcl::Grabber
std::map< std::string, std::unique_ptr< boost::signals2::signal_base > > signals_
std::map< std::string, std::vector< boost::signals2::connection > > connections_
std::map< std::string, std::vector< boost::signals2::shared_connection_block > > shared_connections_

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

Захватчик для устройств DINAST (например, IPA-1002, IPA-1110, IPA-2001)

Автор
Marco A. Gutierrez marco.nosp@m.g@un.nosp@m.ex.es

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

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

анонимное перечисление

анонимное перечисление
защищённый

Значения команд устройства.

Элемент перечисления
CMD_READ_START
CMD_READ_STOP
CMD_GET_VERSION
CMD_SEND_DATA

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

pixel_size

enum pcl::DinastGrabber::pixel_size
защищённый

Размер пикселя.

Элемент перечисления
RAW8
RGB16
RGB24
RGB32

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

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

DinastGrabber()

pcl::DinastGrabber::DinastGrabber ( const int device_position = 1 )

Конструктор, задающий константы захватчика.

Параметры
[in] device_position Номер устройства, данные с которого нужно захватывать

~DinastGrabber()

pcl::DinastGrabber::~DinastGrabber ( )
переопределённыйне выбрасывает исключений

Деструктор.

Не выбрасывает исключений.

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

captureThreadFunction()

void pcl::DinastGrabber::captureThreadFunction ( )
защищённый

Функция, отвечающая за получение данных с камеры.

checkHeader()

int pcl::DinastGrabber::checkHeader ( )
защищённый

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

Примечание
Если изображение в буфере неполное, возвращает -1, поскольку необходимо дождаться добавления новых данных.
Возвращает
позицию следующего корректного изображения (то есть сразу после корректного заголовка) или -1, если в буфере нет изображения либо оно неполное

getDeviceVersion()

std::string pcl::DinastGrabber::getDeviceVersion ( )

Возвращает номер версии открытого в данный момент устройства.

getFramesPerSecond()

float pcl::DinastGrabber::getFramesPerSecond ( ) const
переопределённыйвиртуальный

Возвращает количество кадров в секунду (FPS).

Реализует pcl::Grabber.

getName()

std::string pcl::DinastGrabber::getName ( ) const
встроенныйпереопределённыйвиртуальный

Возвращает имя конкретного подкласса: DinastGrabber.

Возвращает
DinastGrabber.

Реализует pcl::Grabber.

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

getXYZIPointCloud()

pcl::PointCloud<pcl::PointXYZI>::Ptr pcl::DinastGrabber::getXYZIPointCloud ( )
защищённый

Создаёт облако точек XYZI на основе изображения с камеры.

Возвращает
облако точек, полученное из данных изображения

isRunning()

bool pcl::DinastGrabber::isRunning ( ) const
переопределённыйвиртуальный

Проверяет, запущен ли захватчик.

Возвращает
true, если захватчик запущен или выполняет потоковую передачу данных; в противном случае — false.

Реализует pcl::Grabber.

onInit()

void pcl::DinastGrabber::onInit ( const int device_id )
защищённый

Обработка при инициализации.

readImage()

void pcl::DinastGrabber::readImage ( )
защищённый

Считывает данные изображения и сохраняет их в image_.

setupDevice()

void pcl::DinastGrabber::setupDevice ( int device_position,
const int id_vendor = 0x18d1,
const int id_product = 0x1402
)
защищённый

Настраивает устройство камеры Dinast 3D.

Параметры
[in] device_position Номер устройства, данные с которого нужно захватывать
[in] id_vendor Идентификатор производителя камеры (должен быть 0x18d1)
[in] id_product Идентификатор продукта (должен быть 0x1402)

start()

void pcl::DinastGrabber::start ( )
переопределённыйвиртуальный

Запускает процесс сбора данных.

Реализует pcl::Grabber.

stop()

void pcl::DinastGrabber::stop ( )
переопределённыйвиртуальный

Останавливает процесс сбора данных.

Реализует pcl::Grabber.

USBRxControlData()

bool pcl::DinastGrabber::USBRxControlData ( const unsigned char req_code,
unsigned char * buffer,
int length
)
защищённый

Отправляет запрос на получение пакета данных RX.

Параметры
[in] req_code запрос для отправки (поле запроса пакета настройки)
buffer
[in] length поле длины пакета настройки. Буфер данных должен быть не меньше указанного размера.

USBTxControlData()

bool pcl::DinastGrabber::USBTxControlData ( const unsigned char req_code,
unsigned char * buffer,
int length
)
защищённый

Отправляет запрос на передачу пакета данных TX.

Параметры
[in] req_code запрос для отправки (поле запроса пакета настройки)
buffer
[in] length поле длины пакета настройки. Буфер данных должен быть не меньше указанного размера.

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

bulk_ep_

unsigned char pcl::DinastGrabber::bulk_ep_ {std::numeric_limits<unsigned char>::max ()}
защищённый

Значение адреса конечной точки Bulk.

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

capture_mutex_

std::mutex pcl::DinastGrabber::capture_mutex_
изменяемыйзащищённый

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

capture_thread_

std::thread pcl::DinastGrabber::capture_thread_
защищённый

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

context_

libusb_context* pcl::DinastGrabber::context_ {nullptr}
защищённый

Контекст libusb.

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

device_handle_

struct libusb_device_handle* pcl::DinastGrabber::device_handle_ {nullptr}
protected

фактический device_handle камеры

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

dist_max_2d_

double pcl::DinastGrabber::dist_max_2d_ {1. / (image_width_ / 2.)}
protected

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

fov_

double pcl::DinastGrabber::fov_ {64. * M_PI / 180.}
protected

диагональное поле зрения

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

g_buffer_

boost::circular_buffer<unsigned char> pcl::DinastGrabber::g_buffer_
protected

Глобальный циклический буфер.

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

image_

unsigned char* pcl::DinastGrabber::image_ {nullptr}
protected

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

image_height_

int pcl::DinastGrabber::image_height_ {240}
protected

Высота изображения.

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

image_size_

int pcl::DinastGrabber::image_size_ {image_width_ * image_height_}
protected

Общий размер изображения.

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

image_width_

int pcl::DinastGrabber::image_width_ {320}
protected

Ширина изображения.

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

point_cloud_signal_

boost::signals2::signal<sig_cb_dinast_point_cloud>* pcl::DinastGrabber::point_cloud_signal_
protected

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

raw_buffer_

unsigned char* pcl::DinastGrabber::raw_buffer_ {nullptr}
protected

Временный буфер чтения USB: поскольку за раз считываются два изображения RGB16, его размер вдвое превышает размер двух изображений плюс размер пакета синхронизации.

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

running_

bool pcl::DinastGrabber::running_ {false}
protected

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

second_image_

bool pcl::DinastGrabber::second_image_ {false}
protected

Поскольку после первого изображения заголовок отсутствует, необходимо сохранить состояние.

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

sync_packet_size_

int pcl::DinastGrabber::sync_packet_size_ {512}
protected

Длина пакета синхронизации.

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


Документация этого класса сгенерирована из следующего файла:
  • pcl/io/dinast_grabber.h

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

Spec-Zone.ru

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