YARP
Yet Another Robot Platform
yarp::dev::RGBDRosConversionUtils::commonImageProcessor Class Reference

#include <RGBDRosConversionUtils/RGBDRosConversionUtils.h>

+ Inheritance diagram for yarp::dev::RGBDRosConversionUtils::commonImageProcessor:

Public Member Functions

 commonImageProcessor (std::string data_topic_name, std::string camera_info_topic_name)
 
virtual ~commonImageProcessor ()
 
virtual void onRead (yarp::rosmsg::sensor_msgs::Image &v) override
 
size_t getWidth () const
 
size_t getHeight () const
 
bool getFOV (double &horizontalFov, double &verticalFov) const
 
bool getIntrinsicParam (yarp::os::Property &intrinsic) const
 
bool getLastRGBData (yarp::sig::FlexImage &data, yarp::os::Stamp &stmp)
 
bool getLastDepthData (yarp::sig::ImageOf< yarp::sig::PixelFloat > &data, yarp::os::Stamp &stmp)
 
- Public Member Functions inherited from yarp::os::Subscriber< yarp::rosmsg::sensor_msgs::Image >
 Subscriber (const std::string &name="")
 Constructor. More...
 
virtual ~Subscriber ()
 Destructor. More...
 
bool topic (const std::string &name)
 Set topic to subscribe to. More...
 
bool open (const std::string &name) override
 Start port operation, with a specific name, with automatically-chosen network parameters. More...
 
bool open (const Contact &contact, bool registerName=true) override
 Start port operation with user-chosen network parameters. More...
 
void close () override
 Stop port activity. More...
 
void interrupt () override
 Interrupt any current reads or writes attached to the port. More...
 
void resume () override
 Put the port back in an operative state after interrupt() has been called. More...
 
void setReader (PortReader &reader) override
 Set an external reader for port data. More...
 
yarp::rosmsg::sensor_msgs::Image * read (bool shouldWait=true)
 Read a message from the port. More...
 
bool read (PortReader &reader, bool willReply=false) override
 Read an object from the port. More...
 
PortasPort () override
 Get the concrete Port being used for communication. More...
 
const PortasPort () const override
 Get the concrete Port being used for communication, const version. More...
 
void onRead (yarp::rosmsg::sensor_msgs::Image &datum) override
 Callback method. More...
 
void useCallback (TypedReaderCallback< yarp::rosmsg::sensor_msgs::Image > &callback)
 
void useCallback ()
 
void disableCallback ()
 
void setStrict (bool strict=true)
 
- Public Member Functions inherited from yarp::os::AbstractContactable
virtual PortasPort ()=0
 Get the concrete Port being used for communication. More...
 
virtual const PortasPort () const =0
 Get the concrete Port being used for communication, const version. More...
 
bool open (const std::string &name) override
 Start port operation, with a specific name, with automatically-chosen network parameters. More...
 
bool open (const Contact &contact, bool registerName=true) override
 Start port operation with user-chosen network parameters. More...
 
bool addOutput (const std::string &name) override
 Add an output connection to the specified port. More...
 
bool addOutput (const std::string &name, const std::string &carrier) override
 Add an output connection to the specified port, using a specified carrier. More...
 
bool addOutput (const Contact &contact) override
 Add an output connection to the specified port, using specified network parameters. More...
 
void close () override
 Stop port activity. More...
 
void interrupt () override
 Interrupt any current reads or writes attached to the port. More...
 
void resume () override
 Put the port back in an operative state after interrupt() has been called. More...
 
Contact where () const override
 Returns information about how this port can be reached. More...
 
std::string getName () const override
 Get name of port. More...
 
bool setEnvelope (PortWriter &envelope) override
 Set an envelope (e.g., a timestamp) to the next message which will be sent. More...
 
bool getEnvelope (PortReader &envelope) override
 Get the envelope information (e.g., a timestamp) from the last message received on the port. More...
 
int getInputCount () override
 Determine how many connections are arriving into this port. More...
 
int getOutputCount () override
 Determine how many output connections this port has. More...
 
void getReport (PortReport &reporter) override
 Get information on the state of the port - connections etc. More...
 
void setReporter (PortReport &reporter) override
 Set a callback to be called upon any future connections and disconnections to/from the port. More...
 
void resetReporter () override
 Remove the callback which is called upon any future connections and disconnections to/from the port. More...
 
bool isWriting () override
 Report whether the port is currently writing data. More...
 
void setReader (PortReader &reader) override
 Set an external reader for port data. More...
 
void setAdminReader (PortReader &reader) override
 Set an external reader for unrecognized administrative port messages. More...
 
void setInputMode (bool expectInput) override
 Configure the port to allow or forbid inputs. More...
 
void setOutputMode (bool expectOutput) override
 Configure the port to allow or forbid outputs. More...
 
void setRpcMode (bool expectRpc) override
 Configure the port to be RPC only. More...
 
Type getType () override
 Get the type of data the port has committed to send/receive. More...
 
void promiseType (const Type &typ) override
 Commit the port to a particular type of data. More...
 
PropertyacquireProperties (bool readOnly) override
 Access unstructured port properties. More...
 
void releaseProperties (Property *prop) override
 End access unstructured port properties. More...
 
bool write (const PortWriter &writer, const PortWriter *callback=nullptr) const override
 Write an object to the port. More...
 
bool write (const PortWriter &writer, PortReader &reader, const PortWriter *callback=nullptr) const override
 Write an object to the port, then expect one back. More...
 
bool read (PortReader &reader, bool willReply=false) override
 Read an object from the port. More...
 
bool reply (PortWriter &writer) override
 Send an object as a reply to an object read from the port. More...
 
bool replyAndDrop (PortWriter &writer) override
 Same as reply(), but closes connection after reply. More...
 
void includeNodeInName (bool flag) override
 Choose whether to prepend a node name (if one is available) to the port's name. More...
 
bool setCallbackLock (yarp::os::Mutex *mutex) override
 Add a lock to use when invoking callbacks. More...
 
bool setCallbackLock (std::mutex *mutex=nullptr) override
 Add a lock to use when invoking callbacks. More...
 
bool removeCallbackLock () override
 Remove a lock on callbacks added with setCallbackLock() More...
 
bool lockCallback () override
 Lock callbacks until unlockCallback() is called. More...
 
bool tryLockCallback () override
 Try to lock callbacks until unlockCallback() is called. More...
 
void unlockCallback () override
 Unlock callbacks. More...
 
virtual bool write (const PortWriter &writer, const PortWriter *callback=nullptr) const =0
 Write an object to the port. More...
 
virtual bool write (const PortWriter &writer, PortReader &reader, const PortWriter *callback=nullptr) const =0
 Write an object to the port, then expect one back. More...
 
virtual bool read (PortReader &reader, bool willReply=false)=0
 Read an object from the port. More...
 
virtual bool reply (PortWriter &writer)=0
 Send an object as a reply to an object read from the port. More...
 
virtual bool replyAndDrop (PortWriter &writer)=0
 Same as reply(), but closes connection after reply. More...
 
- Public Member Functions inherited from yarp::os::Contactable
virtual ~Contactable ()
 Destructor. More...
 
virtual bool open (const std::string &name)=0
 Start port operation, with a specific name, with automatically-chosen network parameters. More...
 
virtual bool open (const Contact &contact, bool registerName=true)=0
 Start port operation with user-chosen network parameters. More...
 
virtual bool addOutput (const std::string &name)=0
 Add an output connection to the specified port. More...
 
virtual bool addOutput (const std::string &name, const std::string &carrier)=0
 Add an output connection to the specified port, using a specified carrier. More...
 
virtual bool addOutput (const Contact &contact)=0
 Add an output connection to the specified port, using specified network parameters. More...
 
virtual void close ()=0
 Stop port activity. More...
 
virtual void interrupt ()=0
 Interrupt any current reads or writes attached to the port. More...
 
virtual void resume ()=0
 Put the port back in an operative state after interrupt() has been called. More...
 
virtual Contact where () const =0
 Returns information about how this port can be reached. More...
 
virtual std::string getName () const
 Get name of port. More...
 
virtual bool setEnvelope (PortWriter &envelope)=0
 Set an envelope (e.g., a timestamp) to the next message which will be sent. More...
 
virtual bool getEnvelope (PortReader &envelope)=0
 Get the envelope information (e.g., a timestamp) from the last message received on the port. More...
 
virtual int getInputCount ()=0
 Determine how many connections are arriving into this port. More...
 
virtual int getOutputCount ()=0
 Determine how many output connections this port has. More...
 
virtual void getReport (PortReport &reporter)=0
 Get information on the state of the port - connections etc. More...
 
virtual void setReporter (PortReport &reporter)=0
 Set a callback to be called upon any future connections and disconnections to/from the port. More...
 
virtual void resetReporter ()=0
 Remove the callback which is called upon any future connections and disconnections to/from the port. More...
 
virtual bool isWriting ()=0
 Report whether the port is currently writing data. More...
 
virtual void setReader (PortReader &reader)=0
 Set an external reader for port data. More...
 
virtual void setAdminReader (PortReader &reader)=0
 Set an external reader for unrecognized administrative port messages. More...
 
virtual void setInputMode (bool expectInput)=0
 Configure the port to allow or forbid inputs. More...
 
virtual void setOutputMode (bool expectOutput)=0
 Configure the port to allow or forbid outputs. More...
 
virtual void setRpcMode (bool expectRpc)=0
 Configure the port to be RPC only. More...
 
virtual Type getType ()=0
 Get the type of data the port has committed to send/receive. More...
 
virtual void promiseType (const Type &typ)=0
 Commit the port to a particular type of data. More...
 
virtual PropertyacquireProperties (bool readOnly)=0
 Access unstructured port properties. More...
 
virtual void releaseProperties (Property *prop)=0
 End access unstructured port properties. More...
 
virtual void includeNodeInName (bool flag)=0
 Choose whether to prepend a node name (if one is available) to the port's name. More...
 
void setReadOnly ()
 Shorthand for setInputMode(true), setOutputMode(false), setRpcMode(false) More...
 
void setWriteOnly ()
 Shorthand for setInputMode(false), setOutputMode(true), setRpcMode(false) More...
 
void setRpcServer ()
 Shorthand for setInputMode(true), setOutputMode(false), setRpcMode(true) More...
 
void setRpcClient ()
 Shorthand for setInputMode(false), setOutputMode(true), setRpcMode(true) More...
 
virtual bool setCallbackLock (yarp::os::Mutex *mutex)=0
 Add a lock to use when invoking callbacks. More...
 
virtual bool setCallbackLock (std::mutex *mutex=nullptr)=0
 Add a lock to use when invoking callbacks. More...
 
virtual bool removeCallbackLock ()=0
 Remove a lock on callbacks added with setCallbackLock() More...
 
virtual bool lockCallback ()=0
 Lock callbacks until unlockCallback() is called. More...
 
virtual bool tryLockCallback ()=0
 Try to lock callbacks until unlockCallback() is called. More...
 
virtual void unlockCallback ()=0
 Unlock callbacks. More...
 
- Public Member Functions inherited from yarp::os::TypedReaderCallback< yarp::rosmsg::sensor_msgs::Image >
virtual ~TypedReaderCallback ()
 Destructor. More...
 
virtual void onRead (yarp::rosmsg::sensor_msgs::Image &datum)
 Callback method. More...
 
virtual void onRead (yarp::rosmsg::sensor_msgs::Image &datum, const yarp::os::TypedReader< yarp::rosmsg::sensor_msgs::Image > &reader)
 Callback method. More...
 

Protected Attributes

yarp::sig::FlexImage m_lastRGBImage
 
DepthImage m_lastDepthImage
 
std::mutex m_port_mutex
 
yarp::os::Subscriber< yarp::rosmsg::sensor_msgs::CameraInfo > m_subscriber_camera_info
 
std::string m_cameradata_topic_name
 
std::string m_camerainfo_topic_name
 
yarp::rosmsg::sensor_msgs::CameraInfo m_lastCameraInfo
 
yarp::os::Stamp m_lastStamp
 
bool m_contains_rgb_data
 
bool m_contains_depth_data
 

Detailed Description

Definition at line 30 of file RGBDRosConversionUtils.h.

Constructor & Destructor Documentation

◆ commonImageProcessor()

commonImageProcessor::commonImageProcessor ( std::string  data_topic_name,
std::string  camera_info_topic_name 
)

Definition at line 28 of file RGBDRosConversionUtils.cpp.

◆ ~commonImageProcessor()

commonImageProcessor::~commonImageProcessor ( )
virtual

Definition at line 43 of file RGBDRosConversionUtils.cpp.

Member Function Documentation

◆ getFOV()

bool commonImageProcessor::getFOV ( double &  horizontalFov,
double &  verticalFov 
) const

Definition at line 148 of file RGBDRosConversionUtils.cpp.

◆ getHeight()

size_t commonImageProcessor::getHeight ( ) const

Definition at line 92 of file RGBDRosConversionUtils.cpp.

◆ getIntrinsicParam()

bool commonImageProcessor::getIntrinsicParam ( yarp::os::Property intrinsic) const

Definition at line 161 of file RGBDRosConversionUtils.cpp.

◆ getLastDepthData()

bool commonImageProcessor::getLastDepthData ( yarp::sig::ImageOf< yarp::sig::PixelFloat > &  data,
yarp::os::Stamp stmp 
)

Definition at line 68 of file RGBDRosConversionUtils.cpp.

◆ getLastRGBData()

bool commonImageProcessor::getLastRGBData ( yarp::sig::FlexImage data,
yarp::os::Stamp stmp 
)

Definition at line 49 of file RGBDRosConversionUtils.cpp.

◆ getWidth()

size_t commonImageProcessor::getWidth ( ) const

Definition at line 87 of file RGBDRosConversionUtils.cpp.

◆ onRead()

void commonImageProcessor::onRead ( yarp::rosmsg::sensor_msgs::Image &  v)
overridevirtual

Definition at line 97 of file RGBDRosConversionUtils.cpp.

Member Data Documentation

◆ m_cameradata_topic_name

std::string yarp::dev::RGBDRosConversionUtils::commonImageProcessor::m_cameradata_topic_name
protected

Definition at line 40 of file RGBDRosConversionUtils.h.

◆ m_camerainfo_topic_name

std::string yarp::dev::RGBDRosConversionUtils::commonImageProcessor::m_camerainfo_topic_name
protected

Definition at line 41 of file RGBDRosConversionUtils.h.

◆ m_contains_depth_data

bool yarp::dev::RGBDRosConversionUtils::commonImageProcessor::m_contains_depth_data
protected

Definition at line 45 of file RGBDRosConversionUtils.h.

◆ m_contains_rgb_data

bool yarp::dev::RGBDRosConversionUtils::commonImageProcessor::m_contains_rgb_data
protected

Definition at line 44 of file RGBDRosConversionUtils.h.

◆ m_lastCameraInfo

yarp::rosmsg::sensor_msgs::CameraInfo yarp::dev::RGBDRosConversionUtils::commonImageProcessor::m_lastCameraInfo
mutableprotected

Definition at line 42 of file RGBDRosConversionUtils.h.

◆ m_lastDepthImage

DepthImage yarp::dev::RGBDRosConversionUtils::commonImageProcessor::m_lastDepthImage
protected

Definition at line 35 of file RGBDRosConversionUtils.h.

◆ m_lastRGBImage

yarp::sig::FlexImage yarp::dev::RGBDRosConversionUtils::commonImageProcessor::m_lastRGBImage
protected

Definition at line 34 of file RGBDRosConversionUtils.h.

◆ m_lastStamp

yarp::os::Stamp yarp::dev::RGBDRosConversionUtils::commonImageProcessor::m_lastStamp
protected

Definition at line 43 of file RGBDRosConversionUtils.h.

◆ m_port_mutex

std::mutex yarp::dev::RGBDRosConversionUtils::commonImageProcessor::m_port_mutex
protected

Definition at line 38 of file RGBDRosConversionUtils.h.

◆ m_subscriber_camera_info

yarp::os::Subscriber<yarp::rosmsg::sensor_msgs::CameraInfo> yarp::dev::RGBDRosConversionUtils::commonImageProcessor::m_subscriber_camera_info
mutableprotected

Definition at line 39 of file RGBDRosConversionUtils.h.


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