summaryrefslogtreecommitdiff
path: root/2005/i/robert/src/ovision/ui/live.cc
diff options
context:
space:
mode:
Diffstat (limited to '2005/i/robert/src/ovision/ui/live.cc')
-rw-r--r--2005/i/robert/src/ovision/ui/live.cc54
1 files changed, 40 insertions, 14 deletions
diff --git a/2005/i/robert/src/ovision/ui/live.cc b/2005/i/robert/src/ovision/ui/live.cc
index c608c8f..7a8b042 100644
--- a/2005/i/robert/src/ovision/ui/live.cc
+++ b/2005/i/robert/src/ovision/ui/live.cc
@@ -66,18 +66,31 @@ Live::init (const Image::PixelFormat pf, const char *filename)
case socket:
{
// Serveur
-// ServerSocket ss (2000);
-// Address a;
-// SocketText *st_ = new SocketText (ss, a);
-// st_->nonblock ();
-// // DataBuffer de reception
-// DataBuffer *db_ = new DataBuffer;
-// // Reception des données
-// while (!st_->recv ());
-// *st_ >> *db_;
-// if (db_->type () != DataBuffer::Image)
-// std::cerr << "<Live::init> Echec de la transmission\n";
-// reader_ = new RawReader (*db_, width_, height_, pf);
+ ServerSocket ss (2000);
+ Address a;
+ SocketText *st_ = new SocketText (ss, a);
+ st_->nonblock ();
+ std::cerr << "<Live::init> Init socket\n";
+ // DataBuffer de reception
+ DataBuffer *db_ = new DataBuffer;
+ uint8_t c = 'a';
+ DataBuffer dbAskImg (&c, 1, 1, DataBuffer::AskImage);
+ std::cout << "Demande image...\n";
+ *st_ << dbAskImg;
+ std::cout << "envoye...\n";
+ st_->send ();
+ std::cout << "ok.\n";
+ // Reception des données
+ std::cout << "Rcpt...\n";
+ while (!st_->recv ());
+ std::cout << "Lecture...\n";
+ *st_ >> *db_;
+ std::cout << "ok.\n";
+ if (db_->type () != DataBuffer::Image)
+ std::cerr << "<Live::init> Echec de la transmission\n";
+ std::cout << "Reader...\n";
+ reader_ = new RawReader (*db_, width_, height_, pf);
+ std::cout << "Ok..\n";
}
break;
}
@@ -127,8 +140,20 @@ Live::updateImg (const Image::PixelFormat pf, const char *filename)
break;
case cam:
std::cout << "<Live::updateImg> Changement d'image caméra" << std::endl;
+ break;
case socket:
- break;
+ std::cerr << "<Live::init> Ask data\n";
+ uint8_t c = 'a';
+ DataBuffer dbAskImg (&c, 1, 1, DataBuffer::AskImage);
+ *st_ << dbAskImg;
+ st_->send ();
+ // Reception des données
+ while (!st_->recv ());
+ *st_ >> *db_;
+ if (db_->type () != DataBuffer::Image)
+ std::cerr << "<Live::init> Echec de la transmission\n";
+ reader_ = new RawReader (*db_, width_, height_, pf);
+ break;
}
img->load (*reader_);
memcpy(data[0], img->tabData_, sizeof(char) * img->nbPixels_ * 3);
@@ -188,7 +213,8 @@ Live::segmAndGroup (const int numColorToShow)
group->jumpPoints (oconfig->groupColor);
mag->analyse (group->getZoneList ());
list = mag->getItemList ((Group::ZoneType)oconfig->uiGroupToDisplay);
- int x, y, angle, dist;
+ int x, y, dist;
+ double angle;
for (std::vector<Zone>::iterator iter = list.begin ();
iter != list.end (); ++iter)
{