AbstractSequencedRecordingStrategy Class Reference

An object of this class behaves likee a normal recording, but is in fact a sequence of images. More...

#include <VisionX/libraries/imrec/record/AbstractSequencedRecordingStrategy.h>

+ Inheritance diagram for AbstractSequencedRecordingStrategy:

Public Member Functions

 AbstractSequencedRecordingStrategy ()
 Default constructor to manually start the recording. More...
 
 AbstractSequencedRecordingStrategy (const std::filesystem::path &filePath, const std::filesystem::path &ext)
 
std::filesystem::path getDotExtension () const override
 Gets the extension plus preceeded dot of the configured file (e.g. More...
 
std::filesystem::path getMetadataPath () const override
 
void startRecording () override
 Starts the recording manually if constructed empty. More...
 
 ~AbstractSequencedRecordingStrategy () override
 Destruct the recording strategy. More...
 
- Public Member Functions inherited from AbstractRecordingStrategy
 AbstractRecordingStrategy ()
 Default constructor to start the recording manually. More...
 
 AbstractRecordingStrategy (const std::filesystem::path &filePath)
 Constructor for any recording strategy, immediately starting the recording. More...
 
virtual std::filesystem::path getFilePath () const
 Gets the raw file path for the recording as configured. More...
 
virtual std::filesystem::path getPath () const
 Gets the path to the recording without filename. More...
 
virtual std::filesystem::path getStem () const
 Gets the stem of the configured file (filename without extension) More...
 
virtual bool isRecording () const
 Indicates whether this instance is already initialised for recording. More...
 
virtual void recordFrame (const CByteImage &frame, std::chrono::microseconds timestamp)
 Adds the given frame to the recording. More...
 
virtual void recordFrame (const cv::Mat &frame, std::chrono::microseconds timestamp)
 Adds the given frame to the recording. More...
 
virtual void stopRecording ()
 Stops the recording. More...
 
virtual void writeMetadataDatetime (const std::string &var_name, std::chrono::microseconds timestamp)
 
virtual std::tuple< unsigned int, std::string > writeMetadataFrame (const CByteImage &frame, std::chrono::microseconds timestamp)
 
virtual std::tuple< unsigned int, std::string > writeMetadataFrame (const cv::Mat &frame, std::chrono::microseconds timestamp)
 
virtual void writeMetadataLine (const std::string &var_name, std::string_view var_type, std::string_view var_value)
 
virtual ~AbstractRecordingStrategy ()
 Destructor. More...
 

Protected Member Functions

std::filesystem::path deriveFramePath (const unsigned int sequence_number, const std::string &frame_name)
 Returns the next sequenced full path and increments the sequence number. More...
 

Additional Inherited Members

- Protected Attributes inherited from AbstractRecordingStrategy
std::filesystem::path m_file_path
 Path to where the recording file should be written to. More...
 

Detailed Description

An object of this class behaves likee a normal recording, but is in fact a sequence of images.

Definition at line 41 of file AbstractSequencedRecordingStrategy.h.

Constructor & Destructor Documentation

◆ AbstractSequencedRecordingStrategy() [1/2]

Default constructor to manually start the recording.

Definition at line 45 of file AbstractSequencedRecordingStrategy.cpp.

◆ AbstractSequencedRecordingStrategy() [2/2]

AbstractSequencedRecordingStrategy ( const std::filesystem::path &  filePath,
const std::filesystem::path &  ext 
)

Definition at line 52 of file AbstractSequencedRecordingStrategy.cpp.

◆ ~AbstractSequencedRecordingStrategy()

Destruct the recording strategy.

Definition at line 60 of file AbstractSequencedRecordingStrategy.cpp.

Member Function Documentation

◆ deriveFramePath()

std::filesystem::path deriveFramePath ( const unsigned int  sequence_number,
const std::string &  frame_name 
)
protected

Returns the next sequenced full path and increments the sequence number.

Returns
Next sequenced full path

Definition at line 97 of file AbstractSequencedRecordingStrategy.cpp.

+ Here is the call graph for this function:

◆ getDotExtension()

std::filesystem::path getDotExtension ( ) const
overridevirtual

Gets the extension plus preceeded dot of the configured file (e.g.

".avi")

Returns
Extention plus preceeded dot of the configured file

Reimplemented from AbstractRecordingStrategy.

Definition at line 82 of file AbstractSequencedRecordingStrategy.cpp.

◆ getMetadataPath()

std::filesystem::path getMetadataPath ( ) const
overridevirtual

Reimplemented from AbstractRecordingStrategy.

Definition at line 89 of file AbstractSequencedRecordingStrategy.cpp.

◆ startRecording()

void startRecording ( )
overridevirtual

Starts the recording manually if constructed empty.

Parameters
filePathPath to where the recording file should be written to
fpsAmount of frames being recorded per second

Reimplemented from AbstractRecordingStrategy.

Reimplemented in PNGParallelRecordingStrategy, PNGRecordingStrategy, and JPGRecordingStrategy.

Definition at line 67 of file AbstractSequencedRecordingStrategy.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

The documentation for this class was generated from the following files: