Roxame.Fonctionnement

Publié le par Pierre Berger

 
Fonctionnement général de Roxame
 
Pierre Berger 3/2007
 
Roxame interprète dans son code C++ spécifique les termes figurant dans son dictionnaire (actuellement 1400 termes environ) donnant pour chaque terme sa catégorie et sa définition. Ce dictionnaire est constamment évolutif, de nouveaux termes étant construits soit à partir d'autres termes (macro), soit par l'écriture d'une routine en C++.
 
Actuellement, l'exécution se fait terme par terme. Il n'y a pas à proprement parler de structure de contrôle, sinon la boucle obtenue par récursion.
 
En revanche, une bonne partie des termes s'exécutent en tenant compte d'un contexte préalablement initialisé ou modifié, notamment :
- pour certains termes, un paramètre numérique explicitement indiqué avant le terme (par exemple 10 ranfuzz applique un "flou aléatoire" sur une matrice de 10.10,
- le plus souvent, par fixation d'autres paramètres par des termes, par exemple one large blue house créera une grande maison aux murs bleus en position centrale ; cela peut s'appliquer à tout un processus par exemple sad abstract construit (à partir de rien) une image abstraite aux couleurs grises ;
- ce paramétrage s'applique en particulier pour le dessin des formes, dont on précise au préalable la position, la dimension, les proportions, la couleur, l'épaisseur, le style plus ou moins rigide.
 
L'essentiel du fonctionnement consiste à exécuter la boucle work.
 
Selon la catégorie :
- (macro) Roxame exécute successivement les termes donnés dans la définition
- (synonym) Roxame exécute le terme donné dans la définition
- (cinematics, et plusieurs autres catégories) Roxame exécute la routine donnée par le numéro.
 
Séquence de la session globale
 
a_day              macro              awakening palettes nw question work closure
awakening     cinematics       1
palettes           macro             colors tubess pals       
nw                    cinematics        6         
question         cinematics       7         
work                macro             nw logw zzzgen fnd work (noter que le terme work , in fine, s'appelle lui-même, entraînant le fonctionnement en boucle)
closure            macro             br        
 
Exécution d'une oeuvre
 
zzzgen            synonym          gen65 gen01 recsu rec_subject
 
Décomposition de la macro quand elle est trop longue
 
gen65              macro             gen65_1 gen65_2 gen65_3 gen65_4           
gen65_1          macro             load maxcuth segment segapla0 sat+ tres    
gen65_2          macro             load maxcutv segment segapla0 sat+ reload7          
gen65_3          macro             tres gradient1 reload3           
gen65_4          macro             lighten lighten tres load gradient reload3     
 
Appel d'une fonction C++
(d'abord une fonction d'aiguillage selon la catégorie, puis la fonction proprement dite)
 
load                cinematics       926     
 
void Cinematics (int nummdop)
{
int minhuetube, maxhuetube ,lochuetube ; bool resf ;
....
switch (nummdop){
case 1 :   //=======awakening
... break;
...
 
case 926 : Load(); break ;
...
}
 
La fonction proprement dite (extrait)   
 
void Load()
{
int loaddeb ;
loadeddoc = true;
 
...
 
Xammaq = new Graphics::TBitmap();
 
Xammaq->LoadFromFile(chained); (fonction fournie par le compilateur)
locwidth = Xammaq->Width,Xammaq->Width;
locheigth = Xammaq->Height, Xammaq->Height;
 
...
delete (Xammaq);
if (rotated_doc == true) Log("Rotated document") ;
Affich();
}
 
 
Extraits du dictionnaire, classé par catégories
 
augment                   action
average                    action
rotate                        action
 
:                                 cinematics
??                             cinematics
//                                cinematics
$                               cinematics
**                              cinematics
<                               cinematics
=                               cinematics
µ                               cinematics
affcolormode          cinematics
affcolorsetname    cinematics
cgeom                     cinematics
cgeomrd                 cinematics
load                         cinematics
reload                     cinematics
 
base_yellow                    color
black                                 color
bladder_green               color
 
class_to_region        evaluation
classify                        evaluation
critic                             evaluation
declass                      evaluation
densciel                     evaluation
histo_brights            evaluation
rec_e                         evaluation
rec_f                          evaluation
rec_greenery           evaluation
 
absolute_BW             filter
contours                     filter
contours10                filter
dark+sat                     filter
gradation                    filter
gradation10               filter
gradation11               filter
ranfuzz                        filter
x                                  filter
X                                 filter
 
arrow_left                    form
ellipse                         form
pixel                             form
triangle_down            form
 
frame_difg          geometry
strech                  geometry
sym45                 geometry
sym48                geometry
 
a_day               macro
academy         macro
additive           macro
fnd                   macro
forest              macro
gen01            macro
gen1               macro
gen10              macro
...
gen65_1          macro
gen65_2          macro
gen65_3          macro
gen65_4          macro
gen66 macro
geom10           macro
geom11           macro
mod1               macro
mod10            macro
rend1              macro
rend10            macro
rend11           macro
 
bermuda           model
board                model
boat                  model
dish_washer   model
door                  model
factory              model
milk                 model
mini_jupe        model
side-barb         model
woman_body model
woman_face   model
 
colormoderef  parameter
colorref             parameter
densblue         parameter
RGBblue         parameter
RGBgreen      parameter
 
A                      position
centre            position
coin                position
Publicité

Publié dans Coopération

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article