summaryrefslogtreecommitdiff
path: root/2004/i/nono/src/ovision/comm.cc
diff options
context:
space:
mode:
Diffstat (limited to '2004/i/nono/src/ovision/comm.cc')
-rw-r--r--2004/i/nono/src/ovision/comm.cc30
1 files changed, 30 insertions, 0 deletions
diff --git a/2004/i/nono/src/ovision/comm.cc b/2004/i/nono/src/ovision/comm.cc
index 6c98771..47e09fb 100644
--- a/2004/i/nono/src/ovision/comm.cc
+++ b/2004/i/nono/src/ovision/comm.cc
@@ -34,6 +34,13 @@ Comm::Comm(char *filename)
// Creation de oconfig
oconfig = new OConfig("rc/vision.conf");
+
+ int *pPoint = GetPpoint();
+ for (int i=0; i<3; i++)
+ {
+ pPoint[i*2] = oconfig->tabPoint[i][0];
+ pPoint[i*2+1] = oconfig->tabPoint[i][1];
+ }
// Ouverture de l'image pilote et stockage
img.ReadRaw(filename);
@@ -344,6 +351,29 @@ Comm::ExecuteUiCmds(char *buffer)
break;
+ case 'v': // Envoie les points pour le calcul de la distance
+ int *pPoint;
+ pPoint = GetPpoint();
+
+ for (int i=0; i<3; i++)
+ if (pPoint[i*2] == -1)
+ {
+ cerr << "Comm::ExecuteUiCmds : Pas assez de points selectionnes\n";
+ return;
+ }
+
+ for (int i = 0; i<3; i++)
+ {
+ oconfig->tabPoint[i][0] = pPoint[i*2];
+ oconfig->tabPoint[i][1] = pPoint[i*2+1];
+ oconfig->tabPoint[i][2] = 0;
+ oconfig->tabPoint[i][3] = 0;
+ }
+
+ oconfig->CreateDistFile("rc/dist");
+ break;
+
+
case 'z':
group->ShowZones();
break;