Objectif
Lister l’ensemble des classes de l’API Python pour Mari.
En pratique
Voici la liste des Classes du package Mari obtenu via le petit script ci-dessous.
1 2 | import mari print "\n".join(dir(mari)) |
On y accède de la façon suivante:
1 2 | mari.ClassName print dir(mari.ClassName) # Pour lister les méthodes associées à la Classe |
J’ai également ajouté la description de la doc (2.0v1) pour chacune de ces classes.
ChannelInfo – Color – FileList – FloatSlider – GeoEntity – Image – ImageSet – IntSlider – Layer – LayerStack – LineEdit – Palette – Ptex – Settings – VectorN – […] – actions – app – canvases – clock – colors – ddi – examples – geo – gl_render – history – images – lights – menus – palettes – patch_links – prefs – projection – projectors – projects – resources – shelves – system – tools – utils
Class | Description | ||
---|---|---|---|
ChannelInfo | Fournit des informations sur un Channel à créer ou importer. | ||
Color | Les objets de cette classe contiennent des informations sur une valeur de couleur individuelle. Tous les canaux sont précisés dans l’intervalle [0, 1]. Ainsi une valeur à 1 correspond à une intensité de 100%. Les valeurs RGB et HSV/L sont mises à jour automatiquement. Par exemple, si vous définissez une valeur RVB, vous pouvez immédiatement récupérer l’équivalent HSV. |
||
FileList | Stocke la liste des fichiers et des répertoires qui peuvent être utilisés pour des valeurs personnalisées. | ||
FloatSlider | Fournit un widget de type slider pour nombres à virgule. | ||
GeoEntity | Ce sont les mailles géométriques appelés « objets » dans l’interface graphique. | ||
Image | Ces objets contiennent des images 2D individuelles. Vous pouvez accéder aux images, soit depuis un ImageSet soit via l’ImageManager. Par exemple:
|
||
ImageSet | Regroupement d’une ou plusieurs images ou texture Ptex, pouvant être manipulé comme un groupe. Il existe deux types d’images pour un ImageSet:
Les ImageSet peuvent être manipulés comme un tout, ce qui permet d’appliquer les mêmes opérations sur plusieurs images à la fois.
|
||
IntSlider | Fournit un widget de type slider pour nombres entiers. | ||
Layer | Un Layer de Channel est une opération de données d’image pouvant être empilé avec d’autres Layers. Chaque Layer peut contenir ses propres données (ex: PaintableLayer) qui peuvent être mélangées avec d’autres Layers dans un empilement appelé LayerStack. Il existe d’autres types de Layers:
Chaque Layer peut également contenir un masque.
|
||
LayerStack | Il s’agit de l’interface permettant de créer, de déplacement et de supprimer tout Layer ayant un empilement LayerStack. Pour cela, il faut passer par les méthodes retournées par LayerStack.
|
||
LineEdit | Fournit un widget de type slider pour nombres entiers (par défaut) ou nombres à virgule. | ||
Palette | Les Palettes sont des widgets « encastrables » qui peuvent être déplacés et configurés par l’utilisateur. Vous pouvez accéder à celles-ci via le PaletteManager.
|
||
Ptex | Donne accès aux scripts pour les images de type Ptex. Ptex est un système de mapping de texture développé par Walt Disney Animation Studios pour une meilleure qualité de rendu:
|
||
Settings | Les utilisateurs peuvent charger et sauvegarder leurs propres paramètres personnalisés au sein de Mari. | ||
VectorN | Les objets de cette classe détiennent des coordonnées multidimensionnelles. Toutes coordonnées représentant des valeurs d’UVs, 3D ou 4D doivent être stockées dans des objets de ce type. |
||
__builtins__ | |||
__doc__ | |||
__file__ | |||
__name__ | |||
__package__ | |||
__path__ | |||
actions | Gère la création et la manipulation d’actions Mari. Celles-ci sont utilisées comme des commandes de menu, et il est possible de leur assigner des raccourcis clavier. Par défaut, toute action créée en script sera située dans « /Mari/Scripts », mais ce chemin est personnalisable afin d’éviter les conflits. Mari stocke toutes les actions disponibles dans un arbre, et les actions sont identifiées par leur chemin à l’intérieur de cet arbre. Par exemple: « /Mari/Tools/TestTool » se réfère à une action appelée « TestTool » faisant partie de la sous catégorie « Tools ». |
||
app | Cet objet gère les opérations de base à effectuer sur l’ensemble de l’application. | ||
canvases | Cet objet gère la liste des Canvases et Viewports disponibles dans le projet. | ||
clock | Contrôles de l’horloge interne de Mari. Permet de contrôler la lecture de l’animation. Diverses choses peuvent être animées dans Mari, y compris la géométrie, les caméras, et les textures. Le frame range peut être paramétré et l’animation peut être lancée à l’endroit ou à l’envers. Le comportement en fin d’animation peut lui aussi être personnalisé: arrêt, boucle, rebond. |
||
colors | Donne accès aux diverses fonctionnalités liées aux couleurs. Cela comprend l’attribution et la récupération des couleurs l’avant et arrière plan. |
||
ddi | Cette classe permet d’accéder à certaines fonctionnalités du Dynamic Data Interface de Mari. L’interface dynamique de données, ou DDI, est le système de gestion de données de bas niveau dans Mari. Ce système gère les caches sur disque et en mémoire. Il est donc possible de ester les performances de Mari sur des systèmes différents. Par exemple en définissant la taille du cache à 1 Go (n’oubliez pas de le reset par après) puis à 4 ou 5Go. Cela garantit que toute la mémoire créé lors de l’essai est sauvegardé et chargé. Vous devez utiliser un nouveau projet vide pour ce genre de tests. |
||
examples | Exemples de scripts Mari. | ||
geo | Gère les objets (géométries) du projet. Mari peut gérer de nombreux objets 3D à la fois. Chaque objet ou entité 3D peut avoir plusieurs représentations géométriques. Cette interface permet à l’utilisateur d’interroger les listes d’objets, d’en ajouter ou enlever, et d’ainsi mettre en place une scène. |
||
gl_render | Gère le module de rendu OpenGL de Mari et les objets associés. Mari utilise OpenGL pour la 3D et cet objet donne donc accès à au moteur de rendu, permettant notamment a configuration des shaders disponibles mais aussi d’autres paramètres. Pour les Shaders il faut passer par les méthodes sur les objets GeoEntity. |
||
history | Permet d’accéder à l’historique de Mari, et ainsi à l’annulation. L’historique est uniquement disponible pour le projet courant et sera perdu lors de la fermeture de celui-ci. Il n’est pas possible d’effectuer des opérations lorsque aucun projet n’est ouvert. |
||
images | Gère les images disponibles dans l’application. | ||
lights | Gère les lumières de la scène. | ||
menus | Gère la création et la manipulation des menus. Les chemins des menus sont tous divisés en trois parties:
Cette répartition se fait automatiquement par les différentes fonctions de la classe, mais il est nécessaire de fournir au moins un « set » et un « root » pour ajouter une action. |
||
palettes | Gère la création et la manipulation des palettes. Elles peuvent être déplacées et configurées par l’utilisateur. |
||
patch_links | Créer et gérer des groupes d’images liées. Partager leurs contenus d’images sous-jacentes. Ainsi, si vous peignez sur un Patch lié, tous les autres Patchs liés sont mis à jour. Actuellement, l’API restreint les liens aux objets Image d’un même ImageSet. |
||
prefs | Gère la récupération et la modification des préférences de l’utilisateur. Mari sépare les préférences en groupes et sous-groupes. Dans la boîte de dialogue de préférence, un groupe est représenté par une « tab », et un sous-groupe par une zone de groupe. Les groupes de préférences et les préférences sont accessibles d’une manière similaire à une structure de dossiers et de fichiers. Par exemple, list() peu retourner (‘Data/’, ‘Scripts/’), et pour appeler leurs sous-groupes list(‘Data ‘). Toutes les préférences ont un groupe et sous-groupe, donc les valeurs seront toujours accessibles sous la forme:
|
||
projection | Gère les paramètres de projection du Buffer. | ||
projectors | Cet objet gère les objets de projection du projet, y compris leur création et listing. | ||
projects | Accès à l’ouverture, la fermeture et la manipulation des projets. Des informations sur les projets disponibles peuvent être accessible via la méthode list(). Elle renvoie des objets de type ProjetInfo contenant la description des projets qui peuvent être ouverts. Ces projets seront uniquement disponibles comme objets de type Project une fois ouverts. |
||
resources | Donne accès aux chemins des ressources de Mari et a certaines fonctions système. Les chemins fournis sont accessibles en utilisant un identifiant renvoyé par l’une des fonctions appropriées. Les nouveaux chemins ne peuvent actuellement pas être enregistrés via le script. La valeur actuelle d’un chemin est accessible de la façon suivante:
De nombreux chemins peuvent être remplacés par des variables d’environnement qui correspondent à la chaîne de caractère les identifiant. Par exemple, mari.resources.USER_SCRIPTS est paramétré sur la variable d’environnement « MARI_SCRIPT_PATH », et si une variable d’environnement avec ce nom existe au lancement de Mari, sa valeur sera stockée. |
||
shelves | Gère les Shelves disponibles, ou des ensembles de sets. | ||
system | Fonctionnalité du système Mari. | ||
tools | Fournit l’accès aux divers outils interactifs. | ||
utils | Script utils de Mari. |
Source: Doc Mari2.0v1