summaryrefslogtreecommitdiff
path: root/2005/i/robert/src/ovision/see/group.hh
diff options
context:
space:
mode:
Diffstat (limited to '2005/i/robert/src/ovision/see/group.hh')
-rw-r--r--2005/i/robert/src/ovision/see/group.hh13
1 files changed, 10 insertions, 3 deletions
diff --git a/2005/i/robert/src/ovision/see/group.hh b/2005/i/robert/src/ovision/see/group.hh
index 6cd62d8..a90e910 100644
--- a/2005/i/robert/src/ovision/see/group.hh
+++ b/2005/i/robert/src/ovision/see/group.hh
@@ -29,10 +29,12 @@
#include "segm.hh"
#include "oconfig.hh"
#include "hpoint.hh"
+#include "eraser.hh"
/// Liste chainee des zones trouvees par la classe group
-struct Zone
+class Zone
{
+ public:
/// type de la zone
int id;
/// bornes de la zone pour x
@@ -61,6 +63,9 @@ struct Zone
double density;
/// autre critère de verticalité
bool circleUp;
+ enum Pos {south, north, east, west, southwest, southeast, northeast, northwest, center};
+ Pos posOut;
+ bool small;
};
/// Cree une liste chainee de zones correspondant aux balles
@@ -72,6 +77,8 @@ class Group
Img *img_;
/// Classe oconfig
OConfig *oconfig_;
+ /// Eraser
+ Eraser *eraser_;
/// liste chainee pour sauver les zones des balles
std::vector<Zone> zoneList_;
/// Ajoute une balle ou un poteau à la liste de groupes
@@ -81,12 +88,12 @@ class Group
public:
/// Type d'objects à trouver
- static const int nbZoneType = 6;
+ static const int nbZoneType = 7;
enum ZoneType {greenSkittle, redSkittle, border, base, gap, reflectBand, undefined};
/// Convertit le label de couleur en nombre
static std::string translateToColorName (const int color);
/// Constructeur
- Group (Img *img, Segm *segm);
+ Group (Img *img, Segm *segm, Eraser *eraser);
/// Selectionne les points a tester
void jumpPoints(const std::vector<ObjectColor> &colorList);
void jumpPoints(int color);