Fawkes API  Fawkes Development Version
firevision::ScanlineModel Class Referenceabstract

Scanline model interface. More...

#include <>>

Inheritance diagram for firevision::ScanlineModel:

Public Member Functions

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

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 55 of file scanlinemodel.h.

Constructor & Destructor Documentation

◆ ~ScanlineModel()

virtual firevision::ScanlineModel::~ScanlineModel ( )
inlinevirtual

Virtual empty destructor.

Definition at line 60 of file scanlinemodel.h.

References finished(), get_margin(), get_name(), operator*(), operator++(), operator->(), reset(), set_pan_tilt(), and set_robot_pose().

Member Function Documentation

◆ finished()

virtual bool firevision::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 firevision::CornerHorizon, firevision::ScanlineLineGrid, firevision::ScanlineStar, firevision::ScanlineBeams, firevision::ScanlineGrid, and firevision::ScanlineRadial.

Referenced by ~ScanlineModel().

◆ get_margin()

virtual unsigned int firevision::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 firevision::CornerHorizon, firevision::ScanlineLineGrid, firevision::ScanlineStar, firevision::ScanlineBeams, firevision::ScanlineGrid, and firevision::ScanlineRadial.

Referenced by ~ScanlineModel().

◆ get_name()

virtual const char* firevision::ScanlineModel::get_name ( )
pure virtual

◆ operator*()

virtual fawkes::upoint_t firevision::ScanlineModel::operator* ( )
pure virtual

Get the current coordinate.

Returns
current point in image that is shall be processed.

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

Referenced by ~ScanlineModel().

◆ operator++() [1/2]

virtual fawkes::upoint_t* firevision::ScanlineModel::operator++ ( )
pure virtual

Postfix ++ operator.

Advances to the next point and returns the new point.

Returns
pointer to new point

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

Referenced by ~ScanlineModel().

◆ operator++() [2/2]

virtual fawkes::upoint_t* firevision::ScanlineModel::operator++ ( int  )
pure virtual

Prefix ++ operator.

Advances to the next point but returns the old point.

Returns
pointer to next point

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

◆ operator->()

virtual fawkes::upoint_t* firevision::ScanlineModel::operator-> ( )
pure virtual

◆ reset()

virtual void firevision::ScanlineModel::reset ( )
pure virtual

◆ set_pan_tilt()

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

Set camera's pan/tilt values.

Parameters
pancamera's current pan
tiltcamera's current tilt

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

Referenced by ~ScanlineModel().

◆ set_robot_pose()

virtual void firevision::ScanlineModel::set_robot_pose ( float  x,
float  y,
float  ori 
)
pure virtual

Set the robot's pose.

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

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

Referenced by ~ScanlineModel().

◆ set_roi()

virtual void firevision::ScanlineModel::set_roi ( ROI roi = NULL)
inlinevirtual

Set the region-of-interest.

If not NULL the scanlines gets only calculated within the ROI

Parameters
roithe region where scanlines should be calculated

Reimplemented in firevision::ScanlineLineGrid, and firevision::ScanlineGrid.

Definition at line 128 of file scanlinemodel.h.


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