IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GLUT Discussion :

glut + interpreteur de commande


Sujet :

GLUT

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Février 2007
    Messages : 106
    Par défaut glut + interpreteur de commande
    Salut a Tous,

    Voila, je voulais ajouter a mon application glut, une sorte d' interpreteur de commande interactif pour pouvoir modifier les objets afficher avec glut

    pour ca j'ai pense a un code genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    #include <signal.h>
     
    typedef void (*sighandler_t)(int);
    char c = '\0';
     
    char pp[7] = "Shell> ";
     
    void handle_signal(int signo)
    {
    	printf("%s",pp);
    	fflush(stdout);
    }
     
    int main(int argc, char *argv[], char *envp[])
    {
    	signal(SIGINT, SIG_IGN);
    	signal(SIGINT, handle_signal);
    	printf("%s",pp);
    	while(c != EOF) {
    		c = getchar();
    		if(c == '\n')
    			printf("%s",pp);
    	}
    	printf("\n");
    	return 0;
    }
    Il faudrait rajouter un parsing the commande entre par l'utilisateur, mais la structure est la.

    parcontre, je ne vois pas du tout comment incorporer ca dans le code glut.....
    comment mettre ensemble la boucle while(c!=EOF){} avec glutMainLoop() ??

    merci de votre aide

    Dave

  2. #2
    Membre émérite Avatar de MatRem
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 750
    Par défaut
    Je pense que tu au moins deux solutions :
    • soit il faut que tu passes par les threads pour accèder à la console sans "arréter" la boucle glut (tu peux aussi choisir de l'arréter, par exemple à l'appui de F1 tu passes sur ta boucle de lecture, mais ça va pas être joli car ta fenêtre ne sera plus redessinée );
    • soit tu passes par la gestion des événements clavier de glut pour gérer l'entrée de commandes (par exemple appui sur F1 => on commence à prendre en compte les lettres du clavier, appui sur les lettres => on construit la commande par concaténation, appui sur entrée => on active la commande, reappui sur F1 => on desactive la console).

  3. #3
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Février 2007
    Messages : 106
    Par défaut
    Citation Envoyé par MatRem
    [*]soit il faut que tu passes par les threads pour accèder à la console sans "arréter" la boucle glut (tu peux aussi choisir de l'arréter, par exemple à l'appui de F1 tu passes sur ta boucle de lecture, mais ça va pas être joli car ta fenêtre ne sera plus redessinée );
    T'as raison...pas super super....

    Citation Envoyé par MatRem
    [*]soit tu passes par la gestion des événements clavier de glut pour gérer l'entrée de commandes (par exemple appui sur F1 => on commence à prendre en compte les lettres du clavier, appui sur les lettres => on construit la commande par concaténation, appui sur entrée => on active la commande, reappui sur F1 => on desactive la console).[/LIST]
    Cette solution me parrait beaucoup mieux....mais est-ce que la scene sera toujours a l'ecran pendant que la console est active ?

  4. #4
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par dmichel
    T'as raison...pas super super....



    Cette solution me parrait beaucoup mieux....mais est-ce que la scene sera toujours a l'ecran pendant que la console est active ?
    Suffit de l'afficher avant d'afficher la console,
    Jc

  5. #5
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Février 2007
    Messages : 106
    Par défaut
    mais bien sur....question stupide

    merci les gars, je vais essayer ca

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. creation d'un interpreteur de commandes(fonctions)
    Par lord_abdennour dans le forum Langage
    Réponses: 1
    Dernier message: 12/05/2010, 16h46
  2. Erreur de compilation sur un interpreteur de commandes simples.
    Par Tibapbedoum dans le forum Autres éditeurs
    Réponses: 0
    Dernier message: 24/11/2008, 18h07
  3. crée un interpreteur de commande
    Par dalilnet dans le forum Général Java
    Réponses: 9
    Dernier message: 16/07/2008, 21h23
  4. Pipe (interpreteur de commande shell)
    Par Zohard dans le forum C
    Réponses: 3
    Dernier message: 18/05/2008, 22h32
  5. [VB.NET][script] Interpreteur de commandes
    Par ekinox17 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 18/04/2006, 16h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo