BMPRecordingStrategy.cpp
Go to the documentation of this file.
1 /*
2  * This file is part of ArmarX.
3  *
4  * ArmarX is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * ArmarX is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * @package visionx::imrec
17  * @author Christian R. G. Dreher <christian.dreher@student.kit.edu>
18  * @date 2018
19  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20  * GNU General Public License
21  */
22 
23 
25 
26 
27 // IVT
28 #include <Image/ByteImage.h>
29 
30 
32 {
33  // pass
34 }
35 
36 
37 visionx::imrec::strats::BMPRecordingStrategy::BMPRecordingStrategy(const std::filesystem::path& filePath, const std::string& name) :
38  visionx::imrec::AbstractSequencedRecordingStrategy(filePath / name, ".bmp")
39 {
40  // pass
41 }
42 
43 
45 {
46  // pass
47 }
48 
49 
50 void
51 visionx::imrec::strats::BMPRecordingStrategy::recordFrame(const CByteImage& frame, const std::chrono::microseconds timestamp)
52 {
53  const auto& [sequence_number, frame_name] = writeMetadataFrame(frame, timestamp);
54  const std::filesystem::path path = deriveFramePath(sequence_number, frame_name);
55  frame.SaveToFile(path.c_str());
56 }
visionx
ArmarX headers.
Definition: OpenPoseStressTest.h:38
visionx::imrec::strats::BMPRecordingStrategy::BMPRecordingStrategy
BMPRecordingStrategy()
Definition: BMPRecordingStrategy.cpp:31
visionx::imrec::AbstractSequencedRecordingStrategy
An object of this class behaves likee a normal recording, but is in fact a sequence of images.
Definition: AbstractSequencedRecordingStrategy.h:41
visionx::imrec::strats::BMPRecordingStrategy::recordFrame
void recordFrame(const CByteImage &frame, std::chrono::microseconds timestamp) override
Adds the given frame to the recording.
Definition: BMPRecordingStrategy.cpp:51
BMPRecordingStrategy.h
visionx::imrec::strats::BMPRecordingStrategy::~BMPRecordingStrategy
~BMPRecordingStrategy() override
Definition: BMPRecordingStrategy.cpp:44