summaryrefslogtreecommitdiff
path: root/2004/i/nono/src/ovision/comm.h
blob: c2e80c61a240f5355cada28236414e350d93265a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#ifndef comm_h
#define comm_h
// comm.h - classe Comm
// nono - Programme du robot Efrei Robotique I1-I2 2004
// Copyright (C) 2004 Olivier Gaillard



#include "adjust.h"

#include "imgFile.h"
#include "segmNN.h"
#include "oconfig.h"
#include "group.h"


/// Interprete les commandes envoyes par l'interface UI et les executent
class Comm {

    int yuvSwitch;
    unsigned char *imgLeft[2];

    
  public:
    /// tableau des numeros de textures utilises par openGL
    unsigned int tex[NBIMG];
    
    /// tableau de donnees RGB stockant les images
    unsigned char* data[2]; 

    /// classe image
    ImgFile img; 
    
    /// classe config
    OConfig *oconfig; 
    
    /// classe segmentation
    SegmNN *segm; 
    
    /// classe group
    Group *group; 
    
    /// id utilise pour l'ouverture du fifo
    int fifo;

    /// PID du programme ui
    long uiPid;

    /// nom de l'image courante
    char fname[100];
    
    /// Constructeur
    Comm (char *filename);

    /// Destructeur
    ~Comm (void);

    /// Execute une commande venant de l'interface
    void ExecuteUiCmds(char *buffer);

  protected:
    /// Segmentation et groupement des couleurs
    void SegmAndGroup();

    /// Synchronisation des poids locaux et de ceux du programme ui 
    void SendNodes();
};


#endif // comm_h