29#ifndef _FIREVISION_MODELS_SCANLINE_CORNERHORIZON_H_
30#define _FIREVISION_MODELS_SCANLINE_CORNERHORIZON_H_
32#include <fvmodels/scanlines/scanlinemodel.h>
33#include <fvutils/base/types.h>
44 unsigned int image_width,
45 unsigned int image_height,
48 float horizontal_angle,
49 float vertical_angle);
87 unsigned int image_width;
88 unsigned int image_height;
93 float horizontal_angle;
96 float pan_pixel_per_rad;
97 float tilt_pixel_per_rad;
102 unsigned int horizon;
104 static const float M_PI_HALF;
Cut of arbitrary scanline models at an artificial horizon.
virtual ~CornerHorizon()
Destructor.
bool finished()
Check if all desired points have been processed.
unsigned int getHorizon()
Get the horizon point.
fawkes::upoint_t * operator++()
Postfix ++ operator.
CornerHorizon(ScanlineModel *model, float field_length, float field_width, float field_border, unsigned int image_width, unsigned int image_height, float camera_height, float camera_ori, float horizontal_angle, float vertical_angle)
Constructor.
unsigned int get_margin()
Get margin around points.
fawkes::upoint_t operator*()
Get the current coordinate.
void set_pan_tilt(float pan, float tilt)
Set camera's pan/tilt values.
void set_robot_pose(float x, float y, float ori)
Set the robot's pose.
const char * get_name()
Get name of scanline model.
void calculate()
Calculate horizon point.
fawkes::upoint_t * operator->()
Get pointer to current point.
Scanline model interface.
Point with cartesian coordinates as unsigned integers.