Satimage Précédent | Suivant
La graphic view
Accueil Documentation SmileLab Scripting Les objets graphiques Graphic view  
La graphic view, l'ancêtre commun à toutes les vues graphiques


La visualisation de données dans Smile repose sur les graphic views. Celles-ci sont des éléments de la fenêtre graphique : vous ne pourrez pas créer une graphic view en-dehors d'une fenêtre graphique.
make new picture view --> ERREUR: type d'objet inconnu
set w to make new graphic window
make new picture view at w -- correct

La classe graphic view est une classe abstraite : on ne crée jamais un objet de classe graphic view, on crée uniquement des objets d'une classe descendant de graphic view. De la même façon, on ne crée jamais d'objet de la classe chart view, qui elle-même est une classe virtuelle d'objets.
Les graphic views que vous manipulerez sont les suivantes :

  • picture view : pour afficher des graphiques PDF qui ne sont pas rattachés à des données numériques
  • chart view : classe abstraite dont héritent les deux classes suivantes
  • plot view : pour tracer des courbes de la forme y=f(x)
  • planar view: pour afficher des champs (scalaires ou vectoriels) définis dans un plan, par exemple (u(x,y), v(x,y))
  • view3D: pour tracer des objets dans l'espace, par exemple des surfaces paramétriques (x(u,v), y(u,v), z(u,v)), des courbes 3D, des triangles, des sphères, des cylindres, etc.
Toutes les classes qui descendent de la classe graphic view gèrent le verbe draw, à utiliser pour rafraîchir l'affichage d'un objet.
set w to make new graphic window
set v to make new picture view at w
-- d'autres instructions
draw v -- ne rafraîchit que l'affichage de v
draw w -- redessine l'ensemble de la fenêtre

Les coordonnées
Dans cette section vous trouverez d'une part les conventions qui définissent les coordonnées dans les graphic views, d'autre part les instructions pour régler les dimensions de vos graphiques. Dans les cas simples, et notamment si vous utilisez QuickPlotLib, les réglages par défaut sont satisfaisants : cette section peut ne pas être nécessaire dans un premier temps.

frame, la zone d'affichage de l'objet graphique

Les frames des objets graphiques : les unités des propriétés frame sont donnés en pixels (1/72e de pouce, soit 0,353 mm).

Chaque graphic view possède une propriété frame, qui indique le rectangle à l'intérieur duquel elle est affichée. Les conventions pour frame, qui a la forme d'une liste de réels {x0, y0, dx, dy} donnés en pixels, sont identiques aux conventions pour la propriété frame de la fenêtre graphique.
Notamment, si vous chargez un dessin PDF dans une des propriétés back pdf ou front pdf d'une graphic view, le PDF s'affiche dans le rectangle défini par frame.

Une graphic view ne peut pas produire de graphique en-dehors de son cadre défini par frame. Par conséquent le rectangle indiqué par frame doit contenir les axes, les légendes, les légendes des axes, et le plot frame --- comme c'est le cas par défaut.

plot frame, la zone d'affichage des données


Les plot frames d'une graphic view : les coordonnées de ces plot frames sont relatifs à la vue qui les contiennent.

Les classes descendant de la graphic view définissent, outre la propriété frame décrite ci-dessus, une propriété plot frame. Le plot frame est le rectangle dans lequel la graphic view affiche les données numériques qui lui sont attachées.

convert coordinates
Dans le plot view et dans le planar view, les limites du graphique en unités utilisateur (propriété limits) sont en correspondance avec le plot frame en pixels. Les unités utilisateur peuvent être converties en pixels au moyen de la commande convert coordinates, qui requiert qu'on lui indique la graphic view relativement à laquelle effectuer la conversion.
Remarquez qu'en général, l'origine des coordonnées de la graphic view ne coïncide pas avec l'origine des coordonnées de la fenêtre graphique.
set w to make new graphic window
set v to make new plot view at w
draw v
convert coordinates {0, 0} in v
-- {50.0, 50.0}
La propriété fill color permet de donner une couleur rgba au fond de la zone d'affichage des données (le plot frame). Elle peut être transparente (si a=0).

Dans la view3D, le plot frame décrit le rectangle de la fenêtre à l'intérieur duquel les objets visibles sont projetés.

English version
Copyright ©2008 Paris, Satimage