Fawkes API
Fawkes Development Version
|
24 #ifndef _FIREVISION_FVUTILS_IPC_SHM_IMAGE_H_
25 #define _FIREVISION_FVUTILS_IPC_SHM_IMAGE_H_
27 #include <fvutils/color/colorspaces.h>
28 #include <fvutils/ipc/defs.h>
29 #include <utils/ipc/shm.h>
30 #include <utils/ipc/shm_lister.h>
31 #include <utils/time/time.h>
36 #define FIREVISION_SHM_IMAGE_MAGIC_TOKEN "FireVision Image"
38 namespace firevision {
44 char image_id[IMAGE_ID_MAX_LENGTH];
45 char frame_id[FRAME_ID_MAX_LENGTH];
78 virtual bool matches(
void *memptr);
79 virtual size_t size();
83 virtual void set(
void *memptr);
91 unsigned int width()
const;
92 unsigned int height()
const;
101 colorspace_t _colorspace;
103 unsigned int _height;
105 char * _orig_image_id;
106 char * _orig_frame_id;
107 colorspace_t _orig_colorspace;
108 unsigned int _orig_width;
109 unsigned int _orig_height;
127 unsigned int mem_size,
128 const void * memptr);
168 unsigned int mem_size,
169 const void * memptr);
173 std::list<SharedMemoryImageBufferMetaData> &
180 std::list<SharedMemoryImageBufferMetaData> meta_data_;
195 unsigned char *
buffer()
const;
197 unsigned int width()
const;
198 unsigned int height()
const;
199 unsigned int roi_x()
const;
200 unsigned int roi_y()
const;
211 void set_roi(
unsigned int roi_x,
unsigned int roi_y,
unsigned int roi_w,
unsigned int roi_h);
215 void set_circle(
int x,
int y,
unsigned int r);
226 static void cleanup(
bool use_lister =
true);
230 static std::list<SharedMemoryImageBufferMetaData>
list_meta_data();
233 void constructor(
const char *
image_id,
243 colorspace_t _colorspace;
245 unsigned int _height;
unsigned int roi_height() const
Get ROI height.
colorspace_t colorspace() const
Get color space.
bool set_image_id(const char *image_id)
Set image number.
void set_circle_found(bool found)
Set circle found.
Format list output for shared memory segments.
bool is_read_only() const
Check for read-only mode.
int circle_y() const
Get circle Y.
unsigned int width() const
Get image width.
void set_capture_time(fawkes::Time *time)
Set the capture time.
void set_roi_y(unsigned int roi_y)
Set ROI Y.
static void wipe(const char *image_id)
Erase a specific shared memory segment that contains an image.
void set_roi_height(unsigned int roi_h)
Set ROI height.
unsigned int roi_width() const
Get ROI width.
static bool exists(const char *image_id)
Check image availability.
bool circle_found() const
Check if circle was found .
virtual void print_no_orphaned_segments()
Print this if no matching orphaned segment was found.
unsigned int height() const
Get image height.
SharedMemoryImageBuffer(const char *image_id, colorspace_t cspace, unsigned int width, unsigned int height)
Write Constructor.
~SharedMemoryImageBuffer()
Destructor.
void set_frame_id(const char *frame_id)
Set frame ID.
const char * frame_id() const
Get frame ID.
unsigned int circle_radius() const
Get circle radius.
static void list()
List all shared memory segments that contain a FireVision image.
fawkes::Time capture_time() const
Get the time when the image was captured.
void set_circle_x(int circle_x)
Set circle X.
void set_circle(int x, int y, unsigned int r)
Set circle data.
void set_roi_width(unsigned int roi_w)
Set ROI width.
SharedMemoryImageBufferLister()
Constructor.
unsigned char * buffer() const
Get image buffer.
void set_roi_x(unsigned int roi_x)
Set ROI X.
virtual void print_footer()
Print footer of the table.
const char * image_id() const
Get Image ID.
void set_roi(unsigned int roi_x, unsigned int roi_y, unsigned int roi_w, unsigned int roi_h)
Set ROI data.
unsigned int roi_x() const
Get ROI X.
virtual void print_header()
Print header of the table.
static std::list< SharedMemoryImageBufferMetaData > list_meta_data()
Get meta data about image buffers.
void set_circle_radius(unsigned int circle_radius)
Set circle radius.
virtual void print_info(const fawkes::SharedMemoryHeader *header, int shm_id, int semaphore, unsigned int mem_size, const void *memptr)
Print info about segment.
void set_circle_y(int circle_y)
Set circle Y.
static void cleanup(bool use_lister=true)
Erase all shared memory segments that contain FireVision images.
unsigned int roi_y() const
Get ROI Y.
virtual ~SharedMemoryImageBufferLister()
Destructor.
virtual void print_no_segments()
Print this if no matching segment was found.
int circle_x() const
Get circle X.