summaryrefslogtreecommitdiff
path: root/2005/i/robert/src/ovision/see/eraser.cc
diff options
context:
space:
mode:
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;
+}