Fawkes API
Fawkes Development Version
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
field_lines.h
1
/***************************************************************************
2
* field_lines.h - Container for field lines
3
*
4
* Created: Mon Sep 22 12:00:00 2008
5
* Copyright 2008 Christof Rath <christof.rath@gmail.com>
6
*
7
****************************************************************************/
8
9
/* This program is free software; you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License as published by
11
* the Free Software Foundation; either version 2 of the License, or
12
* (at your option) any later version.
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU Library General Public License for more details.
18
*
19
* Read the full text in the LICENSE.GPL file in the doc directory.
20
*/
21
22
#ifndef __FVUTILS_DRAW_FIELD_LINES_H__
23
#define __FVUTILS_DRAW_FIELD_LINES_H__
24
25
#include <utils/math/types.h>
26
#include <list>
27
#include <string>
28
29
namespace
firevision {
30
#if 0
/* just to make Emacs auto-indent happy */
31
}
32
#endif
33
34
typedef
std::list<fawkes::arc_t> field_circles_t;
35
36
class
FieldLines
:
public
std::list<fawkes::field_line_t>
37
{
38
public
:
39
virtual
~
FieldLines
();
40
41
float
get_line_width()
const
;
42
float
get_field_length
()
const
{
return
_field_length; }
43
float
get_field_width
()
const
{
return
_field_width; }
44
fawkes::cart_coord_2d_t
get_field_offsets
()
const
{
return
_field_offsets; }
45
const
field_circles_t&
get_circles
()
const
{
return
_field_circles; }
46
const
std::string& get_name()
const
;
47
48
protected
:
49
FieldLines
(std::string field_name,
float
field_length,
float
field_width,
float
line_width);
50
virtual
void
init() = 0;
51
52
void
calc_offsets();
53
54
std::string
_field_name
;
55
float
_line_width
;
56
float
_field_length
;
57
float
_field_width
;
58
fawkes::cart_coord_2d_t
_field_offsets
;
59
field_circles_t
_field_circles
;
60
};
61
62
class
FieldLines6x4
:
public
FieldLines
63
{
64
public
:
65
FieldLines6x4
(
float
length,
float
width);
66
virtual
~
FieldLines6x4
();
67
68
private
:
69
virtual
void
init();
70
};
71
72
class
FieldLinesCityTower
:
public
FieldLines
73
{
74
public
:
75
FieldLinesCityTower
(
float
length,
float
width);
76
virtual
~
FieldLinesCityTower
();
77
78
private
:
79
virtual
void
init();
80
};
81
82
class
FieldLinesCityTowerSeminar
:
public
FieldLines
83
{
84
public
:
85
FieldLinesCityTowerSeminar
(
float
length,
float
width);
86
virtual
~
FieldLinesCityTowerSeminar
();
87
88
private
:
89
virtual
void
init();
90
};
91
92
}
// end namespace firevision
93
94
#endif
src
libs
fvutils
draw
field_lines.h
Generated by
1.8.3.1