summaryrefslogtreecommitdiff
path: root/2004/i/nono/src/ovision/map.cc
diff options
context:
space:
mode:
Diffstat (limited to '2004/i/nono/src/ovision/map.cc')
-rw-r--r--2004/i/nono/src/ovision/map.cc58
1 files changed, 34 insertions, 24 deletions
diff --git a/2004/i/nono/src/ovision/map.cc b/2004/i/nono/src/ovision/map.cc
index d166755..d90b2bd 100644
--- a/2004/i/nono/src/ovision/map.cc
+++ b/2004/i/nono/src/ovision/map.cc
@@ -38,6 +38,7 @@ Map::~Map (void)
}
+/// Donne la position dans le référentiel de la table
void
Map::GetPosFromLoc (int locImgX, int locImgY, double &posX, double &posY)
{
@@ -138,7 +139,7 @@ Map::SetLock(bool value)
/// Donne la position de la balle la plus proche ou locke
bool
-Map::getCurBallPos (double &x, double &y)
+Map::GetCurBallPos (double &x, double &y)
{
if (checkCurBall == true)
{
@@ -177,6 +178,7 @@ Map::AddBallsToMap(Group *group)
{
ZONE *pCur = group->zoneListBall;
double pos[2];
+ double centYMax = 900;
// bool ballLost = 1;
@@ -189,6 +191,7 @@ Map::AddBallsToMap(Group *group)
// On choppe la position par rapport au robot
space->GetLoc (pCur->centerx, pCur->centery, pos[0], pos[1]);
+
// Cherche si la balle est deja dans la liste
list<tBALL>::iterator iCur;
@@ -196,32 +199,39 @@ Map::AddBallsToMap(Group *group)
if (1) //TODO (pos[0] < TABLE_WIDTH) && (pos[1] < TABLE_HEIGHT))
{
// Si la balle n'est pas dans la liste on l'ajoute
-// if (!TestSimilarBall(pCur, iCur))
-// {
- AddBall(pos, pCur);
-/* }
+ // if (!TestSimilarBall(pCur, iCur))
+ // {
+ AddBall(pos, pCur);
+ /* }
// Si elle l'est
else
+ {
+ // on regarde si c'est la balle qui a ete locké
+ if (IsLock ())
+ if (iCur == curBall)
+ ballLost = 0;
+
+ // on incremente son marqueur de viabilite
+ if (iCur->skepticism < oconfig->skepticism_max)
+ iCur->skepticism++;
+
+ if (pCur->centery <= iCur->precision)
+ {
+ ///TODO mis a jour de la position
+ iCur->position[0] = pCur->centerx;
+ iCur->position[1] = pCur->centery;
+
+ iCur->bottom = pCur->bottom * oconfig->ball_bottom_time_out;
+ }
+ }
+ */
+ checkCurBall = 1;
+ if (pCur->centery < centYMax)
{
- // on regarde si c'est la balle qui a ete locké
- if (IsLock ())
- if (iCur == curBall)
- ballLost = 0;
-
- // on incremente son marqueur de viabilite
- if (iCur->skepticism < oconfig->skepticism_max)
- iCur->skepticism++;
-
- if (pCur->centery <= iCur->precision)
- {
- ///TODO mis a jour de la position
- iCur->position[0] = pCur->centerx;
- iCur->position[1] = pCur->centery;
-
- iCur->bottom = pCur->bottom * oconfig->ball_bottom_time_out;
- }
+ curBall = ball.end ();
+ centYMax = pCur->centery;
}
-*/ }
+ }
pCur = pCur->next;
}
@@ -242,7 +252,7 @@ Map::AddBallsToMap(Group *group)
if (pCur)
{
treeFound = 1;
- space->GetLoc (pCur->centerx, pCur->ymin, posTree[0], posTree[1]);
+ space->GetLoc (pCur->centerx, pCur->ymax, posTree[0], posTree[1]);
}
else
treeFound = 0;