Spec-Zone.ru › PointCloudLibrary

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

#include <pcl/io/dinast_grabber.h>

Inheritance graph
[легенда]
Collaboration graph
[легенда]

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

DinastGrabber (const int device_position=1)
Конструктор, который настраивает константы захвата. Подробнее...
~DinastGrabber () noexcept override
Деструктор. Подробнее...
bool isRunning () const override
Проверка, запущен ли захват. Подробнее...
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)
Настройка устройства камеры Dinast 3D. Подробнее...
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_
Ширина изображения. Подробнее...
int image_height_
Высота изображения. Подробнее...
int image_size_
Общий размер изображения. Подробнее...
int sync_packet_size_
Длина синхропакета. Подробнее...
double dist_max_2d_
double fov_
Диагональное поле зрения Подробнее...
libusb_context * context_
Контекст libusb. Подробнее...
struct libusb_device_handle * device_handle_
Актуальная девайс-ручка для камеры Подробнее...
unsigned char * raw_buffer_
Временный буфер чтения USB, так как мы читаем два изображения RGB16 за раз, размер равен удвоенному размеру двух изображений плюс синхропакет. Подробнее...
boost::circular_buffer< unsigned char > g_buffer_
Глобальный кольцевой буфер. Подробнее...
unsigned char bulk_ep_
Значение адреса точки доступа к блоку. Подробнее...
unsigned char * image_
bool second_image_
Так как после первого изображения нет заголовка, нам нужно сохранить состояние. Подробнее...
bool running_
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_

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

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

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

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

Документация перечисления членов

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

anonymous enum
protected

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

Перечисление
CMD_READ_START
CMD_READ_STOP
CMD_GET_VERSION
CMD_SEND_DATA

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

pixel_size

enum pcl::DinastGrabber::pixel_size
protected

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

Перечисление
RAW8
RGB16
RGB24
RGB32

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

Конструктор и деструктор

DinastGrabber()

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

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

Параметры
[in] device_position Номер устройства для захвата

~DinastGrabber()

pcl::DinastGrabber::~DinastGrabber ( )
overridenoexcept

Деструктор.

Никогда не выбрасывает исключения.

Документация по членам функций

captureThreadFunction()

void pcl::DinastGrabber::captureThreadFunction ( )
protected

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

checkHeader()

int pcl::DinastGrabber::checkHeader ( )
protected

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

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

getDeviceVersion()

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

Получает номер версии текущего открытого устройства.

getFramesPerSecond()

float pcl::DinastGrabber::getFramesPerSecond ( ) const
overridevirtual

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

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

getName()

std::string pcl::DinastGrabber::getName ( ) const
inlineoverridevirtual

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

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

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

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

getXYZIPointCloud()

pcl::PointCloud<pcl::PointXYZI>::Ptr pcl::DinastGrabber::getXYZIPointCloud ( )
protected

Получение облака точек XYZI из изображения камеры.

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

isRunning()

bool pcl::DinastGrabber::isRunning ( ) const
overridevirtual

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

Возвращает
true, если захватчик запущен/потоковый. Иначе false.

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

onInit()

void pcl::DinastGrabber::onInit ( const int device_id )
protected

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

readImage()

void pcl::DinastGrabber::readImage ( )
protected

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

setupDevice()

void pcl::DinastGrabber::setupDevice ( int device_position,
const int id_vendor = 0x18d1,
const int id_product = 0x1402
)
protected

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

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

start()

void pcl::DinastGrabber::start ( )
overridevirtual

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

Реализация pcl::Grabber.

stop()

void pcl::DinastGrabber::stop ( )
overridevirtual

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

Реализация pcl::Grabber.

USBRxControlData()

bool pcl::DinastGrabber::USBRxControlData ( const unsigned char req_code,
unsigned char * buffer,
int length
)
protected

Отправка запроса на пакет данных RX.

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

USBTxControlData()

bool pcl::DinastGrabber::USBTxControlData ( const unsigned char req_code,
unsigned char * buffer,
int length
)
protected

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

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

Документация по данным члена

bulk_ep_

unsigned char pcl::DinastGrabber::bulk_ep_
protected

Значение адреса порогового порта.

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

capture_mutex_

std::mutex pcl::DinastGrabber::capture_mutex_
mutableprotected

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

capture_thread_

std::thread pcl::DinastGrabber::capture_thread_
protected

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

context_

libusb_context* pcl::DinastGrabber::context_
protected

Контекст libusb.

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

device_handle_

struct libusb_device_handle* pcl::DinastGrabber::device_handle_
protected

актуальная ручка устройства камеры

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

dist_max_2d_

double pcl::DinastGrabber::dist_max_2d_
protected

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

fov_

double pcl::DinastGrabber::fov_
protected

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

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

g_buffer_

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

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

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

image_

END_OF_DOCUMENT_MARKER
unsigned char* pcl::DinastGrabber::image_
protected

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

image_height_

int pcl::DinastGrabber::image_height_
protected

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

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

image_size_

int pcl::DinastGrabber::image_size_
protected

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

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

image_width_

int pcl::DinastGrabber::image_width_
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_
protected

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

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

running_

bool pcl::DinastGrabber::running_
protected

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

second_image_

bool pcl::DinastGrabber::second_image_
protected

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

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

sync_packet_size_

int pcl::DinastGrabber::sync_packet_size_
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