Logs
Consultez les logs.
OK
Liste des données
Consultez la liste des données.
OK
Loading...
Formulaire
Saisissez vos données.
Enregistrer
Annuler

Système de navigation par GPS

Vues
240

P00 : Système de navigation par GPS


Nous souhaitons concevoir un système de navigation par GPS.

R01 : Sur le système de navigation:

Est une application graphique bureau.
Affiche une cartographie.
Prend en charge le rendu 3D.
Assure la navigation par GPS.

R02 : Sur l'environnement technique, nous utilisons:

Le langage C++
L'éditeur VSCode
L'outil CMake
La librairie Qt
Le système de gestion Git
L'hébergeur GitHub
L'outil TortoiseGit
Le système d'exploitation Windows

image.png


P01 : Création du projet C++


R01 : Sur le projet C++:

Est réalisé sous l'éditeur VSCode.
Utilise l'outil CMake.
Vérifie l'installation de l'environnement C++.
Affiche un message simple à l'écran.

image.png

F01 : Sur les fichiers sources modifiés:

src/main.cpp


P02 : Initialisation du projet Qt


R01 : Sur le projet Qt:

Est réalisé en C++ sous l'éditeur VSCode.
Utilise l'outil CMake.
Vérifie l'installation de l'environnement Qt.
Affiche une fenêtre simple à l'écran.

image.png

F01 : Sur les fichiers sources modifiés :

src/main.cpp


P03 : Initialisation de la fenêtre principale


R01 : Sur la fenêtre principale:

Doit pouvoir comporter une barre d'outils.
Doit pouvoir comporter une barre de menu.
Doit pouvoir comporter une barre d'état.
Est une classe (cMainWindow) qui dérive de la classe de base (QMainWindow).
Met en évidence le principe d'héritage des classes de base Qt.
Affiche une fenêtre simple à l'écran.

image.png

F01 : Sur les fichiers sources modifiés:

src/main.cpp
src/cMainWindow.cpp
src/cMainWindow.h


P04 : Initialisation de la barre d'outils de la fenêtre principale


R01 : Sur la barre d'outils de la fenêtre principale:

Est intégrée à la fenêtre principale de l'application (cMainWindow).
Utilise la classe (QToolBar) pour initialiser les outils dans des boutons (QToolButton).
Utilise des fenêtres popup pour regrouper des outils et créer des sous-menus.
Peut être affichée sous une forme réduite. C'est une fonctionnalité directement prise en charge la librairie Qt.
Peut être déplacée dans les 4 coins de la fenêtre principale, à droite (par défaut), à gauche, en haut, en bas. C'est une fonctionnalité directement prise en charge par la librairie Qt.
Peut être déplacée hors de la fenêtre principale. C'est une fonctionnalité directement prise en charge par la librairie Qt.
Utilise deux modes d'affichage, le mode d'affichage standard (R02), le mode d'affichage administrateur (R03).

image.png

image.png

R02 : Sur le mode d'affichage standard de la barre d'outils:

Propose un panneau d'outils nécessaire à la navigation.
N'agit pas sur les commandes de configuration de l'application.
Permet de sélectionner le type de transport, d'afficher les pistes, de sélectionner la position, de créer un itinéraire, de nettoyer les itinéraires, de paramétrer les itinéraires, de créer une fonctionnalité, de sélectionner une zone, de nettoyer la zone sélectionnée, réaliser des recherches hors ligne, de mesurer les distances, d'afficher sa position actuelle, de télécharger les itinéraires.

image.png

image.png

R03 : Sur le mode d'affichage administrateur de la barre d'outils:

Propose un panneau d'outils nécessaire à la configuration de l'application.
Permet d'exécuter l'application, de déboguer l'application, d'afficher des statistiques, de réaliser des tests, de créer des forfaits téléphoniques.
Est piloté par la constante de définition (BUILD_DESIGNER).

image.png

image.png

R04 : Sur la sélection du mode de transport:

Permet de choisir entre un mode de transport public TRANSIT, un mode de transport ISOLINES, un mode de transport OUTDOOR.

image.png

image.png

R05 : Sur la sélection de la position de recherche:

Permet de choisir entre une position de départ, une position intermédiaire, une position finale.

image.png

image.png

R06 : Sur la sélection du mode d'affichage des itinéraires:

Permet de choisir entre un mode d'affichage des routes, un mode d'affichage des contours de ville, un mode d'affichage des routes et des villes, un mode d'affichage des segments croisés, un mode d'affichage des bordures.

image.png

image.png

R07 : Sur les raccourcis clavier invisibles:

Sont intégrés à la fenêtre principale.
Ne sont associés à aucun bouton de la barre d'outils ou de la barre de menu.
Contiennent le raccourci clavier pour tout afficher (A), pour désactiver le choix de la position (ESCAPE)

image.png

F01 : Sur les fichiers sources modifiés:

src/main.cpp
src/cMainWindow.cpp
src/cMainWindow.h
src/cPopupMenuHolder.cpp
src/cPopupMenuHolder.h
src/resources.qrc


P05 : Initialisation de la barre de menu de la fenêtre principale


R01 : Sur la barre de menu:

Est intégrée à la fenêtre principale (cMainWindow)
Est réalisée avec la classe (QMenuBar) qui regroupe des menus (QMenu) qui rassemblent des actions (QAction).
Contient le menu d'aide (Help).

R02 : Sur le menu d'aide (Help):

Contient l'action Se connecter à OpenStreetMap (OpenStreetMap Login).
Contient l'action Télécharger les modification (Upload Edits).
Contient l'action Accéder aux préférences (Preferences).
Contient l'action Afficher la fiche À propos (About).
Contient l'action Quitter l'application (Exit).

image.png

image.png

F01 : Sur les fichiers sources modifiés:

src/cMainWindow.cpp
src/cMainWindow.h


P06 : Initialisation de la zone de cartographie de la fenêtre principale


R01 : La zone de cartographie:

Est utilisée comme widget central de la fenêtre principale (cMainWindow).
Prend en charge le rendu 3D avec OpenGL.
Est une classe (cDrawWidget) qui dérive de la classe (cMapWidget) qui a son tour dérive de la classe de base (QOpenGLWidget).
Est de fond noir par défaut.
Servira à dessiner la cartographie pour la navigation par GPS.

image.png

F01 : Sur les fichiers sources modifiés:

src/cMainWindow.cpp
src/cMainWindow.h
src/cDrawWidget.cpp
src/cDrawWidget.h
src/cMapWidget.cpp
src/cMapWidget.h


P07 : Initialisation des boutons de téléchargement de la cartographie


R01 : Les boutons de téléchargement de carte:

Sont placés dans la zone de cartographie.
Sont invisibles par défaut. - Ont un texte de couleur noir.
Sont des objets de type (QPushButton).
Affiche l'état de téléchargement dans une zone d'affichage (R02).

R02 : La zone d'affichage:

Est placé dans la zone de cartographie.
Est invisible par défaut.
Est un texte de couleur noir.
Est un objet de type (QLabel).
Affiche l'état de téléchargement.

image.png

image.png

F01 : Sur les fichiers sources modifiés:

src/cMainWindow.cpp
src/cMainWindow.h