Public Member Functions | Protected Member Functions | Protected Attributes
opencv_apps::Nodelet Class Reference

Nodelet to automatically subscribe/unsubscribe topics according to subscription of advertised topics. More...

#include <nodelet.h>

Inheritance diagram for opencv_apps::Nodelet:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 Nodelet ()

Protected Member Functions

template<class T >
ros::Publisher advertise (ros::NodeHandle &nh, std::string topic, int queue_size)
 Advertise a topic and watch the publisher. Publishers which are created by this method. It automatically reads latch boolean parameter from nh and publish topic with appropriate latch parameter.
image_transport::CameraPublisher advertiseCamera (ros::NodeHandle &nh, const std::string &topic, int queue_size)
 Advertise an image topic camera info topic and watch the publisher. Publishers which are created by this method. It automatically reads latch boolean parameter from nh and it and publish topic with appropriate latch parameter.
image_transport::Publisher advertiseImage (ros::NodeHandle &nh, const std::string &topic, int queue_size)
 Advertise an image topic and watch the publisher. Publishers which are created by this method. It automatically reads latch boolean parameter from nh and it and publish topic with appropriate latch parameter.
virtual void cameraConnectionBaseCallback ()
 callback function which is called when new subscriber come for camera image publisher or camera info publisher. This function is called from cameraConnectionCallback or cameraInfoConnectionCallback.
virtual void cameraConnectionCallback (const image_transport::SingleSubscriberPublisher &pub)
 callback function which is called when new subscriber come for camera image publisher
virtual void cameraInfoConnectionCallback (const ros::SingleSubscriberPublisher &pub)
 callback function which is called when new subscriber come for camera info publisher
virtual void connectionCallback (const ros::SingleSubscriberPublisher &pub)
 callback function which is called when new subscriber come
virtual void imageConnectionCallback (const image_transport::SingleSubscriberPublisher &pub)
 callback function which is called when new subscriber come for image publisher
virtual void onInit ()
 Initialize nodehandles nh_ and pnh_. Subclass should call this method in its onInit method.
virtual void onInitPostProcess ()
 Post processing of initialization of nodelet. You need to call this method in order to use always_subscribe feature.
virtual void subscribe ()=0
 This method is called when publisher is subscribed by other nodes. Set up subscribers in this method.
virtual void unsubscribe ()=0
 This method is called when publisher is unsubscribed by other nodes. Shut down subscribers in this method.
virtual void warnNeverSubscribedCallback (const ros::WallTimerEvent &event)
 callback function which is called when walltimer duration run out.

Protected Attributes

bool always_subscribe_
 A flag to disable watching mechanism and always subscribe input topics. It can be specified via ~always_subscribe parameter.
std::vector
< image_transport::CameraPublisher
camera_publishers_
 List of watching camera publishers.
boost::mutex connection_mutex_
 mutex to call subscribe() and unsubscribe() in critical section.
ConnectionStatus connection_status_
 Status of connection.
bool ever_subscribed_
 A flag to check if the node has been ever subscribed or not.
std::vector
< image_transport::Publisher
image_publishers_
 List of watching image publishers.
boost::shared_ptr
< ros::NodeHandle
nh_
 Shared pointer to nodehandle.
boost::shared_ptr
< ros::NodeHandle
pnh_
 Shared pointer to private nodehandle.
std::vector< ros::Publisherpublishers_
 List of watching publishers.
bool subscribed_
 A flag to check if any publisher is already subscribed or not.
ros::WallTimer timer_
 WallTimer instance for warning about no connection.
bool verbose_connection_
 true if `~verbose_connection` or `verbose_connection` parameter is true.

Detailed Description

Nodelet to automatically subscribe/unsubscribe topics according to subscription of advertised topics.

It's important not to subscribe topic if no output is required.

In order to watch advertised topics, need to use advertise template method. And create subscribers in subscribe() and shutdown them in unsubscribed().

Definition at line 70 of file nodelet.h.


Constructor & Destructor Documentation

Reimplemented from nodelet::Nodelet.

Definition at line 73 of file nodelet.h.


Member Function Documentation

template<class T >
ros::Publisher opencv_apps::Nodelet::advertise ( ros::NodeHandle nh,
std::string  topic,
int  queue_size 
) [inline, protected]

Advertise a topic and watch the publisher. Publishers which are created by this method. It automatically reads latch boolean parameter from nh and publish topic with appropriate latch parameter.

Parameters:
nhNodeHandle.
topictopic name to advertise.
queue_sizequeue size for publisher.
latchset true if latch topic publication.
Returns:
Publisher for the advertised topic.

Definition at line 155 of file nodelet.h.

image_transport::CameraPublisher opencv_apps::Nodelet::advertiseCamera ( ros::NodeHandle nh,
const std::string &  topic,
int  queue_size 
) [inline, protected]

Advertise an image topic camera info topic and watch the publisher. Publishers which are created by this method. It automatically reads latch boolean parameter from nh and it and publish topic with appropriate latch parameter.

Parameters:
nhNodeHandle.
topictopic name to advertise.
queue_sizequeue size for publisher.
latchset true if latch topic publication.
Returns:
Publisher for the advertised topic.

Definition at line 206 of file nodelet.h.

image_transport::Publisher opencv_apps::Nodelet::advertiseImage ( ros::NodeHandle nh,
const std::string &  topic,
int  queue_size 
) [inline, protected]

Advertise an image topic and watch the publisher. Publishers which are created by this method. It automatically reads latch boolean parameter from nh and it and publish topic with appropriate latch parameter.

Parameters:
nhNodeHandle.
topictopic name to advertise.
queue_sizequeue size for publisher.
latchset true if latch topic publication.
Returns:
Publisher for the advertised topic.

Definition at line 180 of file nodelet.h.

callback function which is called when new subscriber come for camera image publisher or camera info publisher. This function is called from cameraConnectionCallback or cameraInfoConnectionCallback.

Definition at line 165 of file nodelet.cpp.

callback function which is called when new subscriber come for camera image publisher

Definition at line 155 of file nodelet.cpp.

callback function which is called when new subscriber come for camera info publisher

Definition at line 160 of file nodelet.cpp.

callback function which is called when new subscriber come

Definition at line 73 of file nodelet.cpp.

callback function which is called when new subscriber come for image publisher

Definition at line 114 of file nodelet.cpp.

void opencv_apps::Nodelet::onInit ( ) [protected, virtual]

Initialize nodehandles nh_ and pnh_. Subclass should call this method in its onInit method.

Implements nodelet::Nodelet.

Reimplemented in face_recognition::FaceRecognitionNodelet, opencv_apps::FaceRecognitionNodelet, camshift::CamShiftNodelet, color_filter::HSVColorFilterNodelet, color_filter::HLSColorFilterNodelet, color_filter::RGBColorFilterNodelet, hough_circles::HoughCirclesNodelet, opencv_apps::HSVColorFilterNodelet, watershed_segmentation::WatershedSegmentationNodelet, lk_flow::LKFlowNodelet, opencv_apps::CamShiftNodelet, opencv_apps::HoughCirclesNodelet, edge_detection::EdgeDetectionNodelet, hough_lines::HoughLinesNodelet, opencv_apps::LKFlowNodelet, opencv_apps::WatershedSegmentationNodelet, opencv_apps::HLSColorFilterNodelet, contour_moments::ContourMomentsNodelet, segment_objects::SegmentObjectsNodelet, opencv_apps::EdgeDetectionNodelet, general_contours::GeneralContoursNodelet, opencv_apps::HoughLinesNodelet, face_detection::FaceDetectionNodelet, simple_flow::SimpleFlowNodelet, adding_images::AddingImagesNodelet, opencv_apps::ContourMomentsNodelet, convex_hull::ConvexHullNodelet, find_contours::FindContoursNodelet, goodfeature_track::GoodfeatureTrackNodelet, opencv_apps::GeneralContoursNodelet, opencv_apps::SegmentObjectsNodelet, people_detect::PeopleDetectNodelet, fback_flow::FBackFlowNodelet, opencv_apps::AddingImagesNodelet, opencv_apps::SimpleFlowNodelet, smoothing::SmoothingNodelet, phase_corr::PhaseCorrNodelet, opencv_apps::RGBColorFilterNodelet, corner_harris::CornerHarrisNodelet, opencv_apps::FaceDetectionNodelet, opencv_apps::ConvexHullNodelet, opencv_apps::FindContoursNodelet, opencv_apps::GoodfeatureTrackNodelet, discrete_fourier_transform::DiscreteFourierTransformNodelet, opencv_apps::PeopleDetectNodelet, opencv_apps::FBackFlowNodelet, opencv_apps::SmoothingNodelet, opencv_apps::PhaseCorrNodelet, opencv_apps::CornerHarrisNodelet, pyramids::PyramidsNodelet, opencv_apps::DiscreteFourierTransformNodelet, threshold::ThresholdNodelet, opencv_apps::ColorFilterNodelet< Config >, opencv_apps::PyramidsNodelet, opencv_apps::ColorFilterNodelet< opencv_apps::HLSColorFilterConfig >, opencv_apps::ColorFilterNodelet< opencv_apps::HSVColorFilterConfig >, opencv_apps::ColorFilterNodelet< opencv_apps::RGBColorFilterConfig >, and opencv_apps::ThresholdNodelet.

Definition at line 40 of file nodelet.cpp.

void opencv_apps::Nodelet::onInitPostProcess ( ) [protected, virtual]

Post processing of initialization of nodelet. You need to call this method in order to use always_subscribe feature.

Definition at line 57 of file nodelet.cpp.

virtual void opencv_apps::Nodelet::subscribe ( ) [protected, pure virtual]
virtual void opencv_apps::Nodelet::unsubscribe ( ) [protected, pure virtual]
void opencv_apps::Nodelet::warnNeverSubscribedCallback ( const ros::WallTimerEvent event) [protected, virtual]

callback function which is called when walltimer duration run out.

Definition at line 65 of file nodelet.cpp.


Member Data Documentation

A flag to disable watching mechanism and always subscribe input topics. It can be specified via ~always_subscribe parameter.

Definition at line 273 of file nodelet.h.

List of watching camera publishers.

Definition at line 240 of file nodelet.h.

boost::mutex opencv_apps::Nodelet::connection_mutex_ [protected]

mutex to call subscribe() and unsubscribe() in critical section.

Definition at line 225 of file nodelet.h.

Status of connection.

Definition at line 278 of file nodelet.h.

A flag to check if the node has been ever subscribed or not.

Definition at line 267 of file nodelet.h.

List of watching image publishers.

Definition at line 235 of file nodelet.h.

boost::shared_ptr<ros::NodeHandle> opencv_apps::Nodelet::nh_ [protected]

Shared pointer to nodehandle.

Reimplemented from nodelet::Nodelet.

Definition at line 245 of file nodelet.h.

boost::shared_ptr<ros::NodeHandle> opencv_apps::Nodelet::pnh_ [protected]

Shared pointer to private nodehandle.

Definition at line 250 of file nodelet.h.

List of watching publishers.

Definition at line 230 of file nodelet.h.

A flag to check if any publisher is already subscribed or not.

Definition at line 261 of file nodelet.h.

WallTimer instance for warning about no connection.

Definition at line 255 of file nodelet.h.

true if `~verbose_connection` or `verbose_connection` parameter is true.

Definition at line 283 of file nodelet.h.


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


opencv_apps
Author(s): Kei Okada
autogenerated on Mon Apr 22 2019 02:18:26