From eab476145ec3c5916980e4f9b82d2ab50171a8e6 Mon Sep 17 00:00:00 2001 From: Jean Sirmai Date: Thu, 3 Oct 2024 09:10:37 +0200 Subject: [PATCH] =?UTF-8?q?CONVENTIONS=20ET=20R=C3=88GLES=20DE=20NOMMAGE?= =?UTF-8?q?=202024=20+=20./instanced=5Fcubes=20=F0=9F=99=82=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- alphabetic_index.all | 53 ++++++++++++++++++++++++++++++++++++++++++- instanced_cubes | Bin 0 -> 45552 bytes src/main.c | 30 ++++++++---------------- 3 files changed, 62 insertions(+), 21 deletions(-) create mode 100755 instanced_cubes diff --git a/alphabetic_index.all b/alphabetic_index.all index 6de8682..b7238a6 100644 --- a/alphabetic_index.all +++ b/alphabetic_index.all @@ -1,6 +1,6 @@ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Gem-graph client * -* Alphabetic Index of functions names * +* Alphabetic Index of functions names * * * * Copyright © 2021 Libre en Communs * * Copyright © 2024 Jean Sirmai * @@ -21,6 +21,57 @@ * along with this program. If not, see . * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + + + + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * +* +* C O N V E N T I O N S E T R È G L E S D E N O M M A G E - 2 0 2 4 +* +* Toute fonction qui peut être appelée à partir d'un autre module +* doit indiquer, par son nom: +* +* - le lieu (le fichier) où elle est définie, +* - le type d'action qu'elle exécute et +* - l'objet ou les objets modifié.s par cette action. +* +* - - - +* +* Ces informations sont encodées au moyen de "préfixes" standardisés et +* le nom de chaque fonction est une combinaison/concaténation de ces préfixes. +* En octobre 2024, la première version de cet index classe en trois listes +* l'ensemble des préfixes préférentiellement utilisés. +* +* Ces listes sont en cours d'élaboration. +* Elles ne sont ni limitatives ni ordonnées. +* +* - - - +* +* Les fichiers sont définis par leur adresse dans la hiérarchie "src": +* ex: /graphics/draw/ +* /fsm/measures/manager/ +* /util/draw/gl/ +* /widget/one_rule/algebra/assign/ +* +* Liste des préfixes indiquant la fonction: +* get, set, reset, read, write, print, edit, concat, design, +* init, create, add, remove, trigger, draw, erase, restore, push +* setup, shutdown, update, list, sort, seek, select, fix, debug, +* render, realize, unrealize, activate, exec, stop, signal, +* +* Liste des objets sur lesquels agissent les fonctions: +* number, string, view, window, list, tree, stack, +* state, rules, data, results, image, stock, +* widget, button, slider, color, +* glarea, shader, file, buffer, +* point, line, plan, space_unit, site, arrow, slot, vertex, ridge, +* callback, signal, +* +* * * * * * * * * * * * * * * * * * * * * * * * * * */ + + + concat util/strings_op create_axis_slider util/draw/gl 223 free_stack_slot graphics/init 36 diff --git a/instanced_cubes b/instanced_cubes new file mode 100755 index 0000000000000000000000000000000000000000..885948f4fd8a3cf1d76cffdb3410c91b3d8d2e6e GIT binary patch literal 45552 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 z�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 Y!EL^V#h%Ih_WS=