ScanlineModel Class Reference

Scanline model interface. More...

#include <models/scanlines/scanlinemodel.h>

Inheritance diagram for ScanlineModel:

List of all members.


Public Member Functions

virtual ~ScanlineModel ()
 Virtual empty destructor.
virtual fawkes::point_t operator* ()=0
 Get the current coordinate.
virtual fawkes::point_toperator-> ()=0
 Get pointer to current point.
virtual fawkes::point_toperator++ ()=0
 Postfix ++ operator.
virtual fawkes::point_toperator++ (int)=0
 Prefix ++ operator.
virtual bool finished ()=0
 Check if all desired points have been processed.
virtual void reset ()=0
 Reset model.
virtual const char * get_name ()=0
 Get name of scanline model.
virtual unsigned int get_margin ()=0
 Get margin around points.
virtual void set_robot_pose (float x, float y, float ori)=0
 Set the robot's pose.
virtual void set_pan_tilt (float pan, float tilt)=0
 Set camera's pan/tilt values.
virtual void set_roi (ROI *roi=NULL)
 Set the region-of-interest.

Detailed Description

Scanline model interface.

This interface defines the API for the scanline model. A scanline model determines a specific set of points in the image that should be used for image evaluation if using all the pixels of an image would take too long. This is one of the major optimizations throughout FireVision to ensure high speed image processing.

Author:
Tim Niemueller

Definition at line 50 of file scanlinemodel.h.


Constructor & Destructor Documentation

virtual ScanlineModel::~ScanlineModel (  )  [inline, virtual]

Virtual empty destructor.

Definition at line 55 of file scanlinemodel.h.


Member Function Documentation

virtual bool ScanlineModel::finished (  )  [pure virtual]

Check if all desired points have been processed.

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

Implemented in ScanlineBeams, CornerHorizon, ScanlineGrid, ScanlineLineGrid, ScanlineRadial, and ScanlineStar.

Referenced by FilterScanlineSegmentation::apply(), SimpleColorClassifier::classify(), ImageDiff::different(), CornerHorizon::finished(), ImageDiff::numDifferingPixels(), and CornerHorizon::operator++().

virtual unsigned int ScanlineModel::get_margin (  )  [pure 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.

Implemented in ScanlineBeams, CornerHorizon, ScanlineGrid, ScanlineLineGrid, ScanlineRadial, and ScanlineStar.

Referenced by SimpleColorClassifier::classify(), and CornerHorizon::get_margin().

virtual const char* ScanlineModel::get_name (  )  [pure virtual]

Get name of scanline model.

Returns:
name of scanline model.

Implemented in ScanlineBeams, CornerHorizon, ScanlineGrid, ScanlineLineGrid, ScanlineRadial, and ScanlineStar.

virtual fawkes::point_t ScanlineModel::operator* (  )  [pure virtual]

Get the current coordinate.

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

Implemented in ScanlineBeams, CornerHorizon, ScanlineGrid, ScanlineLineGrid, ScanlineRadial, and ScanlineStar.

virtual fawkes::point_t* ScanlineModel::operator++ ( int   )  [pure virtual]

Prefix ++ operator.

Advances to the next point but returns the old point.

Implemented in ScanlineBeams, CornerHorizon, ScanlineGrid, ScanlineLineGrid, ScanlineRadial, and ScanlineStar.

virtual fawkes::point_t* ScanlineModel::operator++ (  )  [pure virtual]

Postfix ++ operator.

Advances to the next point and returns the new point.

Returns:
pointer to new point

Implemented in ScanlineBeams, CornerHorizon, ScanlineGrid, ScanlineLineGrid, ScanlineRadial, and ScanlineStar.

virtual fawkes::point_t* ScanlineModel::operator-> (  )  [pure virtual]

Get pointer to current point.

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

Implemented in ScanlineBeams, CornerHorizon, ScanlineGrid, ScanlineLineGrid, ScanlineRadial, and ScanlineStar.

virtual void ScanlineModel::reset (  )  [pure virtual]

virtual void ScanlineModel::set_pan_tilt ( float  pan,
float  tilt 
) [pure virtual]

Set camera's pan/tilt values.

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

Implemented in ScanlineBeams, CornerHorizon, ScanlineGrid, ScanlineLineGrid, ScanlineRadial, and ScanlineStar.

virtual void ScanlineModel::set_robot_pose ( float  x,
float  y,
float  ori 
) [pure 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.

Implemented in ScanlineBeams, CornerHorizon, ScanlineGrid, ScanlineLineGrid, ScanlineRadial, and ScanlineStar.

virtual void ScanlineModel::set_roi ( ROI roi = NULL  )  [inline, virtual]

Set the region-of-interest.

If not NULL the scanlines gets only calculated within the ROI

Parameters:
roi the region where scanlines should be calculated

Reimplemented in ScanlineGrid, and ScanlineLineGrid.

Definition at line 122 of file scanlinemodel.h.


The documentation for this class was generated from the following file: