recorder/camera.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 2015 Aldebaran
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16 */
17 
18 #ifndef CAMERA_RECORDER_HPP
19 #define CAMERA_RECORDER_HPP
20 
21 /*
22 * BOOST includes
23 */
24 #include <boost/circular_buffer.hpp>
25 
26 /*
27 * LOCAL includes
28 */
30 #include "../helpers/recorder_helpers.hpp"
31 
32 /*
33 * ROS includes
34 */
35 #include <sensor_msgs/CameraInfo.h>
36 #include <sensor_msgs/Image.h>
37 
38 namespace naoqi
39 {
40 namespace recorder
41 {
42 
44 {
45 
46 public:
47  CameraRecorder(const std::string& topic, float buffer_frequency );
48 
49  void write( const sensor_msgs::ImagePtr& img, const sensor_msgs::CameraInfo& camera_info );
50 
51  void reset(boost::shared_ptr<naoqi::recorder::GlobalRecorder> gr, float conv_frequency );
52 
53  void bufferize( const sensor_msgs::ImagePtr& img, const sensor_msgs::CameraInfo& camera_info );
54 
55  void writeDump(const ros::Time& time);
56 
57  void setBufferDuration(float duration);
58 
59  inline std::string topic() const
60  {
61  return topic_img_;
62  }
63 
64  inline bool isInitialized() const
65  {
66  return is_initialized_;
67  }
68 
69  inline void subscribe( bool state)
70  {
71  is_subscribed_ = state;
72  }
73 
74  inline bool isSubscribed() const
75  {
76  return is_subscribed_;
77  }
78 
79 protected:
82 
83  boost::circular_buffer< std::pair<sensor_msgs::ImagePtr, sensor_msgs::CameraInfo> > buffer_;
84  size_t buffer_size_;
86 
87  boost::mutex mutex_;
88 
90  std::string topic_info_;
91  std::string topic_img_;
92 
95  int counter_;
97 
98 }; // class
99 
100 } //publisher
101 } // naoqi
102 
103 #endif
naoqi::recorder::CameraRecorder
Definition: recorder/camera.hpp:43
naoqi::recorder::CameraRecorder::topic_img_
std::string topic_img_
Definition: recorder/camera.hpp:91
boost::shared_ptr< naoqi::recorder::GlobalRecorder >
naoqi::recorder::CameraRecorder::bufferize
void bufferize(const sensor_msgs::ImagePtr &img, const sensor_msgs::CameraInfo &camera_info)
Definition: recorder/camera.cpp:76
naoqi::recorder::CameraRecorder::mutex_
boost::mutex mutex_
Definition: recorder/camera.hpp:87
naoqi::recorder::CameraRecorder::setBufferDuration
void setBufferDuration(float duration)
Definition: recorder/camera.cpp:90
naoqi::recorder::CameraRecorder::topic_info_
std::string topic_info_
Definition: recorder/camera.hpp:90
naoqi::recorder::CameraRecorder::buffer_frequency_
float buffer_frequency_
Definition: recorder/camera.hpp:93
naoqi
Definition: converter.hpp:29
naoqi::recorder::CameraRecorder::buffer_
boost::circular_buffer< std::pair< sensor_msgs::ImagePtr, sensor_msgs::CameraInfo > > buffer_
Definition: recorder/camera.hpp:83
naoqi::recorder::CameraRecorder::writeDump
void writeDump(const ros::Time &time)
Definition: recorder/camera.cpp:53
naoqi::recorder::CameraRecorder::topic
std::string topic() const
Definition: recorder/camera.hpp:59
naoqi::recorder::CameraRecorder::max_counter_
int max_counter_
Definition: recorder/camera.hpp:96
naoqi::recorder::CameraRecorder::gr_
boost::shared_ptr< naoqi::recorder::GlobalRecorder > gr_
Definition: recorder/camera.hpp:89
naoqi::recorder::CameraRecorder::isInitialized
bool isInitialized() const
Definition: recorder/camera.hpp:64
naoqi::recorder::CameraRecorder::subscribe
void subscribe(bool state)
Definition: recorder/camera.hpp:69
naoqi::recorder::CameraRecorder::buffer_duration_
float buffer_duration_
Definition: recorder/camera.hpp:85
naoqi::recorder::CameraRecorder::isSubscribed
bool isSubscribed() const
Definition: recorder/camera.hpp:74
naoqi::recorder::CameraRecorder::CameraRecorder
CameraRecorder(const std::string &topic, float buffer_frequency)
Definition: recorder/camera.cpp:28
naoqi::recorder::CameraRecorder::is_subscribed_
bool is_subscribed_
Definition: recorder/camera.hpp:81
naoqi::recorder::CameraRecorder::buffer_size_
size_t buffer_size_
Definition: recorder/camera.hpp:84
ros::Time
globalrecorder.hpp
naoqi::recorder::CameraRecorder::conv_frequency_
float conv_frequency_
Definition: recorder/camera.hpp:94
naoqi::recorder::CameraRecorder::is_initialized_
bool is_initialized_
Definition: recorder/camera.hpp:80
naoqi::recorder::CameraRecorder::counter_
int counter_
Definition: recorder/camera.hpp:95
naoqi::recorder::CameraRecorder::reset
void reset(boost::shared_ptr< naoqi::recorder::GlobalRecorder > gr, float conv_frequency)
Definition: recorder/camera.cpp:66
naoqi::recorder::CameraRecorder::write
void write(const sensor_msgs::ImagePtr &img, const sensor_msgs::CameraInfo &camera_info)
Definition: recorder/camera.cpp:37


naoqi_driver
Author(s): Karsten Knese
autogenerated on Sat Feb 3 2024 03:50:06