/ Enseignements / Atelier Hypermédia / Happy Code Farm / OpenFrameworks

Objets dynamiques (list & vector)

Ces deux exemples montrent comment créer dans votre programme OpenFrameworks un ensemble d’objets à taille variable. Avec cette méthode de programmation, vous pourriez par exemple démarrer votre programme avec un écran vide qui se remplirait au fur et à mesure que le programme évolue ; de même, vous pourriez faire disparaître ces mêmes élements pendant la vie du programme sans se soucier de la gestion de mémoire, etc. Cette variabilité est difficile à obtenir en C++ avec des formes classiques du « array », puisqu’en C++ on est obligé de gérer sans faute la création et l’extinction des objets dans notre programme : si vous avez toujours le même nombre d’objets, cela ne pose aucun problème ; mais à partir du moment où vous voulez ajouter ou enlever un objet ou deux, vous risquez de créer un phénomène de « fuite de mémoire » (memory leaks) où votre programme se zombifie avec une suite d’objets qui refusent de mourir et prennent de plus en plus de place dans votre machine.

Pour éviter ces problèmes, deux solutions : Vector ou List. La différence des deux solutions concerne la facilité d’utilisation contre la vitesse de son execution. Les Vector sont plus faciles à utiliser, mais plus lent que les List. Dans le cas du List, il faut absoluement utiliser un « iterator » pour accéder à chaque élement dans votre liste, alors qu’un Vector permet d’accéder de façon classique en écrivant nomDuVector[position].

Les deux exemples OpenFrameworks suivants montrent ces deux principes à l’oeuvre.


ListExample

Cliquer sur l’icône pour télécharger les codes sources du programme OpenFrameworks. Pour utiliser ce programme, aller dans votre dossier "of_v0.##/apps/examples/" ; faites une copie (dupliquer) de votre "_emptyExample" en lui donnant un nouveau nom. Décompressez ensuite notre exemple, sélectionner le dossier "src" de notre exemple et copiez-le dans le dossier de notre nouveau projet (ceci devrai écraser l’ancien "main.cpp", "testApp.cpp", et "testApp.h"). Compilez enfin votre programme et l’executez.


VectorExample

Cliquer sur l’icône pour télécharger les codes sources du programme OpenFrameworks. Pour utiliser ce programme, aller dans votre dossier "of_v0.##/apps/examples/" ; faites une copie (dupliquer) de votre "_emptyExample" en lui donnant un nouveau nom. Décompressez ensuite notre exemple, sélectionner le dossier "src" de notre exemple et copiez-le dans le dossier de notre nouveau projet (ceci devrai écraser l’ancien "main.cpp", "testApp.cpp", et "testApp.h"). Compilez enfin votre programme et l’executez.

Ecole d’Art d’Aix en provence - http://ecoleart.cluster011.ovh.net