summaryrefslogtreecommitdiff
path: root/2004/i/nono/src/ovision/comm.h
blob: 123418bae2ce3102ff8357d16bb2e710cfa6f6df (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
#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 {
	
  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;
    
    /// 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