#include <models/scanlines/star.h>
Inheritance diagram for firevision::ScanlineStar:
Public Member Functions | |
ScanlineStar (unsigned int image_width, unsigned int image_height, unsigned int center_x, unsigned int center_y, unsigned int num_rays, unsigned int radius_incr, unsigned char *yuv_mask, unsigned int dead_radius=0, unsigned int max_radius=0, unsigned int margin=0) | |
Constructor. | |
virtual | ~ScanlineStar () |
Destructor. | |
fawkes::point_t | operator * () |
Get the current coordinate. | |
fawkes::point_t * | operator-> () |
Get pointer to current point. | |
fawkes::point_t * | operator++ () |
Postfix ++ operator. | |
fawkes::point_t * | operator++ (int) |
Prefix ++ operator. | |
void | advance () |
Calculates the next scanline point. | |
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. | |
void | set_robot_pose (float x, float y, float ori) |
Set the robot's pose. | |
void | set_pan_tilt (float pan, float tilt) |
Set camera's pan/tilt values. | |
void | skip_current_ray () |
Skips the current ray and continues with the first valid scanline point of the next ray. | |
unsigned int | num_rays () const |
Returns the number of segments in the model. | |
unsigned int | ray_index () const |
Return the index of the current ray. | |
unsigned int | current_radius () const |
Returns the radius of the current scanline point. | |
float | current_angle () const |
Returns the angle of the current scanline point. | |
bool | first_on_ray () const |
Checks whether the current scanpoint is the first scanpoint on the current ray. |
Definition at line 36 of file star.h.
firevision::ScanlineStar::ScanlineStar | ( | unsigned int | image_width, | |
unsigned int | image_height, | |||
unsigned int | center_x, | |||
unsigned int | center_y, | |||
unsigned int | num_rays, | |||
unsigned int | radius_incr, | |||
unsigned char * | yuv_mask, | |||
unsigned int | dead_radius = 0 , |
|||
unsigned int | max_radius = 0 , |
|||
unsigned int | margin = 0 | |||
) |
Constructor.
image_width | width of the image | |
image_height | height of the image | |
center_x | x-coordinate of the center point | |
center_y | y-coordinate of the center point | |
num_rays | number of rays | |
radius_incr | number of pixels by which the radius is increased | |
yuv_mask | a mask allows to exclude certain regions of the image from inspection. More precisely, no scanline points are generated in those areas. The ignored regions have to be black, i.e. Y=0, U=127, V=127. | |
dead_radius | number of pixels around the center that are disregarded | |
max_radius | maximal radius in number of pixels | |
margin | margin around every scanline point that does not contain any other scanline point (in pixels) |
Definition at line 58 of file star.cpp.
References fawkes::deg2rad(), reset(), fawkes::point_t::x, and fawkes::point_t::y.
firevision::ScanlineStar::~ScanlineStar | ( | ) | [virtual] |
void firevision::ScanlineStar::advance | ( | ) |
Calculates the next scanline point.
Definition at line 140 of file star.cpp.
Referenced by operator++().
float firevision::ScanlineStar::current_angle | ( | ) | const |
unsigned int firevision::ScanlineStar::current_radius | ( | ) | const |
bool firevision::ScanlineStar::finished | ( | ) | [virtual] |
Check if all desired points have been processed.
Implements firevision::ScanlineModel.
bool firevision::ScanlineStar::first_on_ray | ( | ) | const |
unsigned int firevision::ScanlineStar::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.
Implements firevision::ScanlineModel.
const char * firevision::ScanlineStar::get_name | ( | ) | [virtual] |
unsigned int firevision::ScanlineStar::num_rays | ( | ) | const |
point_t firevision::ScanlineStar::operator * | ( | ) | [virtual] |
Get the current coordinate.
Implements firevision::ScanlineModel.
point_t * firevision::ScanlineStar::operator++ | ( | int | ) | [virtual] |
Prefix ++ operator.
Advances to the next point but returns the old point.
Implements firevision::ScanlineModel.
Definition at line 129 of file star.cpp.
References advance().
point_t * firevision::ScanlineStar::operator++ | ( | ) | [virtual] |
Postfix ++ operator.
Advances to the next point and returns the new point.
Implements firevision::ScanlineModel.
Definition at line 121 of file star.cpp.
References advance().
point_t * firevision::ScanlineStar::operator-> | ( | ) | [virtual] |
Get pointer to current point.
Implements firevision::ScanlineModel.
unsigned int firevision::ScanlineStar::ray_index | ( | ) | const |
void firevision::ScanlineStar::reset | ( | ) | [virtual] |
Reset model.
Resets the set of processed points.
Implements firevision::ScanlineModel.
Definition at line 174 of file star.cpp.
Referenced by ScanlineStar().
void firevision::ScanlineStar::set_pan_tilt | ( | float | pan, | |
float | tilt | |||
) | [virtual] |
Set camera's pan/tilt values.
pan | camera's current pan | |
tilt | camera's current tilt |
Implements firevision::ScanlineModel.
void firevision::ScanlineStar::set_robot_pose | ( | float | x, | |
float | y, | |||
float | ori | |||
) | [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.
void firevision::ScanlineStar::skip_current_ray | ( | ) |