An object of this class manages a limited number of images. More...
#include <imagelist.h>
Public Member Functions | |
void | add (const std::shared_ptr< const Image > &image) |
Adds the given image to the internal list. More... | |
void | add (const Buffer *buffer, uint32_t part) |
Creates an image from the given buffer and adds it to the internal list. More... | |
std::shared_ptr< const Image > | find (uint64_t timestamp) const |
Returns the image that has the given timestamp. More... | |
std::shared_ptr< const Image > | find (uint64_t timestamp, uint64_t tolerance) const |
Returns the oldest image that has a timestamp within the tolerance of the given timestamp. More... | |
uint64_t | getOldestTime () const |
Get oldest timestamp of the list. More... | |
ImageList (size_t maxsize=25) | |
Create an image list. More... | |
void | removeOld (uint64_t timestamp) |
Removes all images that have a timestamp that is older or equal than the given timestamp. More... | |
Private Attributes | |
std::vector< std::shared_ptr< const Image > > | list |
size_t | maxsize |
An object of this class manages a limited number of images.
It is intended as a helper class for time synchronization of different images that can be associated by timestamp.
Definition at line 53 of file imagelist.h.
rcg::ImageList::ImageList | ( | size_t | maxsize = 25 | ) |
Create an image list.
maxsize | Maximum number of elements that the list can hold. The default is 25, which is 1s at 25 Hz. |
Definition at line 43 of file imagelist.cc.
void rcg::ImageList::add | ( | const std::shared_ptr< const Image > & | image | ) |
Adds the given image to the internal list.
If the maximum number of elements is exceeded, then the oldes image will be dropped.
image | Image to be added. |
Definition at line 48 of file imagelist.cc.
void rcg::ImageList::add | ( | const Buffer * | buffer, |
uint32_t | part | ||
) |
Creates an image from the given buffer and adds it to the internal list.
If the maximum number of elements is exceeded, then the oldes image will be dropped.
buffer | Buffer from which an image will be created. |
part | Part number from which the image should be created. |
Definition at line 58 of file imagelist.cc.
std::shared_ptr< const Image > rcg::ImageList::find | ( | uint64_t | timestamp | ) | const |
Returns the image that has the given timestamp.
If the image cannot be found, then a nullptr is returned.
timestamp | Timestamp. |
Definition at line 97 of file imagelist.cc.
std::shared_ptr< const Image > rcg::ImageList::find | ( | uint64_t | timestamp, |
uint64_t | tolerance | ||
) | const |
Returns the oldest image that has a timestamp within the tolerance of the given timestamp.
If the tolerance is <= 0, then the behaviour is the same as for find(timestamp). If the image cannot be found, then a nullptr is returned.
timestamp | Timestamp. |
tolerance | Maximum tolarance added or subtracted to the timestamp. |
Definition at line 110 of file imagelist.cc.
uint64_t rcg::ImageList::getOldestTime | ( | ) | const |
Get oldest timestamp of the list.
Definition at line 85 of file imagelist.cc.
void rcg::ImageList::removeOld | ( | uint64_t | timestamp | ) |
Removes all images that have a timestamp that is older or equal than the given timestamp.
timestamp | Timestamp. |
Definition at line 68 of file imagelist.cc.
|
private |
Definition at line 130 of file imagelist.h.
|
private |
Definition at line 129 of file imagelist.h.