field.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __FIREVISION_APPS_NAO_LOC_FIELD__
00023 #define __FIREVISION_APPS_NAO_LOC_FIELD__
00024
00025 #include "field_lines.h"
00026
00027 #include <string>
00028 #include <list>
00029
00030 typedef std::list<fawkes::cart_coord_2d_t> fld_line_points_t;
00031
00032 class Field
00033 {
00034 public:
00035 ~Field();
00036
00037 const FieldLines& get_lines() const { return *__lines; }
00038 float get_field_length() const;
00039 float get_field_width() const;
00040
00041 void print(bool in_mm) const;
00042
00043 static Field* field_for_name(std::string field_name, float field_length, float field_width);
00044
00045 private:
00046 Field(FieldLines *lines, bool manage_lines_memory = true);
00047
00048 FieldLines *__lines;
00049 bool __manage_lines_memory;
00050 };
00051
00052 #endif