ROV'NET  0.2
BTS SNIR LaSalle Avignon 2020
ihmrov.h
Aller à la documentation de ce fichier.
1 
7 #ifndef IHMROV_H
8 #define IHMROV_H
9 
10 #include <QtWidgets>
11 #include <QMessageBox>
12 #include <qwt/qwt_thermo.h>
13 #include <qwt/qwt_color_map.h>
14 #include <QColor>
15 
16 #define PAS_DE_MANETTE
17 
23 #define NOM_FENETRE_ROV "Projet Rovnet 2020"
24 
30 #define RATIO 0.75
31 
36 #define DISTANCE_MAX_RADAR 150
37 
42 #define ANGLE_MAX_RADAR 180
43 
48 #define ANGLE_MIN_RADAR 0
49 
54 #define SEUIL_TEMPERATURE_POSITIVE_ACCEPTABLE 40
55 
60 #define SEUIL_TEMPERATURE_NEGATIVE_ACCEPTABLE -40
61 
66 #define SEUIL_RADIATION_ACCEPTABLE 0.1
67 
68 
69 class IHMAlbumPhoto;
70 class IHMReglageVideo;
71 class Rov;
72 class IHMAccueil;
73 class Campagne;
74 class IHMConfiguration;
75 
81 class IHMRov : public QWidget
82 {
83  Q_OBJECT
84 private:
87  Rov *rov;
90  QLabel *fluxVideo;
91  QPushButton *photosEnCours;
92  QPushButton *boutonReglageVideo;
94  #ifdef PAS_DE_MANETTE
95  QPushButton *testCapturePhoto;
96  #endif
97  QPushButton *boutonCampagne;
98  QPushButton *boutonConfiguration;
99  QLabel *hautDePage;
100  QLabel *basDePage;
102  QLabel *logoEtatCamera;
103  QLabel *logoEtatManette;
104  QLabel *etatPortSerie;
105  QLabel *etatCamera;
106  QLabel *etatManette;
107  QLabel *portSerie;
108  QLabel *camera;
109  QLabel *manette;
110  bool etatRadar;
112  QwtThermo *indicateurRadiation;
113  QLabel *temperature;
114  QLabel *radiation;
115  QGroupBox *zoneEtatMateriel;
117  QVector<QPoint> pointsRadar;
118 
123  void initialiserWidgets();
128  void configurerWidgets();
133  void initialiserLayouts();
138  void initialiserEvenements();
144  void actualiserInformations(QPixmap &image);
149  void fermer();
156  double calculCoordonneesX(QPixmap &image);
163  double calculCoordonneesY(QPixmap &image);
164 
165 protected:
171  void closeEvent(QCloseEvent *event);
172 
173 public:
180  IHMRov(IHMAccueil *ihmAccueil, QWidget *parent = nullptr);
185  ~IHMRov();
191  void setCampagne(Campagne *campagne);
203  void setEtatRadar(bool etatRadar);
208  bool getEtatRadar();
214 
215 public slots:
221  void afficherImage(QPixmap image);
226  void reglerVideo();
231  void reglerConfiguration();
237  void capturerImage(bool etat=false);
242  void gererCampagne();
247  void chargerPhotos();
257  void arreterVideo();
264  void modifieEtatPortSerie(bool etat, QString information);
270  void modifieEtatCamera(bool etat, QString information);
276  void modifieEtatManette(bool etat);
277 
278 };
279 
280 #endif // IHMROV_H
IHMAccueil * ihmAccueil
Relation entre l&#39;ihmAccueil et l&#39;ihmRov.
Definition: ihmrov.h:86
Rov * rov
Instance d&#39;un objet rov possédant le controle sur les autres classes.
Definition: ihmrov.h:87
void gererCampagne()
Arrête la campagne en cours.
Definition: ihmrov.cpp:496
Classe permettant de regler l&#39;affichage du flux video.
void initialiserLayouts()
Initialise les layouts de l&#39;IHM.
Definition: ihmrov.cpp:155
void configurerWidgets()
Configure l&#39;état des widgets à la création de l&#39;IHM.
Definition: ihmrov.cpp:114
QLabel * etatPortSerie
Emplacement permettant de visualiser l&#39;état du port série.
Definition: ihmrov.h:104
QLabel * basDePage
Emplacement permettant de créer un espace en bas de la page.
Definition: ihmrov.h:100
void setCampagne(Campagne *campagne)
Associe une campagne a la campagne en cours du rov.
Definition: ihmrov.cpp:426
QLabel * logoEtatManette
Emplacement permettant de visualiser l&#39;état de la manette à l&#39;aide d&#39;un logo.
Definition: ihmrov.h:103
IHM permettant d&#39;obtenir le flux vidéo en direct placé sur le robot et d&#39;obtenir les informations rel...
Definition: ihmrov.h:81
IHMReglageVideo * reglageVideo
Instance d&#39;un objet reglageVidéo permettant de modifier les reglages du flux vidéo.
Definition: ihmrov.h:88
QLabel * hautDePage
Emplacement permettant de créer un espace en haut de la page.
Definition: ihmrov.h:99
QPushButton * testCapturePhoto
Bouton de simulation de prise de photo.
Definition: ihmrov.h:95
void initialiserWidgets()
Initialise les widgets de l&#39;IHM.
Definition: ihmrov.cpp:37
void afficherImage(QPixmap image)
Affiche la nouvelle image du flux vidéo dans l&#39;ihm.
Definition: ihmrov.cpp:447
Campagne * getCampagne()
Retourne l&#39;objet campagne en cours.
Definition: ihmrov.cpp:432
QLabel * manette
Emplacement permettant de définir le type de matériel.
Definition: ihmrov.h:109
QPixmap derniereImageVideo
Dernière image reçue du flux vidéo.
Definition: ihmrov.h:93
Class permettant de visualiser les photos en cours de campagne.
Definition: ihmalbumphoto.h:35
Classe controlant tout les traitements en provenance et en direction de la communication avec le rov...
Definition: rov.h:91
QLabel * etatManette
Emplacement permettant de visualiser l&#39;état de la manette.
Definition: ihmrov.h:106
QwtThermo * indicateurRadiation
Indicateur permettant de visualiser l&#39;etat de la radiation actuel avec indication de dépassement de s...
Definition: ihmrov.h:112
QPushButton * boutonConfiguration
Bouton permettant d&#39;accéder à la configuration de la communication.
Definition: ihmrov.h:98
Class contenant les informations de la campagne en cours.
Definition: campagne.h:34
void setEtatRadar(bool etatRadar)
Dertermine l&#39;etat de etatRadar.
Definition: ihmrov.cpp:437
QLabel * logoEtatCamera
Emplacement permettant de visualiser l&#39;état de la caméra à l&#39;aide d&#39;un logo.
Definition: ihmrov.h:102
Campagne * campagneEnCours
Instance d&#39;un objet Campagne possédant les informations de la campagne en cours.
Definition: ihmrov.h:85
QLabel * camera
Emplacement permettant de définir le type de matériel.
Definition: ihmrov.h:108
void actualiserInformations(QPixmap &image)
Actualise les informations incrusté dans l&#39;image (heure, données capteur, durée missions) ...
Definition: ihmrov.cpp:251
void actualiserInformationsSeuils()
Actualise les informations affichés des indicateur de dépassement des seuils acceptable.
Definition: ihmrov.cpp:389
bool getEtatRadar()
Donne l&#39;etat de etatRadar.
Definition: ihmrov.cpp:442
void reglerVideo()
Ouvre une nouvelle fenetre permettant de régler l&#39;affichage vidéo.
Definition: ihmrov.cpp:454
~IHMRov()
Destructeur de la classe IHMRov.
Definition: ihmrov.cpp:32
QGroupBox * zoneEtatMateriel
Zone regroupant les informations sur l&#39;état du matériel.
Definition: ihmrov.h:115
IHMRov(IHMAccueil *ihmAccueil, QWidget *parent=nullptr)
Constructeur de la classe IHMRov.
Definition: ihmrov.cpp:16
IHMConfiguration * configuration
Instance d&#39;un objet IHMConfiguration permettant de modifier les reglages de la communication.
Definition: ihmrov.h:89
void arreterVideo()
Déconnecte les événements liés à la caméra et modifie l&#39;état des boutons de l&#39;IHM.
Definition: ihmrov.cpp:528
QLabel * fluxVideo
Emplacement permettant d&#39;accueiller le flux vidéo.
Definition: ihmrov.h:90
bool etatRadar
Dertermine si on affiche un radar.
Definition: ihmrov.h:110
Class permettant de créer une nouvelle campagne, reprendre une campagne mise en pause, archiver une campagne, supprimer une campagne, accéder à la base de données et configurer le matériel.
Definition: ihmaccueil.h:29
double calculCoordonneesX(QPixmap &image)
Calcule les coordonnées x de l&#39;obstacle pour le radar.
Definition: ihmrov.cpp:413
QPushButton * photosEnCours
Bouton permettant d&#39;accéder aux photo prise en cours de campagne.
Definition: ihmrov.h:91
void modifieEtatPortSerie(bool etat, QString information)
Modifie l&#39;affichage de l&#39;état du port série.
Definition: ihmrov.cpp:561
QLabel * etatCamera
Emplacement permettant de visualiser l&#39;état de la caméra.
Definition: ihmrov.h:105
QGroupBox * zoneInformationSeuils
Zone regroupant les informations sur l&#39;état des seuils de dépassement.
Definition: ihmrov.h:116
void closeEvent(QCloseEvent *event)
Gêre l&#39;état de la campagne lors de la fermeture forcé de la fenêtre ihmRov.
Definition: ihmrov.cpp:534
void capturerImage(bool etat=false)
Enregistre la dernière image du flux vidéo.
Definition: ihmrov.cpp:473
QVector< QPoint > pointsRadar
Conteneur des points du radar.
Definition: ihmrov.h:117
QwtThermo * indicateurTemperature
Indicateur permettant de visualiser l&#39;etat de la temperature actuel avec indication de dépassement de...
Definition: ihmrov.h:111
void modifieEtatManette(bool etat)
Modifie l&#39;affichage de l&#39;état de la manette.
Definition: ihmrov.cpp:590
Class permettant de configurer la communication avec le rov.
double calculCoordonneesY(QPixmap &image)
Calcule les coordonnées y de l&#39;obstacle pour le radar.
Definition: ihmrov.cpp:421
void reglerConfiguration()
Ouvre une nouvelle fenetre permettant de régler la communication.
Definition: ihmrov.cpp:463
QLabel * logoEtatPortSerie
Emplacement permettant de visualiser l&#39;état du port série à l&#39;aide d&#39;un logo.
Definition: ihmrov.h:101
QLabel * portSerie
Emplacement permettant de définir le type de matériel.
Definition: ihmrov.h:107
QLabel * temperature
Emplacement permettant de définir le type de seuil.
Definition: ihmrov.h:113
void modifieEtatCamera(bool etat, QString information)
Modifie l&#39;affichage de l&#39;état de la caméra.
Definition: ihmrov.cpp:576
void chargerPhotos()
Charge les photos disponible dans le conteneur albumPhoto de la classe campagne pour les afficher dan...
Definition: ihmrov.cpp:517
QLabel * radiation
Emplacement permettant de définir le type de seuil.
Definition: ihmrov.h:114
La classe QWidget est la classe de base de tous les objets graphiques d&#39;interface utilisateur...
void initialiserEvenementsCamera()
Initialise les événements liés à la caméra.
Definition: ihmrov.cpp:523
void fermer()
Arrête la campagne et ferme l&#39;ihmRov.
Definition: ihmrov.cpp:548
void initialiserEvenements()
Initialise les événements de l&#39;IHM.
Definition: ihmrov.cpp:239
QPushButton * boutonReglageVideo
Bouton permettant d&#39;accéder aux reglage de la vidéo.
Definition: ihmrov.h:92
QPushButton * boutonCampagne
Bouton permettant de mettre en pause la campagne en cours.
Definition: ihmrov.h:97