22 #include "field_lines.h"
24 #include <core/exceptions/software.h>
25 #include <fvutils/draw/drawer.h>
34 namespace firevision {
93 : std::list<field_line_t>(), _field_name(field_name)
133 cart_coord_2d_t mins(0, 0);
134 cart_coord_2d_t maxs(0, 0);
138 for (FieldLines::iterator it = begin(); it != end(); ++it) {
140 f = min(it->start.x, it->end.x);
143 f = max(it->start.x, it->end.x);
148 f = min(it->start.y, it->end.y);
151 f = max(it->start.y, it->end.y);
172 :
FieldLines(
"FieldLines6x4", length, width, 0.05f)
178 FieldLines6x4::~FieldLines6x4()
183 FieldLines6x4::init()
186 push_back(field_line_t(3.f, 2.f, 3.f, -2.f));
188 push_back(field_line_t(2.4f, 1.5f, 2.4f, -1.5f));
190 push_back(field_line_t(3.f, 1.5f, 2.4f, 1.5f));
191 push_back(field_line_t(3.f, -1.5f, 2.4f, -1.5f));
194 push_back(field_line_t(1.2f, 0.05f, 1.2f, -0.05f));
195 push_back(field_line_t(1.15f, 0.f, 1.25f, 0.f));
198 push_back(field_line_t(0.f, 2.f, 0.f, -2.f));
200 push_back(field_line_t(3.f, 2.f, -3.f, 2.f));
201 push_back(field_line_t(3.f, -2.f, -3.f, -2.f));
207 push_back(field_line_t(-3.f, 2.f, -3.f, -2.f));
209 push_back(field_line_t(-2.4f, 1.5f, -2.4f, -1.5f));
211 push_back(field_line_t(-3.f, 1.5f, -2.4f, 1.5f));
212 push_back(field_line_t(-3.f, -1.5f, -2.4f, -1.5f));
215 push_back(field_line_t(-1.2f, 0.05f, -1.2f, -0.05f));
216 push_back(field_line_t(-1.15f, 0.f, -1.25f, 0.f));
232 :
FieldLines(
"FieldLinesCityTower", length, width, 0.09f)
238 FieldLinesCityTower::~FieldLinesCityTower()
243 FieldLinesCityTower::init()
246 push_back(field_line_t(4.97f, 2.455f, 4.97f, -2.455f));
248 push_back(field_line_t(3.82f, 1.49f, 3.82f, -1.49f));
250 push_back(field_line_t(4.97f, 1.49f, 3.82f, 1.49f));
251 push_back(field_line_t(4.97f, -1.49f, 3.82f, -1.49f));
254 push_back(field_line_t(0.f, 2.455f, 0.f, -2.455f));
256 push_back(field_line_t(4.97f, 2.455f, -1.44f, 2.455f));
257 push_back(field_line_t(4.97f, -2.455f, -1.44f, -2.455f));
286 :
FieldLines(
"FieldLinesCityTowerSeminar", length, width, 0.05f)
292 FieldLinesCityTowerSeminar::~FieldLinesCityTowerSeminar()
297 FieldLinesCityTowerSeminar::init()
300 push_back(field_line_t(2.725f, 1.825f, 2.725f, -1.825f));
302 push_back(field_line_t(2.125f, 1.5f, 2.125f, -1.5f));
304 push_back(field_line_t(2.725f, 1.5f, 2.125f, 1.5f));
305 push_back(field_line_t(2.725f, -1.5f, 2.125f, -1.5f));
308 push_back(field_line_t(0.925f, 0.05f, 0.925f, -0.05f));
309 push_back(field_line_t(0.875f, 0.f, 0.975f, 0.f));
312 push_back(field_line_t(0.f, 1.825f, 0.f, -1.825f));
314 push_back(field_line_t(2.725f, 1.825f, -2.725f, 1.825f));
315 push_back(field_line_t(2.725f, -1.825f, -2.725f, -1.825f));
321 push_back(field_line_t(-2.725f, 1.825f, -2.725f, -1.825f));
323 push_back(field_line_t(-2.125f, 1.5f, -2.125f, -1.5f));
325 push_back(field_line_t(-2.725f, 1.5f, -2.125f, 1.5f));
326 push_back(field_line_t(-2.725f, -1.5f, -2.125f, -1.5f));
329 push_back(field_line_t(-0.925f, 0.05f, -0.925f, -0.05f));
330 push_back(field_line_t(-0.875f, 0.f, -0.975f, 0.f));