firevision::ScanlineLineGrid Class Reference

Grid of scan lines. More...

#include <models/scanlines/line_grid.h>

Inheritance diagram for firevision::ScanlineLineGrid:

[legend]
List of all members.

Public Member Functions

 ScanlineLineGrid (unsigned int width, unsigned int height, unsigned int offset_hor, unsigned int offset_ver, ROI *roi=NULL, unsigned int gap=0)
 Constructor.
virtual ~ScanlineLineGrid ()
 Destructor.
fawkes::point_t operator * ()
 Get the current coordinate.
fawkes::point_toperator-> ()
 Get pointer to current point.
fawkes::point_toperator++ ()
 Postfix ++ operator.
fawkes::point_toperator++ (int)
 Prefix ++ operator.
bool finished ()
 Check if all desired points have been processed.
void reset ()
 Reset model.
const char * get_name ()
 Get name of scanline model.
unsigned int get_margin ()
 Get margin around points.
virtual void set_robot_pose (float x, float y, float ori)
 Set the robot's pose.
virtual void set_pan_tilt (float pan, float tilt)
 Set camera's pan/tilt values.
virtual void set_dimensions (unsigned int width, unsigned int height, ROI *roi=NULL)
 Sets the dimensions of the grid.
virtual void set_offset (unsigned int offset_x, unsigned int offset_y)
 Sets offset.
virtual void set_grid_params (unsigned int width, unsigned int height, unsigned int offset_hor, unsigned int offset_ver, ROI *roi=NULL)
 Set all grid parameters.
virtual void set_roi (ROI *roi=NULL)
 Sets the region-of-interest.

Detailed Description

Grid of scan lines.

A grid of scan lines (i.e. horizontal and/or vertical lines) instead of only points on the grid crossings. The behavior of the ScanlineGrid (grid.h) class can be modeled if offset_hor is set to the same value as offset_x in the Grid class, offset_ver = 0 and gap is set to offset_y - 1. The advantage of doing this is a performance gain as the LineGrid is pre-calculated and getting the next point is only an iterator increment.

Definition at line 40 of file line_grid.h.


Constructor & Destructor Documentation

firevision::ScanlineLineGrid::ScanlineLineGrid ( unsigned int  width,
unsigned int  height,
unsigned int  offset_hor,
unsigned int  offset_ver,
ROI roi = NULL,
unsigned int  gap = 0 
)

Constructor.

Parameters:
width Width of grid (most likely equal to image_width)
height Height of grid (most likely equal to image_height)
offset_hor Offset between horizontal lines (set to 0 to get only vertical lines)
offset_ver Offset between vertical lines (set to 0 to get only horizontal lines)
roi The grid will only be calculated within the roi (if NULL the grid gets calculated over the complete width/height). The provided object will be deleted by ScanlineLineGrid!
gap Gap between two points on the line

Definition at line 60 of file line_grid.cpp.

References set_grid_params().

firevision::ScanlineLineGrid::~ScanlineLineGrid (  )  [virtual]

Destructor.

Definition at line 73 of file line_grid.cpp.


Member Function Documentation

bool firevision::ScanlineLineGrid::finished (  )  [virtual]

Check if all desired points have been processed.

Returns:
true if all pixels that the model defines have been iterated.

Implements firevision::ScanlineModel.

Definition at line 179 of file line_grid.cpp.

unsigned int firevision::ScanlineLineGrid::get_margin (  )  [virtual]

Get margin around points.

Models that do not use margins shall return zero. It shall be guaranteed that in this margin region around a point there is no other point that has been or will be returned in a full iteration.

Returns:
margin around a point.

Implements firevision::ScanlineModel.

Definition at line 198 of file line_grid.cpp.

const char * firevision::ScanlineLineGrid::get_name (  )  [virtual]

Get name of scanline model.

Returns:
name of scanline model.

Implements firevision::ScanlineModel.

Definition at line 191 of file line_grid.cpp.

point_t firevision::ScanlineLineGrid::operator * (  )  [virtual]

Get the current coordinate.

Returns:
current point in image that is shall be processed.

Implements firevision::ScanlineModel.

Definition at line 79 of file line_grid.cpp.

point_t * firevision::ScanlineLineGrid::operator++ ( int   )  [virtual]

Prefix ++ operator.

Advances to the next point but returns the old point.

Returns:
pointer to next point

Implements firevision::ScanlineModel.

Definition at line 169 of file line_grid.cpp.

point_t * firevision::ScanlineLineGrid::operator++ (  )  [virtual]

Postfix ++ operator.

Advances to the next point and returns the new point.

Returns:
pointer to new point

Implements firevision::ScanlineModel.

Definition at line 162 of file line_grid.cpp.

point_t * firevision::ScanlineLineGrid::operator-> (  )  [virtual]

Get pointer to current point.

Returns:
pointer to current point
See also:
operator*()

Implements firevision::ScanlineModel.

Definition at line 85 of file line_grid.cpp.

void firevision::ScanlineLineGrid::reset (  )  [virtual]

Reset model.

Resets the set of processed points.

Implements firevision::ScanlineModel.

Definition at line 185 of file line_grid.cpp.

void firevision::ScanlineLineGrid::set_dimensions ( unsigned int  width,
unsigned int  height,
ROI roi = NULL 
) [virtual]

Sets the dimensions of the grid.

Set width and height of scanline grid. Implicitly resets the grid.

Parameters:
width Width of grid (most likely equal to image_width)
height Height of grid (most likely equal to image_height)
roi The grid will only be calculated within the roi (if NULL the grid gets calculated over the complete width/height). The provided object will be deleted by ScanlineLineGrid!

Definition at line 228 of file line_grid.cpp.

References set_roi().

Referenced by set_grid_params().

void firevision::ScanlineLineGrid::set_grid_params ( unsigned int  width,
unsigned int  height,
unsigned int  offset_hor,
unsigned int  offset_ver,
ROI roi = NULL 
) [virtual]

Set all grid parameters.

Set width, height, horizontal and vertical offset by which the pointer in the grid is advanced. Implicitly resets the grid.

Parameters:
width Width of grid (most likely equal to image_width)
height Height of grid (most likely equal to image_height)
offset_hor Offset between horizontal lines (set to 0 to get only vertical lines)
offset_ver Offset between vertical lines (set to 0 to get only horizontal lines)
roi The grid will only be calculated within the roi (if NULL the grid gets calculated over the complete width/height). The provided object will be deleted by ScanlineLineGrid!

Definition at line 294 of file line_grid.cpp.

References set_dimensions().

Referenced by ScanlineLineGrid().

void firevision::ScanlineLineGrid::set_offset ( unsigned int  offset_hor,
unsigned int  offset_ver 
) [virtual]

Sets offset.

Set horizontal and vertical offset by which the pointer in the grid is advanced. This function implicitly resets the grid.

Parameters:
offset_hor Offset between horizontal lines (set to 0 to get only vertical lines)
offset_ver Offset between vertical lines (set to 0 to get only horizontal lines)

Definition at line 271 of file line_grid.cpp.

void firevision::ScanlineLineGrid::set_pan_tilt ( float  pan,
float  tilt 
) [virtual]

Set camera's pan/tilt values.

Parameters:
pan camera's current pan
tilt camera's current tilt

Implements firevision::ScanlineModel.

Definition at line 212 of file line_grid.cpp.

void firevision::ScanlineLineGrid::set_robot_pose ( float  x,
float  y,
float  ori 
) [virtual]

Set the robot's pose.

Parameters:
x robot's x coordinate on field in meters
y robot's y coordinate on field in meters
ori robot's orientation. Looking towards the opponent goal is zero rad, with positive values pointing to the right, negative to the left.

Implements firevision::ScanlineModel.

Definition at line 205 of file line_grid.cpp.

void firevision::ScanlineLineGrid::set_roi ( ROI roi = NULL  )  [virtual]

Sets the region-of-interest.

Parameters:
roi The grid will only be calculated within the roi (if NULL the grid gets calculated over the complete width/height). The provided object will be deleted by ScanlineLineGrid!

Reimplemented from firevision::ScanlineModel.

Definition at line 242 of file line_grid.cpp.

References firevision::ROI::height, firevision::ROI::image_height, firevision::ROI::image_width, firevision::ROI::set_image_height(), firevision::ROI::set_image_width(), firevision::ROI::start, firevision::ROI::width, fawkes::point_t::x, and fawkes::point_t::y.

Referenced by set_dimensions().


The documentation for this class was generated from the following files:
Generated on Tue Feb 22 13:31:45 2011 for Fawkes API by  doxygen 1.4.7