Fawkes API
Fawkes Development Version
|
Grid of scan lines. More...
#include <>>
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. More... | |
virtual | ~ScanlineLineGrid () |
Destructor. More... | |
fawkes::upoint_t | operator* () |
Get the current coordinate. More... | |
fawkes::upoint_t * | operator-> () |
Get pointer to current point. More... | |
fawkes::upoint_t * | operator++ () |
Postfix ++ operator. More... | |
fawkes::upoint_t * | operator++ (int) |
Prefix ++ operator. More... | |
bool | finished () |
Check if all desired points have been processed. More... | |
void | reset () |
Reset model. More... | |
const char * | get_name () |
Get name of scanline model. More... | |
unsigned int | get_margin () |
Get margin around points. More... | |
virtual void | set_robot_pose (float x, float y, float ori) |
Set the robot's pose. More... | |
virtual void | set_pan_tilt (float pan, float tilt) |
Set camera's pan/tilt values. More... | |
virtual void | set_dimensions (unsigned int width, unsigned int height, ROI *roi=NULL) |
Sets the dimensions of the grid. More... | |
virtual void | set_offset (unsigned int offset_x, unsigned int offset_y) |
Sets offset. More... | |
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. More... | |
virtual void | set_roi (ROI *roi=NULL) |
Sets the region-of-interest. More... | |
![]() | |
virtual | ~ScanlineModel () |
Virtual empty destructor. More... | |
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.
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.
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().
|
virtual |
Destructor.
Definition at line 73 of file line_grid.cpp.
|
virtual |
Check if all desired points have been processed.
Implements firevision::ScanlineModel.
Definition at line 179 of file line_grid.cpp.
|
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.
Implements firevision::ScanlineModel.
Definition at line 198 of file line_grid.cpp.
|
virtual |
Get name of scanline model.
Implements firevision::ScanlineModel.
Definition at line 191 of file line_grid.cpp.
|
virtual |
Get the current coordinate.
Implements firevision::ScanlineModel.
Definition at line 79 of file line_grid.cpp.
|
virtual |
Postfix ++ operator.
Advances to the next point and returns the new point.
Implements firevision::ScanlineModel.
Definition at line 162 of file line_grid.cpp.
|
virtual |
Prefix ++ operator.
Advances to the next point but returns the old point.
Implements firevision::ScanlineModel.
Definition at line 169 of file line_grid.cpp.
|
virtual |
Get pointer to current point.
Implements firevision::ScanlineModel.
Definition at line 85 of file line_grid.cpp.
References firevision::ROI::height, firevision::ROI::image_height, firevision::ROI::image_width, reset(), firevision::ROI::start, firevision::ROI::width, fawkes::upoint_t::x, and fawkes::upoint_t::y.
|
virtual |
Reset model.
Resets the set of processed points.
Implements firevision::ScanlineModel.
Definition at line 185 of file line_grid.cpp.
Referenced by operator->().
|
virtual |
Sets the dimensions of the grid.
Set width and height of scanline grid. Implicitly resets the grid.
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().
|
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.
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().
|
virtual |
Sets offset.
Set horizontal and vertical offset by which the pointer in the grid is advanced. This function implicitly resets the grid.
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.
|
virtual |
Set camera's pan/tilt values.
pan | camera's current pan |
tilt | camera's current tilt |
Implements firevision::ScanlineModel.
Definition at line 212 of file line_grid.cpp.
|
virtual |
Set the robot's pose.
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.
|
virtual |
Sets the region-of-interest.
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::upoint_t::x, and fawkes::upoint_t::y.
Referenced by set_dimensions().