Point Cloud Library (PCL)  1.14.0-dev
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
pcl::Grabber Class Referenceabstract

Grabber interface for PCL 1.x device drivers. More...

#include <pcl/io/grabber.h>

+ Inheritance diagram for pcl::Grabber:

Public Member Functions

 Grabber ()=default
 Default ctor. More...
 
 Grabber (const Grabber &)=delete
 No copy ctor since Grabber can't be copied. More...
 
Grabberoperator= (const Grabber &)=delete
 No copy assign operator since Grabber can't be copied. More...
 
 Grabber (Grabber &&)=default
 Move ctor. More...
 
Grabberoperator= (Grabber &&)=default
 Move assign operator. More...
 
virtual ~Grabber () noexcept=default
 virtual destructor. More...
 
template<typename T >
boost::signals2::connection registerCallback (const std::function< T > &callback)
 registers a callback function/method to a signal with the corresponding signature More...
 
template<typename T >
bool providesCallback () const noexcept
 indicates whether a signal with given parameter-type exists or not More...
 
virtual void start ()=0
 For devices that are streaming, the streams are started by calling this method. More...
 
virtual void stop ()=0
 For devices that are streaming, the streams are stopped. More...
 
bool toggle ()
 For devices that are streaming, stopped streams are started and running stream are stopped. More...
 
virtual std::string getName () const =0
 returns the name of the concrete subclass. More...
 
virtual bool isRunning () const =0
 Indicates whether the grabber is streaming or not. More...
 
virtual float getFramesPerSecond () const =0
 returns fps. More...
 

Protected Member Functions

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 ()
 

Protected Attributes

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_
 

Detailed Description

Grabber interface for PCL 1.x device drivers.

Author
Suat Gedikli gedik.nosp@m.li@w.nosp@m.illow.nosp@m.gara.nosp@m.ge.co.nosp@m.m

Definition at line 59 of file grabber.h.

Constructor & Destructor Documentation

◆ Grabber() [1/3]

pcl::Grabber::Grabber ( )
default

Default ctor.

◆ Grabber() [2/3]

pcl::Grabber::Grabber ( const Grabber )
delete

No copy ctor since Grabber can't be copied.

◆ Grabber() [3/3]

pcl::Grabber::Grabber ( Grabber &&  )
default

Move ctor.

◆ ~Grabber()

virtual pcl::Grabber::~Grabber ( )
inlinevirtualdefaultnoexcept

virtual destructor.

Member Function Documentation

◆ block_signal()

template<typename T >
void pcl::Grabber::block_signal
protected

Definition at line 209 of file grabber.h.

◆ block_signals()

void pcl::Grabber::block_signals ( )
inlineprotected

Definition at line 225 of file grabber.h.

◆ createSignal()

template<typename T >
boost::signals2::signal< T > * pcl::Grabber::createSignal
protected

◆ disconnect_all_slots()

template<typename T >
void pcl::Grabber::disconnect_all_slots
protected

Definition at line 199 of file grabber.h.

◆ find_signal()

template<typename T >
boost::signals2::signal< T > * pcl::Grabber::find_signal
protectednoexcept

Definition at line 186 of file grabber.h.

◆ getFramesPerSecond()

virtual float pcl::Grabber::getFramesPerSecond ( ) const
pure virtual

◆ getName()

virtual std::string pcl::Grabber::getName ( ) const
pure virtual

◆ isRunning()

virtual bool pcl::Grabber::isRunning ( ) const
pure virtual

Indicates whether the grabber is streaming or not.

This value is not defined for triggered devices.

Returns
true if grabber is running / streaming. False otherwise.

Implemented in pcl::StereoGrabberBase, pcl::TimGrabber, pcl::RobotEyeGrabber, pcl::RealSense2Grabber, pcl::PCDGrabberBase, pcl::OpenNIGrabber, pcl::ONIGrabber, pcl::ImageGrabberBase, pcl::HDLGrabber, pcl::EnsensoGrabber, pcl::DinastGrabber, pcl::RealSenseGrabber, pcl::DepthSenseGrabber, and pcl::DavidSDKGrabber.

◆ num_slots()

template<typename T >
int pcl::Grabber::num_slots
protectednoexcept

Definition at line 241 of file grabber.h.

◆ operator=() [1/2]

Grabber& pcl::Grabber::operator= ( const Grabber )
delete

No copy assign operator since Grabber can't be copied.

◆ operator=() [2/2]

Grabber& pcl::Grabber::operator= ( Grabber &&  )
default

Move assign operator.

◆ providesCallback()

template<typename T >
bool pcl::Grabber::providesCallback
noexcept

indicates whether a signal with given parameter-type exists or not

Returns
true if signal exists, false otherwise

Definition at line 309 of file grabber.h.

◆ registerCallback()

template<typename T >
boost::signals2::connection pcl::Grabber::registerCallback ( const std::function< T > &  callback)

registers a callback function/method to a signal with the corresponding signature

Parameters
[in]callbackthe callback function/method
Returns
Connection object, that can be used to disconnect the callback method from the signal again.

Definition at line 288 of file grabber.h.

◆ signalsChanged()

virtual void pcl::Grabber::signalsChanged ( )
inlineprotectedvirtual

Reimplemented in pcl::RealSense2Grabber, and pcl::OpenNIGrabber.

Definition at line 141 of file grabber.h.

◆ start()

virtual void pcl::Grabber::start ( )
pure virtual

For devices that are streaming, the streams are started by calling this method.

Trigger-based devices, just trigger the device once for each call of start.

Implemented in pcl::StereoGrabberBase, pcl::TimGrabber, pcl::RobotEyeGrabber, pcl::RealSense2Grabber, pcl::PCDGrabberBase, pcl::OpenNIGrabber, pcl::ONIGrabber, pcl::ImageGrabberBase, pcl::HDLGrabber, pcl::EnsensoGrabber, pcl::DinastGrabber, pcl::RealSenseGrabber, pcl::DepthSenseGrabber, and pcl::DavidSDKGrabber.

◆ stop()

virtual void pcl::Grabber::stop ( )
pure virtual

◆ toggle()

bool pcl::Grabber::toggle ( )
inline

For devices that are streaming, stopped streams are started and running stream are stopped.

For triggered devices, the behavior is not defined.

Returns
true if grabber is running / streaming. False otherwise.

Definition at line 173 of file grabber.h.

◆ unblock_signal()

template<typename T >
void pcl::Grabber::unblock_signal
protected

Definition at line 217 of file grabber.h.

◆ unblock_signals()

void pcl::Grabber::unblock_signals ( )
inlineprotected

Definition at line 233 of file grabber.h.

Member Data Documentation

◆ connections_

std::map<std::string, std::vector<boost::signals2::connection> > pcl::Grabber::connections_
protected

Definition at line 168 of file grabber.h.

◆ shared_connections_

std::map<std::string, std::vector<boost::signals2::shared_connection_block> > pcl::Grabber::shared_connections_
protected

Definition at line 169 of file grabber.h.

◆ signals_

std::map<std::string, std::unique_ptr<boost::signals2::signal_base> > pcl::Grabber::signals_
protected

Definition at line 167 of file grabber.h.


The documentation for this class was generated from the following file: