Fawkes API  Fawkes Development Version
firevision::SharedMemoryImageBuffer Class Reference

Shared memory image buffer. More...

#include <>>

Inheritance diagram for firevision::SharedMemoryImageBuffer:

List of all members.

Public Member Functions

 SharedMemoryImageBuffer (const char *image_id, colorspace_t cspace, unsigned int width, unsigned int height)
 Write Constructor.
 SharedMemoryImageBuffer (const char *image_id, bool is_read_only=true)
 Read Constructor.
 ~SharedMemoryImageBuffer ()
 Destructor.
const char * image_id () const
 Get Image ID.
unsigned char * buffer () const
 Get image buffer.
colorspace_t colorspace () const
 Get color space.
unsigned int width () const
 Get image width.
unsigned int height () const
 Get image height.
unsigned int roi_x () const
 Get ROI X.
unsigned int roi_y () const
 Get ROI Y.
unsigned int roi_width () const
 Get ROI width.
unsigned int roi_height () const
 Get ROI height.
int circle_x () const
 Get circle X.
int circle_y () const
 Get circle Y.
unsigned int circle_radius () const
 Get circle radius.
bool circle_found () const
 Check if circle was found .
void set_roi_x (unsigned int roi_x)
 Set ROI X.
void set_roi_y (unsigned int roi_y)
 Set ROI Y.
void set_roi_width (unsigned int roi_w)
 Set ROI width.
void set_roi_height (unsigned int roi_h)
 Set ROI height.
void set_roi (unsigned int roi_x, unsigned int roi_y, unsigned int roi_w, unsigned int roi_h)
 Set ROI data.
void set_circle_x (int circle_x)
 Set circle X.
void set_circle_y (int circle_y)
 Set circle Y.
void set_circle_radius (unsigned int circle_radius)
 Set circle radius.
void set_circle (int x, int y, unsigned int r)
 Set circle data.
void set_circle_found (bool found)
 Set circle found.
bool set_image_id (const char *image_id)
 Set image number.
fawkes::Time capture_time () const
 Get the time when the image was captured.
void capture_time (long int *sec, long int *usec) const
 Get the time when the image was captured.
void set_capture_time (fawkes::Time *time)
 Set the capture time.
void set_capture_time (long int sec, long int usec)
 Set the capture time.

Static Public Member Functions

static void list ()
 List all shared memory segments that contain a FireVision image.
static void cleanup (bool use_lister=true)
 Erase all shared memory segments that contain FireVision images.
static bool exists (const char *image_id)
 Check image availability.
static void wipe (const char *image_id)
 Erase a specific shared memory segment that contains an image.

Detailed Description

Shared memory image buffer.

Write images to or retrieve images from a shared memory segment.

Author:
Tim Niemueller

Constructor & Destructor Documentation

firevision::SharedMemoryImageBuffer::SharedMemoryImageBuffer ( const char *  image_id,
colorspace_t  cspace,
unsigned int  width,
unsigned int  height 
)

Write Constructor.

Create a new shared memory segment. Will open a shared memory segment that exactly fits the given information. Will throw an error if image with id image_id exists. I will create a new segment if no matching segment was found. The segment is accessed in read-write mode.

Use this constructor to open a shared memory image buffer for writing.

Parameters:
image_idimage ID to open
cspacecolorspace
widthimage width
heightimage height

Definition at line 62 of file shm_image.cpp.

References fawkes::SharedMemory::add_semaphore().

firevision::SharedMemoryImageBuffer::SharedMemoryImageBuffer ( const char *  image_id,
bool  is_read_only = true 
)

Read Constructor.

This constructor is used to search for an existing shared memory segment. It will throw an error if it cannot find a segment with the specified data. The segment is opened read-only by default, but this can be overridden with the is_read_only argument if needed.

Use this constructor to open an image for reading.

Parameters:
image_idImage ID to open
is_read_onlytrue to open image read-only

Definition at line 86 of file shm_image.cpp.

firevision::SharedMemoryImageBuffer::~SharedMemoryImageBuffer ( )

Destructor.

Definition at line 121 of file shm_image.cpp.

References fawkes::SharedMemory::free().


Member Function Documentation

unsigned char * firevision::SharedMemoryImageBuffer::buffer ( ) const

Get image buffer.

Returns:
image buffer.

Definition at line 212 of file shm_image.cpp.

References fawkes::SharedMemory::_memptr.

Referenced by FvRetrieverThread::loop(), and firevision::FuseImageContent::FuseImageContent().

Time firevision::SharedMemoryImageBuffer::capture_time ( ) const

Get the time when the image was captured.

Returns:
capture time

Definition at line 172 of file shm_image.cpp.

References firevision::SharedMemoryImageBuffer_header_t::capture_time_sec, and firevision::SharedMemoryImageBuffer_header_t::capture_time_usec.

Referenced by firevision::FuseImageContent::FuseImageContent().

void firevision::SharedMemoryImageBuffer::capture_time ( long int *  sec,
long int *  usec 
) const

Get the time when the image was captured.

Parameters:
secupon return contains the seconds part of the time
usecupon return contains the micro seconds part of the time

Definition at line 162 of file shm_image.cpp.

References firevision::SharedMemoryImageBuffer_header_t::capture_time_sec, and firevision::SharedMemoryImageBuffer_header_t::capture_time_usec.

bool firevision::SharedMemoryImageBuffer::circle_found ( ) const

Check if circle was found .

Returns:
true if circle was found, false otherwise

Definition at line 460 of file shm_image.cpp.

References firevision::SharedMemoryImageBuffer_header_t::flag_circle_found.

unsigned int firevision::SharedMemoryImageBuffer::circle_radius ( ) const

Get circle radius.

Returns:
circle radius

Definition at line 312 of file shm_image.cpp.

References firevision::SharedMemoryImageBuffer_header_t::circle_radius.

Referenced by set_circle_radius().

int firevision::SharedMemoryImageBuffer::circle_x ( ) const

Get circle X.

Returns:
circle X

Definition at line 292 of file shm_image.cpp.

References firevision::SharedMemoryImageBuffer_header_t::circle_x.

Referenced by set_circle_x().

int firevision::SharedMemoryImageBuffer::circle_y ( ) const

Get circle Y.

Returns:
circle Y

Definition at line 302 of file shm_image.cpp.

References firevision::SharedMemoryImageBuffer_header_t::circle_y.

Referenced by set_circle_y().

void firevision::SharedMemoryImageBuffer::cleanup ( bool  use_lister = true) [static]

Erase all shared memory segments that contain FireVision images.

Parameters:
use_listerif true a lister is used to print the shared memory segments to stdout while cleaning up.

Definition at line 485 of file shm_image.cpp.

References fawkes::SharedMemory::erase_orphaned().

colorspace_t firevision::SharedMemoryImageBuffer::colorspace ( ) const

Get color space.

Returns:
colorspace

Definition at line 222 of file shm_image.cpp.

References firevision::SharedMemoryImageBuffer_header_t::colorspace.

Referenced by firevision::FuseImageContent::FuseImageContent().

bool firevision::SharedMemoryImageBuffer::exists ( const char *  image_id) [static]

Check image availability.

Parameters:
image_idimage ID to check
Returns:
true if shared memory segment with requested image exists

Definition at line 506 of file shm_image.cpp.

unsigned int firevision::SharedMemoryImageBuffer::height ( ) const

Get image height.

Returns:
image height

Definition at line 242 of file shm_image.cpp.

References firevision::SharedMemoryImageBuffer_header_t::height.

Referenced by firevision::FuseImageContent::FuseImageContent().

const char * firevision::SharedMemoryImageBuffer::image_id ( ) const

Get Image ID.

Returns:
image id

Definition at line 151 of file shm_image.cpp.

Referenced by firevision::FuseImageContent::FuseImageContent().

void firevision::SharedMemoryImageBuffer::list ( ) [static]

List all shared memory segments that contain a FireVision image.

Definition at line 468 of file shm_image.cpp.

unsigned int firevision::SharedMemoryImageBuffer::roi_height ( ) const

Get ROI height.

Returns:
ROI height

Definition at line 282 of file shm_image.cpp.

References firevision::SharedMemoryImageBuffer_header_t::roi_height.

unsigned int firevision::SharedMemoryImageBuffer::roi_width ( ) const

Get ROI width.

Returns:
ROI width

Definition at line 272 of file shm_image.cpp.

References firevision::SharedMemoryImageBuffer_header_t::roi_width.

unsigned int firevision::SharedMemoryImageBuffer::roi_x ( ) const

Get ROI X.

Returns:
ROI X

Definition at line 252 of file shm_image.cpp.

References firevision::SharedMemoryImageBuffer_header_t::roi_x.

Referenced by set_roi_x(), and set_roi().

unsigned int firevision::SharedMemoryImageBuffer::roi_y ( ) const

Get ROI Y.

Returns:
ROI Y

Definition at line 262 of file shm_image.cpp.

References firevision::SharedMemoryImageBuffer_header_t::roi_y.

Referenced by set_roi_y(), and set_roi().

void firevision::SharedMemoryImageBuffer::set_capture_time ( fawkes::Time time)
void firevision::SharedMemoryImageBuffer::set_capture_time ( long int  sec,
long int  usec 
)

Set the capture time.

Parameters:
secseconds part of capture time
usecmicroseconds part of capture time

Definition at line 198 of file shm_image.cpp.

References fawkes::SharedMemory::_is_read_only, firevision::SharedMemoryImageBuffer_header_t::capture_time_sec, and firevision::SharedMemoryImageBuffer_header_t::capture_time_usec.

void firevision::SharedMemoryImageBuffer::set_circle ( int  x,
int  y,
unsigned int  r 
)
void firevision::SharedMemoryImageBuffer::set_circle_found ( bool  found)

Set circle found.

Parameters:
foundtrue if circle found

Definition at line 450 of file shm_image.cpp.

References firevision::SharedMemoryImageBuffer_header_t::flag_circle_found.

void firevision::SharedMemoryImageBuffer::set_circle_radius ( unsigned int  circle_radius)

Set circle radius.

Parameters:
circle_radiusnew circle radius

Definition at line 420 of file shm_image.cpp.

References fawkes::SharedMemory::_is_read_only, firevision::SharedMemoryImageBuffer_header_t::circle_radius, and circle_radius().

void firevision::SharedMemoryImageBuffer::set_circle_x ( int  circle_x)

Set circle X.

Parameters:
circle_xnew circle X

Definition at line 394 of file shm_image.cpp.

References fawkes::SharedMemory::_is_read_only, firevision::SharedMemoryImageBuffer_header_t::circle_x, and circle_x().

void firevision::SharedMemoryImageBuffer::set_circle_y ( int  circle_y)

Set circle Y.

Parameters:
circle_ynew circle Y

Definition at line 407 of file shm_image.cpp.

References fawkes::SharedMemory::_is_read_only, firevision::SharedMemoryImageBuffer_header_t::circle_y, and circle_y().

bool firevision::SharedMemoryImageBuffer::set_image_id ( const char *  image_id)

Set image number.

This will close the currently opened image and will try to open the new image. This operation should be avoided.

Parameters:
image_idnew image ID
Returns:
true on success

Definition at line 135 of file shm_image.cpp.

References fawkes::SharedMemory::free(), firevision::SharedMemoryImageBufferHeader::set_image_id(), fawkes::SharedMemory::attach(), firevision::SharedMemoryImageBufferHeader::raw_header(), and fawkes::SharedMemory::_memptr.

void firevision::SharedMemoryImageBuffer::set_roi ( unsigned int  roi_x,
unsigned int  roi_y,
unsigned int  roi_w,
unsigned int  roi_h 
)
void firevision::SharedMemoryImageBuffer::set_roi_height ( unsigned int  roi_h)

Set ROI height.

Parameters:
roi_hnew ROI height

Definition at line 361 of file shm_image.cpp.

References fawkes::SharedMemory::_is_read_only, and firevision::SharedMemoryImageBuffer_header_t::roi_height.

void firevision::SharedMemoryImageBuffer::set_roi_width ( unsigned int  roi_w)

Set ROI width.

Parameters:
roi_wnew ROI width

Definition at line 348 of file shm_image.cpp.

References fawkes::SharedMemory::_is_read_only, and firevision::SharedMemoryImageBuffer_header_t::roi_width.

void firevision::SharedMemoryImageBuffer::set_roi_x ( unsigned int  roi_x)

Set ROI X.

Parameters:
roi_xnew ROI X

Definition at line 322 of file shm_image.cpp.

References fawkes::SharedMemory::_is_read_only, firevision::SharedMemoryImageBuffer_header_t::roi_x, and roi_x().

void firevision::SharedMemoryImageBuffer::set_roi_y ( unsigned int  roi_y)

Set ROI Y.

Parameters:
roi_ynew ROI Y

Definition at line 335 of file shm_image.cpp.

References fawkes::SharedMemory::_is_read_only, firevision::SharedMemoryImageBuffer_header_t::roi_y, and roi_y().

unsigned int firevision::SharedMemoryImageBuffer::width ( ) const

Get image width.

Returns:
width

Definition at line 232 of file shm_image.cpp.

References firevision::SharedMemoryImageBuffer_header_t::width.

Referenced by firevision::FuseImageContent::FuseImageContent().

void firevision::SharedMemoryImageBuffer::wipe ( const char *  image_id) [static]

Erase a specific shared memory segment that contains an image.

Parameters:
image_idID of image to wipe

Definition at line 521 of file shm_image.cpp.

References fawkes::SharedMemory::erase().


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