Main Page
Namespaces
Classes
Files
File List
File Members
include
jsk_topic_tools
block_nodelet.h
Go to the documentation of this file.
1
// -*- mode: c++ -*-
2
/*********************************************************************
3
* Software License Agreement (BSD License)
4
*
5
* Copyright (c) 2013, Ryohei Ueda and JSK Lab
6
* All rights reserved.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions
10
* are met:
11
*
12
* * Redistributions of source code must retain the above copyright
13
* notice, this list of conditions and the following disclaimer.
14
* * Redistributions in binary form must reproduce the above
15
* copyright notice, this list of conditions and the following
16
* disclaimer in the documentation and/o2r other materials provided
17
* with the distribution.
18
* * Neither the name of the JSK Lab nor the names of its
19
* contributors may be used to endorse or promote products derived
20
* from this software without specific prior written permission.
21
*
22
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
25
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
27
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
28
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
32
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33
* POSSIBILITY OF SUCH DAMAGE.
34
*********************************************************************/
35
36
#ifndef BLOCK_NODELET_H_
37
#define BLOCK_NODELET_H_
38
39
#include <
nodelet/nodelet.h
>
40
#include <
topic_tools/shape_shifter.h
>
41
42
namespace
jsk_topic_tools
43
{
44
45
/***************************************
46
*
47
*
48
* [input] -- | | -- [input_original] -- |process| -- [output_original] -- | | -- [output]
49
*
50
* * a subscriber to subscribe input := sub_input_
51
* * a subscriber to subscribe output_original := sub_output_original_
52
* * a publisher to publish input_original := pub_input_original_
53
* * a publisher to publish output := pub_output_
54
*/
55
56
class
Block
:
public
nodelet::Nodelet
57
{
58
public
:
59
typedef
ros::MessageEvent<topic_tools::ShapeShifter>
ShapeShifterEvent
;
60
protected
:
61
virtual
void
onInit
();
62
63
64
ros::NodeHandle
pnh_
;
65
bool
pub_input_original_advertised_
,
pub_output_advertised_
;
66
bool
sub_input_subscribing_
,
sub_output_original_subscribing_
;
67
ros::Subscriber
sub_input_
,
sub_output_original_
;
68
ros::Publisher
pub_input_original_
,
pub_output_
;
69
double
check_rate_
;
// in Hz
70
virtual
void
inputCallback
(
71
const
boost::shared_ptr<topic_tools::ShapeShifter const>
& msg);
72
virtual
void
outputOriginalCallback
(
73
const
boost::shared_ptr<topic_tools::ShapeShifter const>
& msg);
74
virtual
void
timerCallback
(
const
ros::TimerEvent
& event);
75
ros::Timer
timer_
;
76
};
77
}
78
79
#endif
ros::NodeHandle
jsk_topic_tools::Block::sub_input_subscribing_
bool sub_input_subscribing_
Definition:
block_nodelet.h:66
jsk_topic_tools::Block::pub_input_original_
ros::Publisher pub_input_original_
Definition:
block_nodelet.h:68
jsk_topic_tools::Block::sub_input_
ros::Subscriber sub_input_
Definition:
block_nodelet.h:67
jsk_topic_tools::Block::outputOriginalCallback
virtual void outputOriginalCallback(const boost::shared_ptr< topic_tools::ShapeShifter const > &msg)
Definition:
block_nodelet.cpp:132
jsk_topic_tools::Block::pub_output_
ros::Publisher pub_output_
Definition:
block_nodelet.h:68
jsk_topic_tools::Block::timerCallback
virtual void timerCallback(const ros::TimerEvent &event)
Definition:
block_nodelet.cpp:63
boost::shared_ptr< topic_tools::ShapeShifter const >
jsk_topic_tools::Block::ShapeShifterEvent
ros::MessageEvent< topic_tools::ShapeShifter > ShapeShifterEvent
Definition:
block_nodelet.h:59
jsk_topic_tools::Block::check_rate_
double check_rate_
Definition:
block_nodelet.h:69
jsk_topic_tools::Block::timer_
ros::Timer timer_
Definition:
block_nodelet.h:75
nodelet.h
nodelet::Nodelet
jsk_topic_tools::Block
Definition:
block_nodelet.h:56
ros::Subscriber
shape_shifter.h
ros::MessageEvent
jsk_topic_tools::Block::pnh_
ros::NodeHandle pnh_
Definition:
block_nodelet.h:64
jsk_topic_tools
Definition:
block_nodelet.h:42
jsk_topic_tools::Block::sub_output_original_
ros::Subscriber sub_output_original_
Definition:
block_nodelet.h:67
jsk_topic_tools::Block::onInit
virtual void onInit()
Definition:
block_nodelet.cpp:44
jsk_topic_tools::Block::inputCallback
virtual void inputCallback(const boost::shared_ptr< topic_tools::ShapeShifter const > &msg)
Definition:
block_nodelet.cpp:107
jsk_topic_tools::Block::pub_input_original_advertised_
bool pub_input_original_advertised_
Definition:
block_nodelet.h:65
jsk_topic_tools::Block::pub_output_advertised_
bool pub_output_advertised_
Definition:
block_nodelet.h:65
ros::Publisher
jsk_topic_tools::Block::sub_output_original_subscribing_
bool sub_output_original_subscribing_
Definition:
block_nodelet.h:66
ros::Timer
ros::TimerEvent
jsk_topic_tools
Author(s): Kei Okada
, Yusuke Furuta
autogenerated on Tue Feb 6 2018 03:45:19