Mettre en pause l'exécution d'un algorithme [Résolu]

nisaloncaje 154 Messages postés samedi 7 janvier 2006Date d'inscription 28 septembre 2008 Dernière intervention - 20 juin 2006 à 14:54 - Dernière réponse : nisaloncaje 154 Messages postés samedi 7 janvier 2006Date d'inscription 28 septembre 2008 Dernière intervention
- 21 juin 2006 à 09:52
Bonjour,

J'utilise dans mon programme, pour l'affichage graphique gluttimerfunc (déclenche un rafraichissement de l'image toutes les 30 millisecondes).
L'image contient notamment un pavé tournant, je ne peux donc pas arrêter le rafraichissement de l'image

Parallement, j'utilise du picking en opengl, et donc, quand je clique sur un objet de ma scène, deux algorithmes se déclenchent l'un après l'autre. J'aimerais cependant que, entre ces deux algorithmes, il y ait une pose de 1000 millisecondes (une seconde) sans que la brique arrête de tourner

Comment faire ?

Merci d'avance

NC
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
nisaloncaje 154 Messages postés samedi 7 janvier 2006Date d'inscription 28 septembre 2008 Dernière intervention - 21 juin 2006 à 09:52
3
Merci
ben le contexte, je vous l'ai déjà expliqué plus haut ;)

Cependant, j'ai compris ce que vous me conseillez, je pense pouvoir le faire, mais pour moi ca a un gros inconvenient : dans le programme ca devient un peu bazar après parce que on retourne toujours avec la fonction appelée par le gluttimerfunc, on casse des fonctions pour y aller ... Existerait-il une autre solution ?

Merci nisaloncaje 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de nisaloncaje
luhtor 2023 Messages postés mardi 24 septembre 2002Date d'inscription 28 juillet 2008 Dernière intervention - 20 juin 2006 à 15:03
0
Merci
Je comprend pas et je vois pas l'intérêt de vouloir attendre :) expliques d'avantage plz
Commenter la réponse de luhtor
nisaloncaje 154 Messages postés samedi 7 janvier 2006Date d'inscription 28 septembre 2008 Dernière intervention - 20 juin 2006 à 15:29
0
Merci
ben en fait, le premier algorithme génère quelques variables qui vont coder pour des effets graphiques (un autre objet de la scène tourne si on clique dessus). J'aimerais que cette rotation soit terminée (donc au bout d'environ 0.8 secondes -> on arrondit à 1) avant de déclencher le second algorithme

Voila ++
Commenter la réponse de nisaloncaje
luhtor 2023 Messages postés mardi 24 septembre 2002Date d'inscription 28 juillet 2008 Dernière intervention - 20 juin 2006 à 16:11
0
Merci
Bas simplement avant de démarrer le second algo, tu attends que la
rotation soit finis. Genre un bool qui dit que le deuxième algo doit
démarrer a la fin de la rotation. Tu testes des que la rotation est
terminer, tu éxécutes le second algo.
Commenter la réponse de luhtor
nisaloncaje 154 Messages postés samedi 7 janvier 2006Date d'inscription 28 septembre 2008 Dernière intervention - 20 juin 2006 à 18:20
0
Merci
Oué mais dans ce cas là il y a un os :

on reprend :

clic->picking->algorithme1->rotation1
parallèlement gluttimerfunc
bon, la question est : comment attendre, car si je fais comme vous dites, et que j'utilise un bool : on a, tant que rotation1 n'est pas terminée un while qui bouffe tout le processeur et qui empèche le gluttimerfunc de tourner

Je ne vois donc pas trop comment vous voulez que je fasse :(
Commenter la réponse de nisaloncaje
luhtor 2023 Messages postés mardi 24 septembre 2002Date d'inscription 28 juillet 2008 Dernière intervention - 20 juin 2006 à 19:27
0
Merci
Mais avec ce bool, tu n'as plus besoin de timer. Apres chaque affichage
de l'image, tu regardes si tu as fini la rotation et si l'algo2 doit
etre exécuté, auquel cas, tu l'appelles.
Commenter la réponse de luhtor
nisaloncaje 154 Messages postés samedi 7 janvier 2006Date d'inscription 28 septembre 2008 Dernière intervention - 20 juin 2006 à 20:57
0
Merci
donc ce que vous préconisez et que je mette le "déclencheur" dans la fonction appelé par gluttimerfunc ?

Et que dans ce cas là; je fasse un test du genre : SI non finis à l'affichage précédent AND finit maintenant THEN on lance algo 2 ?
Commenter la réponse de nisaloncaje
luhtor 2023 Messages postés mardi 24 septembre 2002Date d'inscription 28 juillet 2008 Dernière intervention - 20 juin 2006 à 22:15
0
Merci
Ce que je ferais: Un bool B1 pour dire "l'algo doit etre lancé" puis un autre B2 pour savoir si "la rotation est en cours".

Et donc if B1 and not B2 alors B1 = false puis sque tu veux.


Enfin j'ai du mal a percevoir la solution puisque je vois pas le contexte de ton programme.
Commenter la réponse de luhtor

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.