OpenGL, GLUI
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

OpenGL, GLUI



  1. #1
    Médiat

    OpenGL, GLUI


    ------

    Bonjour,

    J'utilise la librairie GLUI (avec VS 2017), en particulier l'objet GLUI_FileBrowser, qui permet de se promener sur le disque, mais je ne sais pas comment fixer le type de fichiers à afficher (*.doc, par exemple), si quelqu'un a une idée ...

    -----
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  2. #2
    champetre

    Re : OpenGL, GLUI

    Bonjour,

    En toute logique, tu dois trouver ça dans la doc de la bibliothèque (et pas librairie, mauvaise traduction de l'anglais library)

  3. #3
    Médiat

    Re : OpenGL, GLUI

    Bonjour,

    Malheureusement la doc n'est pas très explicite : GLUI: GLUI_FileBrowser class Reference (uaf.edu)
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  4. #4
    pm42

    Re : OpenGL, GLUI

    J'ai l'impression que si c'est possible, c'est avec le callback : j'ai lu le code source de GLUI_FileBrowser et de ce que j'en comprends, il lit le répertoire, met la liste des fichiers dans une variable public "list" de type GLUI_List (en plus d'autres trucs) puis appelle le callback en se passant lui même.

    Donc il y a une chance qu'on puisse écrire un callback, un classe de type GLUI_CB qui surcharge l'opérateur "()", prend son argument de type GLUI_Control, le downcaste en GLUI_FileBrowser et modifie dedans "list" pour ne garder que les noms de fichier que tu veux.

    Je ne peux pas tester facilement, je peux me tromper et pour tout te dire, il faut vraiment que je t'aime bien pour avoir été jusque là parce que outre la documentation inexistante, le code me donne envie de tuer des gens.

    P.S : une autre solution serait de dériver la classe GLUI_FileBrowser, de surcharger fbreaddir, de recopier son code ici https://github.com/libglui/glui/blob...ilebrowser.cpp, et d'ajouter ton filtre en priant pour que ça n'appelle que des méthodes public et protected

    La vraie solution si tu étais un informaticien serait de consacrer une période de ta vie à réécrire tout ça en expliquant que c'est un gros tas de merde conçu par des amateurs qui n'arriveraient pas à écrire printf("Hello World!\n"); sans y coller un bug, de tout mettre en open-source puis de passer à autre chose laissant le truc ne pas être maintenu et non documenté

  5. A voir en vidéo sur Futura
  6. #5
    Médiat

    Re : OpenGL, GLUI

    Merci beaucoup pm42, pour le temps passé (perdu)

    Je ne suis pas hyper fan de GLUI, mais cela m'a permis de me consacrer exclusivement à la partie "intelligente" de mes programmes, sans perdre trop de temps sur l'interface.

    Je vais regarder la solution callback de plus près (je me disais que si c'était le cas, quelqu'un l'aurait fait...)

    Je te mets des screenshots (l'un permet de créer des coquillages (tous types) l'autre des figures géométriques (dome de batiment (tous les batiments religieux que je connais), chapeau, corbeille à papier, glace italienne ...)
    Images attachées Images attachées
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  7. #6
    pm42

    Re : OpenGL, GLUI

    Citation Envoyé par Médiat Voir le message
    Je vais regarder la solution callback de plus près (je me disais que si c'était le cas, quelqu'un l'aurait fait...)
    Là intuitivement, j'essaierais plutôt l'autre solution qui est de dériver la classe GLUI_FileBrowser mais tu fais comme tu veux. Si tu bloques, poste ton code et je pourrai t'aider.

  8. #7
    Médiat

    Re : OpenGL, GLUI

    Le côté "en priant pour..." m'avait dissuadé de cette direction.

    L'amélioration obtenue étant de faible amplitude, je ne voudrais pas que tu perdes du temps (ni que tu vois du code écrit avec les pieds ), merci néanmoins de ta proposition, si cela t'amuses (et uniquement dans ce cas) je te transmettrais le code (je suis le seul utilisateur, alors ce n'est pas grave)
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  9. #8
    pm42

    Re : OpenGL, GLUI

    Aucun problème, n’hésites pas.

  10. #9
    Médiat

    Re : OpenGL, GLUI

    Envoies-moi une adresse mail perso par mp et je t'envoies les fichiers (pour VS), Tant pis pour toi ...
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  11. #10
    polo974

    Re : OpenGL, GLUI

    j'ai survolé le code, mais j'ai l'impression que la fonction de listage du dossier (GLUI_FileBrowser::fbreaddir) est codée en dur et n'est pas virtual.

    la callback, sauf erreur, c'est pour les events...

    sinon, dériver la classe avec un nouveau constructeur qui passe une nouvelle fonction de listage (à écrire aussi).

    en windows, le filtrage semble très simple ( FindFirstFile ).
    en unix, c'est moins facile.

    https://github.com/libglui/glui/blob...ilebrowser.cpp

    autre solution bien pourrave: après instanciation de la GLUI_FileBrowser, "nettoyer" la GLUI_List interne heureusement public ...

    https://github.com/libglui/glui/blob...lude/GL/glui.h
    Jusqu'ici tout va bien...

  12. #11
    Médiat

    Re : OpenGL, GLUI

    Merci polo,

    J'ai l'impression que la dernière solution est une de celle de pm42 (avec le même avis)
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  13. #12
    pm42

    Re : OpenGL, GLUI

    Citation Envoyé par polo974 Voir le message
    j'ai survolé le code, mais j'ai l'impression que la fonction de listage du dossier (GLUI_FileBrowser::fbreaddir) est codée en dur et n'est pas virtual.
    Effectivement, encore un grand moment sur le thème de "on ne sait pas programmer" couplé avec "Stroustrup est un rigolo qui nous a donné un langage où les méthodes ne sont pas virtuelles par défaut en plus d'avoir inventer la syntaxe cout <<, catastrophe absolue mais qui lui a permis de montrer qu'il était plus malin que Ichbiah au détriment de tous les programmeurs qui ont utilisé son langage".

    Bien vu de la part de polo974. Je n'utilise plus que des langages où on peut par défaut surcharger les méthodes, en gros tous à part C++ et donc j'ai raté ça.

Discussions similaires

  1. OpenGL et les polygones
    Par SPH dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 04/12/2020, 14h59
  2. [ada]Gtk+opengl
    Par invite5b15e04d dans le forum Programmation et langages, Algorithmique
    Réponses: 6
    Dernier message: 24/10/2015, 20h04
  3. Interface GLUI
    Par Médiat dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 30/03/2012, 14h08
  4. probleme 3D opengl c+
    Par invite85257474 dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 22/11/2011, 18h16
  5. Opengl
    Par invite591b481e dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 17/05/2010, 12h39
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...