summaryrefslogtreecommitdiff
path: root/2005/i/robert/src/ovision/see/eraser.cc
diff options
context:
space:
mode:
authorgaillaro2005-05-01 16:51:56 +0000
committergaillaro2005-05-01 16:51:56 +0000
commit2cccac9a44079ad6d7d474ac39e40b8e2270ead7 (patch)
treedbc82e2031075bc136009477ce65ba4b9682aff1 /2005/i/robert/src/ovision/see/eraser.cc
parent45833f980001efc4ee7468187a4a37042776e12e (diff)
ajout des classes eraser pour tester la taille des quilles trouvées
Diffstat (limited to '2005/i/robert/src/ovision/see/eraser.cc')
-rw-r--r--2005/i/robert/src/ovision/see/eraser.cc52
1 files changed, 52 insertions, 0 deletions
diff --git a/2005/i/robert/src/ovision/see/eraser.cc b/2005/i/robert/src/ovision/see/eraser.cc
new file mode 100644
index 0000000..a2393ed
--- /dev/null
+++ b/2005/i/robert/src/ovision/see/eraser.cc
@@ -0,0 +1,52 @@
+// eraser.cc - Classe Eraser
+// robert - Programme du robot APBteam
+// Copyright (C) 2005 Olivier Gaillard
+
+/// @file eraser.cc Filtre les objets par leurs tailles
+
+#include <iostream>
+
+#include "eraser.hh"
+
+/// Constructeur
+Eraser::Eraser (const std::string &filename, const int resolution)
+ : res_ (resolution)
+{
+ oconfig_ = OConfig::getInstance ();
+ init ();
+}
+
+/// Destructeur
+Eraser::~Eraser (void)
+{
+}
+
+/// Ouvre le fichier de données
+Eraser::init (std::string &filename)
+{
+ // Ouverture du fichier de distance
+ std::ifstream file (filename);
+ if (!file) {
+ throw "<Eraser::init> Error during file opening";
+ return;
+ }
+ // Parcours des lignes et analyse
+}
+
+/// Objet à la bonne taille ?
+bool
+Eraser::killOrNot (const Zone &zone)
+{
+ int y = zone.ymax % res_;
+ if (zone.vertical)
+ {
+ if ((zone.area > tabVMin[y]) || (zone.area < tabVMax[y]))
+ return true;
+ }
+ else
+ {
+ if ((zone.area > tabOMin[y]) || (zone.area < tabOMax[y]))
+ return true;
+ }
+ return false;
+}