firevision::SharedMemoryImageBuffer Class Reference

Shared memory image buffer. More...

#include <fvutils/ipc/shm_image.h>

Inheritance diagram for firevision::SharedMemoryImageBuffer:
Inheritance graph
[legend]

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

Definition at line 130 of file shm_image.h.


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_id image ID to open
cspace colorspace
width image width
height image 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_id Image ID to open
is_read_only true 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
void firevision::SharedMemoryImageBuffer::capture_time ( long int *  sec,
long int *  usec 
) const

Get the time when the image was captured.

Parameters:
sec upon return contains the seconds part of the time
usec upon 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.

Time firevision::SharedMemoryImageBuffer::capture_time (  )  const
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.

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.

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.

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

Erase all shared memory segments that contain FireVision images.

Parameters:
use_lister if 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
bool firevision::SharedMemoryImageBuffer::exists ( const char *  image_id  )  [static]

Check image availability.

Parameters:
image_id image 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
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.

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.

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

Set the capture time.

Parameters:
sec seconds part of capture time
usec microseconds 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_capture_time ( fawkes::Time time  ) 
void firevision::SharedMemoryImageBuffer::set_circle ( int  x,
int  y,
unsigned int  r 
)
void firevision::SharedMemoryImageBuffer::set_circle_found ( bool  found  ) 

Set circle found.

Parameters:
found true 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_radius new circle radius

Definition at line 420 of file shm_image.cpp.

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

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

Set circle X.

Parameters:
circle_x new circle X

Definition at line 394 of file shm_image.cpp.

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

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

Set circle Y.

Parameters:
circle_y new circle Y

Definition at line 407 of file shm_image.cpp.

References fawkes::SharedMemory::_is_read_only, and firevision::SharedMemoryImageBuffer_header_t::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_id new image ID
Returns:
true on success

Definition at line 135 of file shm_image.cpp.

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

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_h new 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_w new 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_x new ROI X

Definition at line 322 of file shm_image.cpp.

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

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

Set ROI Y.

Parameters:
roi_y new ROI Y

Definition at line 335 of file shm_image.cpp.

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

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

Erase a specific shared memory segment that contains an image.

Parameters:
image_id ID 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:

Generated on 1 Mar 2011 for Fawkes API by  doxygen 1.6.1