24 #include <fvmodels/scanlines/grid.h> 25 #include <core/exceptions/software.h> 51 ScanlineGrid::ScanlineGrid(
unsigned int width,
unsigned int height,
52 unsigned int offset_x,
unsigned int offset_y,
53 ROI* roi,
bool horizontal_grid)
56 setGridParams(width, height,
58 roi, horizontal_grid);
64 ScanlineGrid::~ScanlineGrid()
70 ScanlineGrid::operator*()
76 ScanlineGrid::operator->()
82 ScanlineGrid::calc_next_coord()
89 if (static_cast<int>(coord.x) < static_cast<int>(roi->image_width - offset_x))
95 if (static_cast<int>(coord.y) < static_cast<int>(roi->image_height - offset_y))
97 coord.x = roi->start.x;
102 more_to_come =
false;
108 if (static_cast<int>(coord.y) < static_cast<int>(roi->image_height - offset_y))
114 if (static_cast<int>(coord.x) < static_cast<int>(roi->image_width - offset_x))
117 coord.y = roi->start.y;
121 more_to_come =
false;
128 ScanlineGrid::operator++()
135 ScanlineGrid::operator++(
int)
137 memcpy(&tmp_coord, &coord,
sizeof(
upoint_t));
143 ScanlineGrid::finished()
145 return !more_to_come;
149 ScanlineGrid::reset()
151 coord.x = roi->start.x;
152 coord.y = roi->start.y;
158 ScanlineGrid::get_name()
160 return "ScanlineModel::Grid";
165 ScanlineGrid::get_margin()
167 return (offset_x > offset_y) ? offset_x : offset_y;
172 ScanlineGrid::set_robot_pose(
float x,
float y,
float ori)
179 ScanlineGrid::set_pan_tilt(
float pan,
float tilt)
185 ScanlineGrid::set_roi(
ROI *roi)
187 if (!roi) this->roi =
new ROI(0, 0, this->width, this->height, this->width, this->height);
191 this->roi =
new ROI(roi);
217 ScanlineGrid::setDimensions(
unsigned int width,
unsigned int height,
ROI* roi)
220 this->height = height;
232 ScanlineGrid::setOffset(
unsigned int offset_x,
unsigned int offset_y)
234 this->offset_x = offset_x;
235 this->offset_y = offset_y;
254 ScanlineGrid::setGridParams(
unsigned int width,
unsigned int height,
255 unsigned int offset_x,
unsigned int offset_y,
256 ROI* roi,
bool horizontal_grid)
258 this->horizontal_grid = horizontal_grid;
260 setDimensions(width, height, roi);
261 setOffset (offset_x, offset_y);
fawkes::upoint_t start
ROI start.
unsigned int y
y coordinate
unsigned int x
x coordinate
unsigned int width
ROI width.
unsigned int image_width
width of image that contains this ROI
unsigned int image_height
height of image that contains this ROI
Point with cartesian coordinates as unsigned integers.
unsigned int height
ROI height.