Main Page
Namespaces
Namespace List
Namespace Members
All
Typedefs
Classes
Class List
Class Hierarchy
Class Members
All
c
d
e
f
h
i
l
p
s
t
u
w
~
Functions
c
d
f
i
p
s
t
u
~
Variables
Files
File List
File Members
All
Functions
include
usb_cam_controllers
camera_info_controller.hpp
Go to the documentation of this file.
1
#ifndef USB_CAM_CONTROLLERS_CAMERA_INFO_CONTROLLER
2
#define USB_CAM_CONTROLLERS_CAMERA_INFO_CONTROLLER
3
4
#include <string>
5
6
#include <
camera_info_manager/camera_info_manager.h
>
7
#include <
ros/duration.h
>
8
#include <
ros/node_handle.h
>
9
#include <
ros/time.h
>
10
#include <sensor_msgs/CameraInfo.h>
11
#include <
usb_cam_controllers/simple_packet_controller.hpp
>
12
#include <
usb_cam_hardware_interface/packet_interface.hpp
>
13
14
#include <boost/make_shared.hpp>
15
#include <boost/shared_ptr.hpp>
16
17
namespace
usb_cam_controllers
{
18
19
class
CameraInfoController
:
public
SimplePacketController
{
20
public
:
21
CameraInfoController
() {}
22
23
virtual
~CameraInfoController
() {}
24
25
protected
:
26
virtual
bool
initImpl
(
usb_cam_hardware_interface::PacketInterface
*hw,
ros::NodeHandle
&root_nh,
27
ros::NodeHandle
&controller_nh) {
28
frame_id_
= controller_nh.
param
< std::string >(
"camera_frame_id"
,
"head_camera"
);
29
30
publisher_
= controller_nh.
advertise
< sensor_msgs::CameraInfo >(
"camera_info"
, 1);
31
info_manager_
= boost::make_shared< camera_info_manager::CameraInfoManager >(
32
controller_nh, controller_nh.
param
< std::string >(
"camera_name"
,
"head_camera"
),
33
controller_nh.
param
< std::string >(
"camera_info_url"
,
""
));
34
35
return
true
;
36
}
37
38
virtual
void
startingImpl
(
const
ros::Time
&time) {}
39
40
virtual
void
updateImpl
(
const
ros::Time
&time,
const
ros::Duration
&period) {
41
// publish the camera info
42
const
sensor_msgs::CameraInfoPtr msg(
new
sensor_msgs::CameraInfo());
43
*msg =
info_manager_
->getCameraInfo();
44
msg->header.stamp =
packet_iface_
.
getStamp
();
45
msg->header.frame_id =
frame_id_
;
46
publisher_
.
publish
(msg);
47
}
48
49
virtual
void
stoppingImpl
(
const
ros::Time
&time) {}
50
51
private
:
52
std::string
frame_id_
;
53
54
ros::Publisher
publisher_
;
55
boost::shared_ptr< camera_info_manager::CameraInfoManager >
info_manager_
;
56
};
57
58
}
// namespace usb_cam_controllers
59
60
#endif
usb_cam_controllers
Definition:
camera_info_controller.hpp:17
usb_cam_controllers::SimplePacketController::packet_iface_
usb_cam_hardware_interface::PacketHandle packet_iface_
Definition:
simple_packet_controller.hpp:85
node_handle.h
usb_cam_controllers::CameraInfoController::startingImpl
virtual void startingImpl(const ros::Time &time)
Definition:
camera_info_controller.hpp:38
ros::Publisher
usb_cam_hardware_interface::PacketHandle::getStamp
ros::Time getStamp() const
usb_cam_controllers::CameraInfoController
Definition:
camera_info_controller.hpp:19
boost::shared_ptr< camera_info_manager::CameraInfoManager >
usb_cam_controllers::CameraInfoController::frame_id_
std::string frame_id_
Definition:
camera_info_controller.hpp:52
time.h
camera_info_manager.h
packet_interface.hpp
usb_cam_controllers::CameraInfoController::initImpl
virtual bool initImpl(usb_cam_hardware_interface::PacketInterface *hw, ros::NodeHandle &root_nh, ros::NodeHandle &controller_nh)
Definition:
camera_info_controller.hpp:26
usb_cam_controllers::CameraInfoController::info_manager_
boost::shared_ptr< camera_info_manager::CameraInfoManager > info_manager_
Definition:
camera_info_controller.hpp:55
ros::Publisher::publish
void publish(const boost::shared_ptr< M > &message) const
ros::NodeHandle::advertise
Publisher advertise(AdvertiseOptions &ops)
duration.h
usb_cam_controllers::CameraInfoController::publisher_
ros::Publisher publisher_
Definition:
camera_info_controller.hpp:54
usb_cam_controllers::CameraInfoController::updateImpl
virtual void updateImpl(const ros::Time &time, const ros::Duration &period)
Definition:
camera_info_controller.hpp:40
usb_cam_controllers::CameraInfoController::~CameraInfoController
virtual ~CameraInfoController()
Definition:
camera_info_controller.hpp:23
simple_packet_controller.hpp
usb_cam_controllers::CameraInfoController::stoppingImpl
virtual void stoppingImpl(const ros::Time &time)
Definition:
camera_info_controller.hpp:49
usb_cam_hardware_interface::PacketInterface
ros::Time
ros::NodeHandle::param
T param(const std::string ¶m_name, const T &default_val) const
usb_cam_controllers::CameraInfoController::CameraInfoController
CameraInfoController()
Definition:
camera_info_controller.hpp:21
usb_cam_controllers::SimplePacketController
Definition:
simple_packet_controller.hpp:19
ros::Duration
ros::NodeHandle
usb_cam_controllers
Author(s):
autogenerated on Wed Mar 2 2022 01:11:38