src
nodes
dummy_image_publisher.cpp
Go to the documentation of this file.
1
// *****************************************************************************
2
//
3
// Copyright (c) 2014, Southwest Research Institute® (SwRI®)
4
// All rights reserved.
5
//
6
// Redistribution and use in source and binary forms, with or without
7
// modification, are permitted provided that the following conditions are met:
8
// * Redistributions of source code must retain the above copyright
9
// notice, this list of conditions and the following disclaimer.
10
// * Redistributions in binary form must reproduce the above copyright
11
// notice, this list of conditions and the following disclaimer in the
12
// documentation and/or other materials provided with the distribution.
13
// * Neither the name of Southwest Research Institute® (SwRI®) nor the
14
// names of its contributors may be used to endorse or promote products
15
// derived from this software without specific prior written permission.
16
//
17
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
// ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
21
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
//
28
// *****************************************************************************
29
30
#include <string>
31
32
// ROS Libraries
33
#include <
ros/ros.h
>
34
#include <sensor_msgs/Image.h>
35
36
class
DummyImagePublisherNode
37
{
38
public
:
39
DummyImagePublisherNode
()
40
{
41
ros::NodeHandle
node;
42
ros::NodeHandle
priv(
"~"
);
43
image_pub_
= node.
advertise
<sensor_msgs::Image>(
"image"
, 100);
44
45
priv.
param
(
"rate"
,
rate_
, 10.0);
46
priv.
param
(
"width"
,
width_
, 640);
47
priv.
param
(
"height"
,
height_
, 480);
48
priv.
param
(
"encoding"
,
encoding_
, std::string(
"mono8"
));
49
}
50
51
void
Spin
()
52
{
53
sensor_msgs::Image image;
54
image.encoding =
encoding_
;
55
image.width =
width_
;
56
image.height =
height_
;
57
image.step =
width_
;
58
image.data.resize(
height_
*
width_
);
59
60
ros::Rate
rate(
rate_
);
61
while
(
ros::ok
())
62
{
63
image.header.stamp =
ros::Time::now
();
64
image_pub_
.
publish
(image);
65
66
ros::spinOnce
();
67
rate.
sleep
();
68
}
69
}
70
71
private
:
72
double
rate_
;
73
int32_t
width_
;
74
int32_t
height_
;
75
std::string
encoding_
;
76
77
ros::Publisher
image_pub_
;
78
};
79
80
int
main
(
int
argc,
char
**argv)
81
{
82
ros::init
(argc, argv,
"dummy_image_publisher"
,
ros::init_options::AnonymousName
);
83
84
DummyImagePublisherNode
node;
85
node.
Spin
();
86
}
ros::init_options::AnonymousName
AnonymousName
DummyImagePublisherNode
Definition:
dummy_image_publisher.cpp:36
DummyImagePublisherNode::encoding_
std::string encoding_
Definition:
dummy_image_publisher.cpp:75
ros::Publisher
DummyImagePublisherNode::width_
int32_t width_
Definition:
dummy_image_publisher.cpp:73
ros::init
ROSCPP_DECL void init(const M_string &remappings, const std::string &name, uint32_t options=0)
ros.h
ros::spinOnce
ROSCPP_DECL void spinOnce()
main
int main(int argc, char **argv)
Definition:
dummy_image_publisher.cpp:80
ros::Publisher::publish
void publish(const boost::shared_ptr< M > &message) const
ros::NodeHandle::advertise
Publisher advertise(AdvertiseOptions &ops)
ros::ok
ROSCPP_DECL bool ok()
DummyImagePublisherNode::Spin
void Spin()
Definition:
dummy_image_publisher.cpp:51
ros::Rate::sleep
bool sleep()
DummyImagePublisherNode::height_
int32_t height_
Definition:
dummy_image_publisher.cpp:74
ros::NodeHandle::param
T param(const std::string ¶m_name, const T &default_val) const
DummyImagePublisherNode::rate_
double rate_
Definition:
dummy_image_publisher.cpp:72
DummyImagePublisherNode::image_pub_
ros::Publisher image_pub_
Definition:
dummy_image_publisher.cpp:77
ros::Rate
DummyImagePublisherNode::DummyImagePublisherNode
DummyImagePublisherNode()
Definition:
dummy_image_publisher.cpp:39
ros::NodeHandle
ros::Time::now
static Time now()
swri_image_util
Author(s): Kris Kozak
autogenerated on Fri Aug 2 2024 08:39:19