| 19 | size_t StereoBuffer::size() const { return stereo_buffer_.size(); } |
| 20 | |
| 21 | bool StereoBuffer::extractLatestImages(sensor_msgs::ImageConstPtr& left_img, |
| 22 | sensor_msgs::ImageConstPtr& right_img) { |
| 23 | if (stereo_buffer_.size() == 0) { |
| 24 | return false; |
| 25 | } |
| 26 | |
| 27 | left_img = stereo_buffer_[0].left_ros_img; |
| 28 | right_img = stereo_buffer_[0].right_ros_img; |
| 29 | |
| 30 | // discard this frame |
| 31 | stereo_buffer_.erase(stereo_buffer_.begin()); |
| 32 | |
| 33 | // update earliest time |
| 34 | if (stereo_buffer_.size() > 0) { |
| 35 | earliest_timestamp_ = stereo_buffer_[0].timestamp; |
| 36 | } |
| 37 | return true; |
| 38 | } |
| 39 | |
| 40 | void StereoBuffer::addStereoFrame(const sensor_msgs::ImageConstPtr& left_img, |
| 41 | const sensor_msgs::ImageConstPtr& right_img) { |