ScanlineBeams Class Reference
Raytraced beams scanline model. More...
#include <models/scanlines/beams.h>

Public Member Functions | |
| ScanlineBeams (unsigned int image_width, unsigned int image_height, unsigned int start_x, unsigned int start_y, unsigned int stop_y, unsigned int offset_y, bool distribute_start_x, float angle_from, float angle_range, unsigned int num_beams) | |
| Construtor. | |
| 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. | |
| 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. | |
Detailed Description
Raytraced beams scanline model.This model uses a defined number of beams shot from the bottom of the image towards the top using Bresenham. With this you can have kind of a radar-like scanline model. Additionally the starting points at the bottom can be distributed over the full width of the image which alles for a scan aligned to the image.
To ease the calculation of the finished state the very last point is traversed twice.
Definition at line 32 of file beams.h.
Constructor & Destructor Documentation
| ScanlineBeams::ScanlineBeams | ( | unsigned int | image_width, | |
| unsigned int | image_height, | |||
| unsigned int | start_x, | |||
| unsigned int | start_y, | |||
| unsigned int | stop_y, | |||
| unsigned int | offset_y, | |||
| bool | distribute_start_x, | |||
| float | angle_from, | |||
| float | angle_range, | |||
| unsigned int | num_beams | |||
| ) |
Construtor.
- Parameters:
-
image_width image width image_height image height start_x x coordinate of the starting point, ignored if distributed (see below) start_y y coordinate of the starting point, this is the lowest points of the the lines and should thus be close to the bottom of the image stop_y Y coordinate for stopping the traversal offset_y number of pixel to advance in Y-direction per iteration distribute_start_x set to true, to distribute the start x coordinates equidistant over the whole width of the image. angle_from angle to start the scan at, a straight vertical line means zero rad, clock-wise positive, in radians angle_range the range to use to distribute the beams, clockwise positive, in radians num_beams number of beams to use
- Exceptions:
-
Exception thrown if parameters are out of bounds
Definition at line 62 of file beams.cpp.
References reset().
Member Function Documentation
| bool ScanlineBeams::finished | ( | ) | [virtual] |
Check if all desired points have been processed.
- Returns:
- true if all pixels that the model defines have been iterated.
Implements ScanlineModel.
| unsigned int ScanlineBeams::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 ScanlineModel.
| const char * ScanlineBeams::get_name | ( | ) | [virtual] |
| point_t ScanlineBeams::operator* | ( | ) | [virtual] |
Get the current coordinate.
- Returns:
- current point in image that is shall be processed.
Implements ScanlineModel.
| point_t * ScanlineBeams::operator++ | ( | int | ) | [virtual] |
Prefix ++ operator.
Advances to the next point but returns the old point.
Implements ScanlineModel.
Definition at line 209 of file beams.cpp.
References fawkes::point_t::x, and fawkes::point_t::y.
| point_t * ScanlineBeams::operator++ | ( | ) | [virtual] |
Postfix ++ operator.
Advances to the next point and returns the new point.
- Returns:
- pointer to new point
Implements ScanlineModel.
| point_t * ScanlineBeams::operator-> | ( | ) | [virtual] |
Get pointer to current point.
- Returns:
- pointer to current point
- See also:
- operator*()
Implements ScanlineModel.
| void ScanlineBeams::reset | ( | ) | [virtual] |
Reset model.
Resets the set of processed points.
Implements ScanlineModel.
Definition at line 219 of file beams.cpp.
References fawkes::point_t::x, and fawkes::point_t::y.
Referenced by ScanlineBeams().
| virtual void ScanlineBeams::set_pan_tilt | ( | float | pan, | |
| float | tilt | |||
| ) | [inline, virtual] |
Set camera's pan/tilt values.
- Parameters:
-
pan camera's current pan tilt camera's current tilt
Implements ScanlineModel.
| virtual void ScanlineBeams::set_robot_pose | ( | float | x, | |
| float | y, | |||
| float | ori | |||
| ) | [inline, 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 ScanlineModel.
The documentation for this class was generated from the following files:

